From f1b7e60cb90a7e1a392d4ffccd07dd06eeff5345 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 8 Dec 2007 02:50:43 +0000 Subject: * encoding.c (rb_enc_mbclen): make it never fail. (rb_enc_nth): don't check the return value of rb_enc_mbclen. (rb_enc_strlen): ditto. (rb_enc_precise_mbclen): return needmore(1) if e <= p. (rb_enc_get_ascii): new function for extracting ASCII character. * include/ruby/encoding.h (rb_enc_get_ascii): declared. * include/ruby/regex.h (ismbchar): removed. * re.c (rb_reg_expr_str): use rb_enc_get_ascii. (unescape_escaped_nonascii): use rb_enc_precise_mbclen to determine the termination of escaped non-ASCII character. (unescape_nonascii): use rb_enc_precise_mbclen. (rb_reg_quote): use rb_enc_get_ascii. (rb_reg_regsub): use rb_enc_get_ascii. * string.c (rb_str_reverse) don't check the return value of rb_enc_mbclen. (rb_str_split_m): don't call rb_enc_mbclen with e <= p. * parse.y (is_identchar): use ISASCII. (parser_ismbchar): removed. (parser_precise_mbclen): new macro. (parser_isascii): new macro. (parser_tokadd_mbchar): use parser_precise_mbclen to check invalid character precisely. (parser_tokadd_string): use parser_isascii. (parser_yylex): ditto. (is_special_global_name): don't call is_identchar with e <= p. (rb_enc_symname_p): ditto. [ruby-dev:32455] * ext/tk/sample/tkextlib/vu/canvSticker2.rb: remove coding cookie because the encoding is not UTF-8. [ruby-dev:32475] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_m17n.rb | 6 +++--- test/ruby/test_regexp.rb | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'test/ruby') diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index 02c8dca4d0..df59c88770 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -77,8 +77,8 @@ class TestM17N < Test::Unit::TestCase assert_raise(SyntaxError) { eval('/\xc2/u') } assert_raise(SyntaxError) { eval('/\xe0\x80/u') } assert_raise(SyntaxError) { eval('/\xf0\x80\x80/u') } - #assert_raise(SyntaxError) { eval('/\xf8\x80\x80\x80/u') } - #assert_raise(SyntaxError) { eval('/\xfc\x80\x80\x80\x80/u') } + assert_raise(SyntaxError) { eval('/\xf8\x80\x80\x80/u') } + assert_raise(SyntaxError) { eval('/\xfc\x80\x80\x80\x80/u') } # raw 8bit assert_raise(SyntaxError) { eval("/\xfe/e") } @@ -87,7 +87,7 @@ class TestM17N < Test::Unit::TestCase # invalid suffix assert_raise(SyntaxError) { eval('/\xc2\xff/u') } assert_raise(SyntaxError) { eval('/\xc2 /u') } - #assert_raise(SyntaxError) { eval('/\xc2\x20/u') } + assert_raise(SyntaxError) { eval('/\xc2\x20/u') } end def assert_regexp_generic_encoding(r) diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb index 9cb8c4ac1e..84710bb449 100644 --- a/test/ruby/test_regexp.rb +++ b/test/ruby/test_regexp.rb @@ -20,7 +20,7 @@ class TestRegexp < Test::Unit::TestCase def test_yoshidam_net_20041111_2 assert_raise(RegexpError) do - s = "[\xFF-\xFF]" + s = "[\xFF-\xFF]".force_encoding("utf-8") Regexp.new(s, nil, "u") end end @@ -42,8 +42,8 @@ class TestRegexp < Test::Unit::TestCase assert_equal :ok, begin Regexp.union( "a", - Regexp.new("\x80".force_encoding("euc-jp")), - Regexp.new("\x80".force_encoding("utf-8"))) + Regexp.new("\xc2\xa1".force_encoding("euc-jp")), + Regexp.new("\xc2\xa1".force_encoding("utf-8"))) :ng rescue ArgumentError :ok -- cgit v1.2.3