Browse Source

test: use tmp directory in chdir test

This patch

 - makes chdir test to use the tmp directory
 - moves the test to parallel
 - renames the file to test-process-chdir as chdir is in process module

PR-URL: https://github.com/nodejs/node/pull/2589
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
v5.x
Sakthipriyan Vairamani 9 years ago
parent
commit
9aa6a437cd
  1. 28
      test/parallel/test-process-chdir.js
  2. 38
      test/sequential/test-chdir.js

28
test/parallel/test-process-chdir.js

@ -0,0 +1,28 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const fs = require('fs');
const path = require('path');
assert.notStrictEqual(process.cwd(), __dirname);
process.chdir(__dirname);
assert.strictEqual(process.cwd(), __dirname);
const dir = path.resolve(common.tmpDir,
'weird \uc3a4\uc3ab\uc3af characters \u00e1\u00e2\u00e3');
// Make sure that the tmp directory is clean
common.refreshTmpDir();
fs.mkdirSync(dir);
process.chdir(dir);
assert.strictEqual(process.cwd(), dir);
process.chdir('..');
assert.strictEqual(process.cwd(), path.resolve(common.tmpDir));
assert.throws(function() { process.chdir({}); }, TypeError, 'Bad argument.');
assert.throws(function() { process.chdir(); }, TypeError, 'Bad argument.');
assert.throws(function() { process.chdir('x', 'y'); },
TypeError, 'Bad argument.');

38
test/sequential/test-chdir.js

@ -1,38 +0,0 @@
'use strict';
var common = require('../common');
var assert = require('assert');
var fs = require('fs');
var path = require('path');
assert.equal(true, process.cwd() !== __dirname);
process.chdir(__dirname);
assert.equal(true, process.cwd() === __dirname);
var dir = path.resolve(common.fixturesDir,
'weird \uc3a4\uc3ab\uc3af characters \u00e1\u00e2\u00e3');
try {
fs.mkdirSync(dir);
} catch (e) {
if (e.code !== 'EEXIST') {
cleanup();
throw e;
}
}
process.chdir(dir);
assert(process.cwd() == dir);
process.chdir('..');
assert(process.cwd() == path.resolve(common.fixturesDir));
cleanup();
assert.throws(function() { process.chdir({}); }, TypeError, 'Bad argument.');
assert.throws(function() { process.chdir(); }, TypeError, 'Bad argument.');
assert.throws(function() { process.chdir('x', 'y'); },
TypeError, 'Bad argument.');
function cleanup() {
fs.rmdirSync(dir);
}
Loading…
Cancel
Save