@@ -16,21 +16,24 @@ const env = {
1616 }
1717 this . get ( '__buffer__' ) . push ( x ) ;
1818 } ) ,
19+ append ( x ) {
20+ return this . get ( '__buffer__' ) . push ( x ) ;
21+ } ,
1922 sleep ( time ) {
2023 return new Promise ( resolve => {
2124 setTimeout ( resolve , time . valueOf ( ) ) ;
2225 } ) ;
2326 }
2427} ;
2528
26- test ( 'javascript: async buffer access ' , async function ( t ) {
27- const interpreter_1 = Interpreter ( 'repl ' , {
29+ test ( 'javascript: parallel async execution ' , async ( t ) => {
30+ const interpreter_1 = Interpreter ( 'test ' , {
2831 __buffer__ : [ ] ,
2932 meta : true ,
3033 ...env
3134 } ) ;
3235
33- const interpreter_2 = Interpreter ( 'repl ' , {
36+ const interpreter_2 = Interpreter ( 'test ' , {
3437 __buffer__ : [ ] ,
3538 meta : false ,
3639 ...env
@@ -41,6 +44,16 @@ test('javascript: async buffer access', async function(t) {
4144 interpreter_2 . exec ( '(begin (sleep 50) (display "world") (newline))' )
4245 ] ) ;
4346
44- t . deepEqual ( interpreter_1 . __env__ . get ( '__buffer__' ) , [ 'hello' , '\n' ] ) ;
45- t . deepEqual ( interpreter_2 . __env__ . get ( '__buffer__' ) , [ 'world' , '\n' ] ) ;
47+ t . deepEqual ( interpreter_1 . get ( '__buffer__' ) , [ 'hello' , '\n' ] ) ;
48+ t . deepEqual ( interpreter_2 . get ( '__buffer__' ) , [ 'world' , '\n' ] ) ;
49+ } ) ;
50+
51+ test ( 'javascript: should bind function' , ( t ) => {
52+ const i = Interpreter ( 'test' , {
53+ __buffer__ : [ ] ,
54+ ...env
55+ } ) ;
56+
57+ i . get ( 'append' ) ( 'hello' ) ;
58+ t . deepEqual ( i . get ( '__buffer__' ) , [ 'hello' ] ) ;
4659} ) ;
0 commit comments