diff options
| -rw-r--r-- | mrbgems/mruby-proc-ext/test/proc.rb | 4 | ||||
| -rw-r--r-- | test/t/proc.rb | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/mrbgems/mruby-proc-ext/test/proc.rb b/mrbgems/mruby-proc-ext/test/proc.rb index 424c0bc1d..037d8d124 100644 --- a/mrbgems/mruby-proc-ext/test/proc.rb +++ b/mrbgems/mruby-proc-ext/test/proc.rb @@ -66,6 +66,10 @@ end assert('Kernel#proc') do assert_true !proc{|a|}.lambda? + + assert_raise LocalJumpError do + proc{ break }.call + end end assert('mrb_proc_new_cfunc_with_env') do diff --git a/test/t/proc.rb b/test/t/proc.rb index ef4566e66..42ac3b941 100644 --- a/test/t/proc.rb +++ b/test/t/proc.rb @@ -11,6 +11,10 @@ assert('Proc.new', '15.2.17.3.1') do end assert_equal (Proc.new {}).class, Proc + + assert_raise LocalJumpError do + Proc.new{ break }.call + end end assert('Proc#[]', '15.2.17.4.1') do @@ -164,3 +168,13 @@ assert('&obj call to_proc if defined') do assert_raise(TypeError){ mock(&(Object.new)) } end + +assert('Creation of a proc through the block of a method') do + def m(&b) b end + + assert_equal m{}.class, Proc + + assert_raise LocalJumpError do + m{ break }.call + end +end |
