-
-
Notifications
You must be signed in to change notification settings - Fork 35.5k
Expand file tree
/
Copy pathtest-util-env.js
More file actions
52 lines (45 loc) · 1.13 KB
/
test-util-env.js
File metadata and controls
52 lines (45 loc) · 1.13 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'use strict';
const common = require('../common');
const assert = require('assert');
const util = require('util');
// Test util.stringifyEnv
{
const simple = { A: '1', B: '2' };
assert.strictEqual(util.stringifyEnv(simple), 'A=1\nB=2');
}
{
const quotes = { A: '1 "2" 3' };
assert.strictEqual(util.stringifyEnv(quotes), 'A="1 \\"2\\" 3"');
}
{
const newlines = { A: '1\n2' };
assert.strictEqual(util.stringifyEnv(newlines), 'A="1\\n2"');
}
{
const empty = {};
assert.strictEqual(util.stringifyEnv(empty), '');
}
{
const complex = {
A: 'val_a',
B: 'val_b',
C: 'val with spaces',
D: 'val_with_"quotes"',
E: 'val_with_\n_newlines'
};
const expected = 'A=val_a\n' +
'B=val_b\n' +
'C="val with spaces"\n' +
'D="val_with_\\"quotes\\""\n' +
'E="val_with_\\n_newlines"';
assert.strictEqual(util.stringifyEnv(complex), expected);
}
// Test validation
{
assert.throws(() => util.stringifyEnv(null), {
code: 'ERR_INVALID_ARG_TYPE',
});
assert.throws(() => util.stringifyEnv('string'), {
code: 'ERR_INVALID_ARG_TYPE',
});
}