aboutsummaryrefslogtreecommitdiffstats
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
commit5a1c2b2677129ffadde65633577f7e0a739a1745 (patch)
tree812b569d50c737c109f2d9c54dcca4d503d449b8 /test
parent78cc1c45ee1dac3f32fccb6f0cd8739403d7568c (diff)
downloadruby-5a1c2b2677129ffadde65633577f7e0a739a1745.tar.gz
* re.c (append_utf8): check unicode range.
git-svn-id: svn+ssh://ci.ruby-lang.org/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 28f636fc65..f0c98eb4eb 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}/})) }