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_symbol.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_symbol.rb')
-rw-r--r-- | test/ruby/test_symbol.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/ruby/test_symbol.rb b/test/ruby/test_symbol.rb index 13d7cc9d57..d657f1aae6 100644 --- a/test/ruby/test_symbol.rb +++ b/test/ruby/test_symbol.rb @@ -367,6 +367,7 @@ class TestSymbol < Test::Unit::TestCase 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 @@ -420,6 +421,10 @@ class TestSymbol < Test::Unit::TestCase assert_equal('backref', $&) end + def test_match_p_nil + assert_raise(TypeError) { :''.match?(nil) } + end + def test_symbol_popped assert_nothing_raised { eval('a = 1; :"#{ a }"; 1') } end |