1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/webrick/test_htmlutils.rb
nobu 88bcccd433 webrick: fix non-ascii escape bugs
* lib/webrick/htmlutils.rb (WEBrick::HTMLUtils#escape): replace HTML
  meta chars even in non-ascii string.  [Bug #8425] [ruby-core:55052]
* lib/webrick/httputils.rb (WEBrick::HTTPUtils#{_escape,_unescape}):
  fix %-escape encodings.  [Bug #8425] [ruby-core:55052]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 01:40:30 +00:00

20 lines
754 B
Ruby

require "test/unit"
require "webrick/htmlutils"
class TestWEBrickHTMLUtils < Test::Unit::TestCase
include WEBrick::HTMLUtils
def test_escape
assert_equal("foo", escape("foo"))
assert_equal("foo bar", escape("foo bar"))
assert_equal("foo&amp;bar", escape("foo&bar"))
assert_equal("foo&quot;bar", escape("foo\"bar"))
assert_equal("foo&gt;bar", escape("foo>bar"))
assert_equal("foo&lt;bar", escape("foo<bar"))
assert_equal("\u{3053 3093 306B 3061 306F}", escape("\u{3053 3093 306B 3061 306F}"))
bug8425 = '[Bug #8425] [ruby-core:55052]'
assert_nothing_raised(ArgumentError, Encoding::CompatibilityError, bug8425) {
assert_equal("\u{3053 3093 306B}\xff&lt;", escape("\u{3053 3093 306B}\xff<"))
}
end
end