diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/js/async_closure.t.js | 24 | ||||
-rw-r--r-- | test/js/async_closure_arg.t.js | 24 | ||||
-rw-r--r-- | test/js/async_closure_share.t.js | 28 |
3 files changed, 76 insertions, 0 deletions
diff --git a/test/js/async_closure.t.js b/test/js/async_closure.t.js new file mode 100644 index 00000000..9a387ff2 --- /dev/null +++ b/test/js/async_closure.t.js @@ -0,0 +1,24 @@ +/*--- +includes: [] +flags: [async] +---*/ + +async function f() { + await 1; + var v = 2; + + function g() { + return v + 1; + } + + function s() { + g + 1; + } + + return g(); +} + +f().then(v => { + assert.sameValue(v, 3) +}) +.then($DONE, $DONE); diff --git a/test/js/async_closure_arg.t.js b/test/js/async_closure_arg.t.js new file mode 100644 index 00000000..d6aa8ab6 --- /dev/null +++ b/test/js/async_closure_arg.t.js @@ -0,0 +1,24 @@ +/*--- +includes: [] +flags: [async] +---*/ + +async function f(v) { + await 1; + v = 2; + + function g() { + return v + 1; + } + + function s() { + g + 1; + } + + return g(); +} + +f(42).then(v => { + assert.sameValue(v, 3) +}) +.then($DONE, $DONE); diff --git a/test/js/async_closure_share.t.js b/test/js/async_closure_share.t.js new file mode 100644 index 00000000..d78f92c5 --- /dev/null +++ b/test/js/async_closure_share.t.js @@ -0,0 +1,28 @@ +/*--- +includes: [] +flags: [async] +---*/ + +async function f() { + await 1; + var v = 'f'; + + function g() { + v += ':g'; + return v; + } + + function s() { + v += ':s'; + return v; + } + + return [g, s]; +} + +f().then(pair => { + pair[0](); + var v = pair[1](); + assert.sameValue(v, 'f:g:s'); +}) +.then($DONE, $DONE); |