UNPKG

1.32 kBJavaScriptView Raw
1var tape = require('tape');
2
3var browserify = require('browserify');
4var proxyquire = require('proxyquire');
5var fs = require('fs');
6var path = require('path');
7var rebundler = require('rebundler');
8
9var casesDir = path.join(__dirname, 'cases');
10var simpleCaseDir = path.join(casesDir, 'simple');
11var cssOutFilename = 'out.css';
12
13tape('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(err2, 'second pass bundle with a cache does not error');
45
46 t.end();
47 });
48 });
49});