Skip to content

Commit e85143e

Browse files
committed
internal: add failing test for re-bundling css-modules#32
1 parent 29d6379 commit e85143e

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

tests/cache.js

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
var tape = require('tape');
2+
3+
var browserify = require('browserify');
4+
var proxyquire = require('proxyquire');
5+
var fs = require('fs');
6+
var path = require('path');
7+
var rebundler = require('rebundler');
8+
9+
var casesDir = path.join(__dirname, 'cases');
10+
var simpleCaseDir = path.join(casesDir, 'simple')
11+
var cssOutFilename = 'out.css';
12+
13+
tape('multiple builds', function (t) {
14+
var fakeFs = {
15+
writeFile: function (filename, content, cb) {
16+
var expected = fs.readFileSync(path.join(simpleCaseDir, 'expected.css'), 'utf8');
17+
18+
t.equal(filename, cssOutFilename, 'correct output filename');
19+
t.equal(content, expected, 'output matches expected');
20+
cb();
21+
}
22+
};
23+
24+
var cssModulesify = proxyquire('../', {
25+
fs: fakeFs
26+
});
27+
28+
var getBundler = rebundler(function (cache, packageCache) {
29+
return browserify(path.join(simpleCaseDir, 'main.js'), {
30+
cache: cache
31+
, packageCache: packageCache
32+
, fullPaths: true
33+
})
34+
.plugin(cssModulesify, {
35+
rootDir: path.join(simpleCaseDir),
36+
output: cssOutFilename
37+
});
38+
});
39+
40+
getBundler().bundle(function (err) {
41+
t.error(err, 'initial bundle without a cache does not error');
42+
43+
getBundler().bundle(function (err2) {
44+
t.error(err, 'second pass bundle with a cache does not error');
45+
46+
t.end();
47+
});
48+
});
49+
});

0 commit comments

Comments
 (0)