File tree Expand file tree Collapse file tree 2 files changed +22
-2
lines changed
packages/npm-packages/ruby-wasm-wasi/test Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change 1
1
require "js.so"
2
2
3
3
class JS ::Object
4
- def method_missing ( name , *args )
5
- self . call ( name , *args )
4
+ def method_missing ( name , *args , & block )
5
+ self . call ( name , *args , & block )
6
6
end
7
7
end
Original file line number Diff line number Diff line change @@ -87,6 +87,26 @@ describe("Manipulation of JS from Ruby", () => {
87
87
expect ( vm . eval ( result ) . toString ( ) ) . toBe ( props . result ) ;
88
88
} ) ;
89
89
90
+ test ( "JS::Object#method_missing with block" , async ( ) => {
91
+ const vm = await initRubyVM ( ) ;
92
+ const proc = vm . eval ( `
93
+ require "js"
94
+ proc do |obj|
95
+ obj.take_block "x" do |y|
96
+ $y = y
97
+ end
98
+ end
99
+ ` ) ;
100
+ proc . call ( "call" , vm . wrap ( {
101
+ take_block : ( arg1 : string , block : ( _ : any ) => void ) => {
102
+ expect ( arg1 ) . toBe ( "x" ) ;
103
+ block ( "y" ) ;
104
+ }
105
+ } ) )
106
+ const y = vm . eval ( `$y` ) ;
107
+ expect ( y . toString ( ) ) . toBe ( "y" ) ;
108
+ } ) ;
109
+
90
110
test . each ( [
91
111
{ expr : "JS.global[:Object]" , result : Object } ,
92
112
{ expr : "JS.global[:Object][:keys]" , result : Object . keys } ,
You can’t perform that action at this time.
0 commit comments