-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathnode_env.js
More file actions
62 lines (52 loc) · 1.56 KB
/
Copy pathnode_env.js
File metadata and controls
62 lines (52 loc) · 1.56 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
53
54
55
56
57
58
59
60
61
62
const detachHook = require('../sugar').detachHook;
const dropCache = require('../sugar').dropCache;
const resolve = require('path').resolve;
const writeFileSync = require('fs').writeFileSync;
const destination = resolve(__dirname, './fixture/oceanic.css');
const source1 = `.color\n{\n background: #1e2a35;\n}\n`;
const source2 = `.awesome-color\n{\n background: #1e2a35;\n}\n`;
suite('env.NODE_ENV', () => {
suite('in the development mode', () => {
test('should get tokens from fs, not from cache', () => {
const tokens = require('./fixture/oceanic.css');
assert.deepEqual(tokens, {
'awesome-color': '_test_env_fixture_oceanic__awesome-color',
});
});
setup(() => {
process.env.NODE_ENV = 'development';
hook({});
writeFile(source1);
require('./fixture/oceanic.css');
writeFile(source2);
});
teardown(() => {
process.env.NODE_ENV = '';
writeFile(source1);
detachHook('.css');
dropCache('./env/fixture/oceanic.css');
});
});
suite('not in the development mode', () => {
test('should get tokens from cache', () => {
const tokens = require('./fixture/oceanic.css');
assert.deepEqual(tokens, {
'color': '_test_env_fixture_oceanic__color',
});
});
setup(() => {
hook({});
require('./fixture/oceanic.css');
});
teardown(() => {
detachHook('.css');
dropCache('./env/fixture/oceanic.css');
});
});
});
/**
* @param {string} data
*/
function writeFile(data) {
writeFileSync(destination, data, 'utf8');
}