diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-02-25 21:15:24 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-25 21:15:24 +0900 |
| commit | 192f3df9a1fca043801e42febcd4b105fa1d5733 (patch) | |
| tree | 2e83f49a75fb581e522a7d388c5cc86f978cd1a7 /mrbgems/mruby-proc-binding/test/proc-binding.rb | |
| parent | f1c2096f8ed966cf055d1a32271748b5fad4ffe0 (diff) | |
| parent | 927615e1f072d8fff3d9b84660cdce15a239e36c (diff) | |
| download | mruby-192f3df9a1fca043801e42febcd4b105fa1d5733.tar.gz mruby-192f3df9a1fca043801e42febcd4b105fa1d5733.zip | |
Merge pull request #5362 from dearblue/binding
Binding
Diffstat (limited to 'mrbgems/mruby-proc-binding/test/proc-binding.rb')
| -rw-r--r-- | mrbgems/mruby-proc-binding/test/proc-binding.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/mrbgems/mruby-proc-binding/test/proc-binding.rb b/mrbgems/mruby-proc-binding/test/proc-binding.rb new file mode 100644 index 000000000..b28d8b1dd --- /dev/null +++ b/mrbgems/mruby-proc-binding/test/proc-binding.rb @@ -0,0 +1,22 @@ +assert "Proc#binding" do + block = ->(i) {} + a, b, c = 1, 2, 3 + bind = block.binding + assert_equal([:a, :b, :bind, :block, :c], bind.local_variables.sort) + assert_equal(1, bind.local_variable_get(:a)) + assert_equal(5, bind.eval("b + c")) + bind.local_variable_set(:x, 9) + assert_equal(9, bind.local_variable_get(:x)) +end + +assert("Binding#source_location after Proc#binding") do + skip unless -> {}.source_location + + block, source_location = -> {}, [__FILE__, __LINE__] + assert_equal source_location, block.binding.source_location +end + +assert "Proc#binding and .eval from C" do + bind = proc_in_c.binding + assert_nothing_raised { bind.eval("self") } +end |
