summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-09 03:50:11 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-09 03:50:11 +0000
commit5a413ce4c01b34c46f55df7df97dd7dcea789b76 (patch)
tree812b569d50c737c109f2d9c54dcca4d503d449b8 /test
parent503e047eb8f4f78bdc38de181ecd0e86d2881981 (diff)
downloadruby-5a413ce4c01b34c46f55df7df97dd7dcea789b76.tar.gz
ruby-5a413ce4c01b34c46f55df7df97dd7dcea789b76.tar.xz
ruby-5a413ce4c01b34c46f55df7df97dd7dcea789b76.zip
* re.c (append_utf8): check unicode range.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_m17n.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb
index 28f636fc6..f0c98eb4e 100644
--- a/test/ruby/test_m17n.rb
+++ b/test/ruby/test_m17n.rb
@@ -446,6 +446,16 @@ class TestM17N < Test::Unit::TestCase
#assert_raise(SyntaxError) { s1, s2 = u('\xc2'), u('\xa1'); /#{s1}#{s2}/ }
end
+ def test_regexp_unicode
+ assert_nothing_raised { eval '/\u{0}/' }
+ assert_nothing_raised { eval '/\u{D7FF}/' }
+ assert_raise(SyntaxError) { eval '/\u{D800}/' }
+ assert_raise(SyntaxError) { eval '/\u{DFFF}/' }
+ assert_nothing_raised { eval '/\u{E000}/' }
+ assert_nothing_raised { eval '/\u{10FFFF}/' }
+ assert_raise(SyntaxError) { eval '/\u{110000}/' }
+ end
+
def test_regexp_mixed_unicode
assert_raise(SyntaxError) { eval(a(%{/\xc2\xa0\\u{6666}/})) }
assert_raise(SyntaxError) { eval(e(%{/\xc2\xa0\\u{6666}/})) }