From fe8c57b86c586a3625257871e370fc6f278d1df5 Mon Sep 17 00:00:00 2001 From: substack Date: Wed, 1 Mar 2017 13:28:46 -1000 Subject: [PATCH] async test for node 7 --- .travis.yml | 3 ++- test/async.js | 24 ++++++++++++++++++++++++ test/async/src.js | 8 ++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 test/async.js create mode 100644 test/async/src.js diff --git a/.travis.yml b/.travis.yml index 55cdf6f89..1660e47b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: node_js node_js: - - "5" + - "7" + - "6" - "4" - "0.12" - "0.10" diff --git a/test/async.js b/test/async.js new file mode 100644 index 000000000..e9bd246aa --- /dev/null +++ b/test/async.js @@ -0,0 +1,24 @@ +var browserify = require('../'); +var fs = require('fs'); +var vm = require('vm'); +var test = require('tap').test; + +var src = fs.readFileSync(__dirname + '/async/src.js','utf8'); +var canAsync = true; +try { Function(src) } catch (err) { canAsync = false } + +if (!canAsync) console.error('# async/await unsupported in this environment') +else test('async/await', function (t) { + t.plan(2); + var b = browserify(__dirname + '/async/src.js'); + b.bundle(function (err, src) { + t.error(err) + var c = { + console: { log: log }, + setTimeout: setTimeout, + clearTimeout: clearTimeout + } + vm.runInNewContext(src, c); + function log (msg) { t.equal(msg, 60) } + }); +}); diff --git a/test/async/src.js b/test/async/src.js new file mode 100644 index 000000000..7a50fbcd5 --- /dev/null +++ b/test/async/src.js @@ -0,0 +1,8 @@ +function f (x) { return new Promise(resolve => { + process.nextTick(() => { resolve(x) }) }) } + +async function add (x) { + return x + await f(20) + await f(30) +} + +add(10).then(v => { console.log(v) })