diff options
author | Sakthipriyan Vairamani (thefourtheye) <thechargingvolcano@gmail.com> | 2016-12-21 15:58:00 +0530 |
---|---|---|
committer | Myles Borins <mylesborins@google.com> | 2017-01-31 17:07:47 -0500 |
commit | 12d86aba49ebe7bf2995ebd2a2c3b69045b1cddf (patch) | |
tree | bf5bfdf38effdb53526cc27e6ce2278bba852ee6 /test/sequential/test-init.js | |
parent | 54dec23aba9c87c574d90d5a67dfbe5f2c133846 (diff) | |
download | node-new-12d86aba49ebe7bf2995ebd2a2c3b69045b1cddf.tar.gz |
test: refactor test-init.js
1. Lot of repeating code has been refactored to a function
2. Errors in async calls are properly asserted
3. Fail the test if the callbacks are not fired
PR-URL: https://github.com/nodejs/node/pull/10384
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Julian Duque <julianduquej@gmail.com>
Diffstat (limited to 'test/sequential/test-init.js')
-rw-r--r-- | test/sequential/test-init.js | 58 |
1 files changed, 26 insertions, 32 deletions
diff --git a/test/sequential/test-init.js b/test/sequential/test-init.js index c8127e32a1..75ac39c35a 100644 --- a/test/sequential/test-init.js +++ b/test/sequential/test-init.js @@ -2,46 +2,40 @@ const common = require('../common'); const assert = require('assert'); const child = require('child_process'); -const util = require('util'); +const path = require('path'); + if (process.env['TEST_INIT']) { - util.print('Loaded successfully!'); -} else { - // change CWD as we do this test so its not dependant on current CWD - // being in the test folder - process.chdir(__dirname); + return process.stdout.write('Loaded successfully!'); +} + +process.env.TEST_INIT = 1; - // slow but simple - var envCopy = JSON.parse(JSON.stringify(process.env)); - envCopy.TEST_INIT = 1; +function test(file, expected) { + const path = `"${process.execPath}" ${file}`; + child.exec(path, {env: process.env}, common.mustCall((err, out) => { + assert.ifError(err); + assert.strictEqual(out, expected, `'node ${file}' failed!`); + })); +} - child.exec('"' + process.execPath + '" test-init', {env: envCopy}, - function(err, stdout, stderr) { - assert.equal(stdout, 'Loaded successfully!', - '`node test-init` failed!'); - }); - child.exec('"' + process.execPath + '" test-init.js', {env: envCopy}, - function(err, stdout, stderr) { - assert.equal(stdout, 'Loaded successfully!', - '`node test-init.js` failed!'); - }); +{ + // change CWD as we do this test so it's not dependent on current CWD + // being in the test folder + process.chdir(__dirname); + test('test-init', 'Loaded successfully!'); + test('test-init.js', 'Loaded successfully!'); +} +{ // test-init-index is in fixtures dir as requested by ry, so go there process.chdir(common.fixturesDir); + test('test-init-index', 'Loaded successfully!'); +} - child.exec('"' + process.execPath + '" test-init-index', {env: envCopy}, - function(err, stdout, stderr) { - assert.equal(stdout, 'Loaded successfully!', - '`node test-init-index failed!'); - }); - +{ // ensures that `node fs` does not mistakenly load the native 'fs' module // instead of the desired file and that the fs module loads as // expected in node - process.chdir(common.fixturesDir + '/test-init-native/'); - - child.exec('"' + process.execPath + '" fs', {env: envCopy}, - function(err, stdout, stderr) { - assert.equal(stdout, 'fs loaded successfully', - '`node fs` failed!'); - }); + process.chdir(path.join(common.fixturesDir, 'test-init-native')); + test('fs', 'fs loaded successfully'); } |