summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2025-01-01 17:47:27 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2025-01-03 10:10:54 +0900
commit77fe82286b24110292324007dafc436d01efd134 (patch)
tree9cb67e4e84923a72131851db938a631d72775e9c /test/ruby
parentc8eaad1804a1887b7d97bab2174e95eed0ad5472 (diff)
Try all assertions in `TestM17N#test_regexp_usascii`
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12483
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_m17n.rb70
1 files changed, 36 insertions, 34 deletions
diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb
index 93366ed02a..b0e2e9f849 100644
--- a/test/ruby/test_m17n.rb
+++ b/test/ruby/test_m17n.rb
@@ -69,15 +69,6 @@ class TestM17N < Test::Unit::TestCase
assert_regexp_fixed_encoding(r)
end
- def assert_regexp_usascii_literal(r, enc, ex = nil)
- code = "# -*- encoding: US-ASCII -*-\n#{r}.encoding"
- if ex
- assert_raise(ex) { eval(code) }
- else
- assert_equal(enc, eval(code))
- end
- end
-
def encdump(str)
d = str.dump
if /\.force_encoding\("[A-Za-z0-9.:_+-]*"\)\z/ =~ d
@@ -1436,31 +1427,42 @@ class TestM17N < Test::Unit::TestCase
end
def test_regexp_usascii
- assert_regexp_usascii_literal('//', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/#{ }/', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/#{"a"}/', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/#{%q"\x80"}/', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/#{"\x80"}/', Encoding::ASCII_8BIT)
-
- assert_regexp_usascii_literal('/a/', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/a#{ }/', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/a#{"a"}/', Encoding::US_ASCII)
- assert_regexp_usascii_literal('/a#{%q"\x80"}/', Encoding::ASCII_8BIT)
- assert_regexp_usascii_literal('/a#{"\x80"}/', Encoding::ASCII_8BIT)
-
- assert_regexp_usascii_literal('/\x80/', Encoding::ASCII_8BIT)
- assert_regexp_usascii_literal('/\x80#{ }/', Encoding::ASCII_8BIT)
- assert_regexp_usascii_literal('/\x80#{"a"}/', Encoding::ASCII_8BIT)
- assert_regexp_usascii_literal('/\x80#{%q"\x80"}/', Encoding::ASCII_8BIT)
- assert_regexp_usascii_literal('/\x80#{"\x80"}/', Encoding::ASCII_8BIT)
-
- assert_regexp_usascii_literal('/\u1234/', Encoding::UTF_8)
- assert_regexp_usascii_literal('/\u1234#{ }/', Encoding::UTF_8)
- assert_regexp_usascii_literal('/\u1234#{"a"}/', Encoding::UTF_8)
- assert_regexp_usascii_literal('/\u1234#{%q"\x80"}/', nil, SyntaxError)
- assert_regexp_usascii_literal('/\u1234#{"\x80"}/', nil, SyntaxError)
- assert_regexp_usascii_literal('/\u1234\x80/', nil, SyntaxError)
- assert_regexp_usascii_literal('/\u1234#{ }\x80/', nil, RegexpError)
+ tests = [
+ [__LINE__, '//', Encoding::US_ASCII],
+ [__LINE__, '/#{ }/', Encoding::US_ASCII],
+ [__LINE__, '/#{"a"}/', Encoding::US_ASCII],
+ [__LINE__, '/#{%q"\x80"}/', Encoding::US_ASCII],
+ [__LINE__, '/#{"\x80"}/', Encoding::ASCII_8BIT],
+
+ [__LINE__, '/a/', Encoding::US_ASCII],
+ [__LINE__, '/a#{ }/', Encoding::US_ASCII],
+ [__LINE__, '/a#{"a"}/', Encoding::US_ASCII],
+ [__LINE__, '/a#{%q"\x80"}/', Encoding::ASCII_8BIT],
+ [__LINE__, '/a#{"\x80"}/', Encoding::ASCII_8BIT],
+
+ [__LINE__, '/\x80/', Encoding::ASCII_8BIT],
+ [__LINE__, '/\x80#{ }/', Encoding::ASCII_8BIT],
+ [__LINE__, '/\x80#{"a"}/', Encoding::ASCII_8BIT],
+ [__LINE__, '/\x80#{%q"\x80"}/', Encoding::ASCII_8BIT],
+ [__LINE__, '/\x80#{"\x80"}/', Encoding::ASCII_8BIT],
+
+ [__LINE__, '/\u1234/', Encoding::UTF_8],
+ [__LINE__, '/\u1234#{ }/', Encoding::UTF_8],
+ [__LINE__, '/\u1234#{"a"}/', Encoding::UTF_8],
+
+ [__LINE__, '/\u1234#{%q"\x80"}/', nil, SyntaxError],
+ [__LINE__, '/\u1234#{"\x80"}/', nil, SyntaxError],
+ [__LINE__, '/\u1234\x80/', nil, SyntaxError],
+ [__LINE__, '/\u1234#{ }\x80/', nil, RegexpError],
+ ]
+ all_assertions_foreach(nil, *tests) do |line, r, enc, ex|
+ code = "# -*- encoding: US-ASCII -*-\n#{r}.encoding"
+ if ex
+ assert_raise(ex) {eval(code, nil, __FILE__, line-1)}
+ else
+ assert_equal(enc, eval(code, nil, __FILE__, line-1))
+ end
+ end
end
def test_gbk