diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/assert.rb | 3 | ||||
| -rw-r--r-- | test/t/kernel.rb | 3 | ||||
| -rw-r--r-- | test/t/nomethoderror.rb | 18 |
3 files changed, 22 insertions, 2 deletions
diff --git a/test/assert.rb b/test/assert.rb index 5617e1e38..7efc24e19 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -44,7 +44,8 @@ def assert(str = 'Assertion failed', iso = '') begin $mrbtest_assert = [] $mrbtest_assert_idx = 0 - if(!yield || $mrbtest_assert.size > 0) + yield + if($mrbtest_assert.size > 0) $asserts.push(assertion_string('Fail: ', str, iso, nil)) $ko_test += 1 t_print('F') diff --git a/test/t/kernel.rb b/test/t/kernel.rb index 42abed9df..ca4b73907 100644 --- a/test/t/kernel.rb +++ b/test/t/kernel.rb @@ -260,6 +260,8 @@ end assert('Kernel#freeze') do obj = Object.new assert_equal obj, obj.freeze + assert_equal 0, 0.freeze + assert_equal :a, :a.freeze end assert('Kernel#global_variables', '15.3.1.3.14') do @@ -620,4 +622,3 @@ assert('stack extend') do assert_equal 6, recurse(0, 5) end - diff --git a/test/t/nomethoderror.rb b/test/t/nomethoderror.rb index 1c09bc20e..41a3ba14f 100644 --- a/test/t/nomethoderror.rb +++ b/test/t/nomethoderror.rb @@ -51,3 +51,21 @@ assert('Can still call super when BasicObject#method_missing is removed') do end end end + +assert("NoMethodError#new does not return an exception") do + begin + class << NoMethodError + def new(*) + nil + end + end + + assert_raise(TypeError) do + Object.q + end + ensure + class << NoMethodError + remove_method :new + end + end +end |
