Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
rubygem-haml.13060
Always_escape_in_Haml.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File Always_escape_in_Haml.patch of Package rubygem-haml.13060
From 18576ae6e9bdcb4303fdbe6b3199869d289d67c2 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun <takashikkbn@gmail.com> Date: Thu, 9 Feb 2017 00:17:19 +0900 Subject: [PATCH] Always escape `'` in Haml::Helpers.#html_escape. In some tests, `attr_wrapper` is changed to be ignored. I'll split its fix to other commis because not Haml::Helpers but Haml::AttributeBuilder is responsible for that. --- lib/haml/helpers.rb | 2 +- test/engine_test.rb | 14 +++++++------- test/pretty_engine_test.rb | 14 +++++++------- test/pretty_results/just_stuff.xhtml | 4 ++-- test/results/just_stuff.xhtml | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) # jsuchome: Above shows files from original patch. # This is a backport to older version which did not contain # test/pretty_engine_test.rb and test/pretty_results/just_stuff.xhtml files diff --git a/lib/haml/helpers.rb b/lib/haml/helpers.rb --- a/lib/haml/helpers.rb +++ b/lib/haml/helpers.rb @@ -520,7 +520,7 @@ # Characters that need to be escaped to HTML entities from user input HTML_ESCAPE = { '&'=>'&', '<'=>'<', '>'=>'>', '"'=>'"', "'"=>''', } - HTML_ESCAPE_REGEX = /[\"><&]/ + HTML_ESCAPE_REGEX = /['"><&]/ if RUBY_VERSION >= '1.9' # Include docs here so they are picked up by Yard diff --git a/test/engine_test.rb b/test/engine_test.rb index 777790ff0..73e7abaa1 100644 --- a/test/engine_test.rb +++ b/test/engine_test.rb @@ -1066,8 +1066,8 @@ def test_attr_wrapper assert_equal("<p strange=*attrs*></p>\n", render("%p{ :strange => 'attrs'}", :attr_wrapper => '*')) assert_equal("<p escaped='quo\"te'></p>\n", render("%p{ :escaped => 'quo\"te'}", :attr_wrapper => '"')) - assert_equal("<p escaped=\"quo'te\"></p>\n", render("%p{ :escaped => 'quo\\'te'}", :attr_wrapper => '"')) - assert_equal("<p escaped=\"q'uo"te\"></p>\n", render("%p{ :escaped => 'q\\'uo\"te'}", :attr_wrapper => '"')) + assert_equal("<p escaped=\"quo'te\"></p>\n", render("%p{ :escaped => 'quo\\'te'}", :attr_wrapper => '"')) + assert_equal("<p escaped='q'uo\"te'></p>\n", render("%p{ :escaped => 'q\\'uo\"te'}", :attr_wrapper => '"')) assert_equal("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n", render("!!! XML", :attr_wrapper => '"', :format => :xhtml)) end @@ -1448,7 +1448,7 @@ render("%div{:data => {:one_plus_one => 1+1}}", :hyphenate_data_attrs => false)) - assert_equal("<div data-foo='Here's a \"quoteful\" string.'></div>\n", + assert_equal("<div data-foo='Here's a \"quoteful\" string.'></div>\n", render(%{%div{:data => {:foo => %{Here's a "quoteful" string.}}}}, :hyphenate_data_attrs => false)) #' end @@ -1604,9 +1604,9 @@ def test_new_attribute_parsing assert_equal("<a a2='b2'>bar</a>\n", render("%a(a2=b2) bar", :locals => {:b2 => 'b2'})) assert_equal(%Q{<a a='foo"bar'>bar</a>\n}, render(%q{%a(a="#{'foo"bar'}") bar})) #' - assert_equal(%Q{<a a="foo'bar">bar</a>\n}, render(%q{%a(a="#{"foo'bar"}") bar})) #' + assert_equal(%Q{<a a='foo'bar'>bar</a>\n}, render(%q{%a(a="#{"foo'bar"}") bar})) #' assert_equal(%Q{<a a='foo"bar'>bar</a>\n}, render(%q{%a(a='foo"bar') bar})) - assert_equal(%Q{<a a="foo'bar">bar</a>\n}, render(%q{%a(a="foo'bar") bar})) + assert_equal(%Q{<a a='foo'bar'>bar</a>\n}, render(%q{%a(a="foo'bar") bar})) assert_equal("<a a:b='foo'>bar</a>\n", render("%a(a:b='foo') bar")) assert_equal("<a a='foo' b='bar'>bar</a>\n", render("%a(a = 'foo' b = 'bar') bar")) assert_equal("<a a='foo' b='bar'>bar</a>\n", render("%a(a = foo b = bar) bar", :locals => {:foo => 'foo', :bar => 'bar'})) @@ -1619,8 +1619,8 @@ assert_equal(%Q{<a a='foo " bar'>bar</a>\n}, render(%q{%a(a="foo \" bar") bar})) assert_equal(%Q{<a a='foo \\" bar'>bar</a>\n}, render(%q{%a(a="foo \\\\\" bar") bar})) - assert_equal(%Q{<a a="foo ' bar">bar</a>\n}, render(%q{%a(a='foo \' bar') bar})) - assert_equal(%Q{<a a="foo \\' bar">bar</a>\n}, render(%q{%a(a='foo \\\\\' bar') bar})) + assert_equal(%Q{<a a='foo ' bar'>bar</a>\n}, render(%q{%a(a='foo \' bar') bar})) + assert_equal(%Q{<a a='foo \\' bar'>bar</a>\n}, render(%q{%a(a='foo \\\\\' bar') bar})) assert_equal(%Q{<a a='foo \\ bar'>bar</a>\n}, render(%q{%a(a="foo \\\\ bar") bar})) assert_equal(%Q{<a a='foo \#{1 + 1} bar'>bar</a>\n}, render(%q{%a(a="foo \#{1 + 1} bar") bar})) diff --git a/test/results/just_stuff.xhtml b/test/results/just_stuff.xhtml index d31dd78ba..742040d20 100644 --- a/test/results/just_stuff.xhtml +++ b/test/results/just_stuff.xhtml @@ -6,7 +6,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> -<strong apos="Foo's bar!">Boo!</strong> +<strong apos='Foo's bar!'>Boo!</strong> Embedded? false! Embedded? true! Embedded? true! @@ -60,7 +60,7 @@ <p class='article quux qux' id='article_1'>Blump</p> <p class='article' id='foo_bar_baz_article_1'>Whee</p> Woah inner quotes -<p class='dynamic_quote' dyn='3' quotes="single '"></p> +<p class='dynamic_quote' dyn='3' quotes='single ''></p> <p class='dynamic_self_closing' dyn='3' /> <body> hello
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor