Skip to content

Commit f062337

Browse files
committed
one more test for JS API
1 parent 2bba08e commit f062337

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

tests/interpreters.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)