diff options
author | Kenichi Kamiya <kachick1@gmail.com> | 2019-10-17 17:44:46 +0900 |
---|---|---|
committer | Kazuhiro NISHIYAMA <znz@users.noreply.github.com> | 2019-10-17 17:44:46 +0900 |
commit | 2a22a6b2d8465934e75520a7fdcf522d50890caf (patch) | |
tree | 49135af238d55ebe13195dc1fd36c3604749adb3 /test/ruby/test_string.rb | |
parent | 41457dcbe050a698c357b516d0a012b1b584643a (diff) | |
download | ruby-2a22a6b2d8465934e75520a7fdcf522d50890caf.tar.gz |
Regexp#match{?} with nil raises TypeError as String, Symbol (#1506)
* {String|Symbol}#match{?} with nil returns falsy
To improve consistency with Regexp#match{?}
* String#match(nil) returns `nil` instead of TypeError
* String#match?(nil) returns `false` instead of TypeError
* Symbol#match(nil) returns `nil` instead of TypeError
* Symbol#match?(nil) returns `false` instead of TypeError
* Prefer exception
* Follow empty ENV
* Drop outdated specs
* Write ruby/spec for above
https://github.com/ruby/ruby/pull/1506/files#r183242981
* Fix merge miss
Diffstat (limited to 'test/ruby/test_string.rb')
-rw-r--r-- | test/ruby/test_string.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index dd403bf9d9..41d4871379 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -2512,6 +2512,7 @@ CODE def test_match_method assert_equal("bar", "foobarbaz".match(/bar/).to_s) + assert_raise(TypeError) { "".match(nil) } o = Regexp.new('foo') def o.match(x, y, z); x + y + z; end @@ -2567,6 +2568,10 @@ CODE assert_equal('backref', $&) end + def test_match_p_nil + assert_raise(TypeError) { ''.match?(nil) } + end + def test_clear s = "foo" * 100 s.clear |