-
Notifications
You must be signed in to change notification settings - Fork 28.2k
/
test-chdir.js
38 lines (30 loc) · 912 Bytes
/
test-chdir.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'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);
}