Skip to content

Commit 0a13f76

Browse files
committed
update test cases
- test cases can provide custom.js with override options - added custom-ext test case for the filePattern option
1 parent a8dc81e commit 0a13f76

File tree

8 files changed

+37
-7
lines changed

8 files changed

+37
-7
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
global: true
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
global: true
3+
}

tests/cases/custom-ext/custom.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
filePattern: /\.cssmodule$/
3+
}

tests/cases/custom-ext/expected.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
._styles__foo {
2+
color: #F00;
3+
}

tests/cases/custom-ext/main.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// test using a custom `filePattern` option
2+
var styles = require('./styles.cssmodule');
3+
module.exports = styles;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.foo {
2+
color: #F00;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
global: true
3+
}

tests/index.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,18 @@ var path = require('path');
88
var casesDir = path.join(__dirname, 'cases');
99
var cssOutFilename = 'out.css';
1010

11-
var globalCases = ['compose-node-module', 'compose-local-node-module', 'import-node-module'];
12-
1311
function runTestCase (dir) {
1412
tape('case: ' + dir, function (t) {
13+
// load (optional) custom setup for this testcase
14+
var customPath = path.join(casesDir, dir, 'custom.js')
15+
var customOpts
16+
try {
17+
fs.accessSync(customPath)
18+
customOpts = require(customPath)
19+
} catch (e) {
20+
customOpts = {}
21+
}
22+
1523
var fakeFs = {
1624
writeFile: function (filename, content, cb) {
1725
var expected = fs.readFileSync(path.join(casesDir, dir, 'expected.css'), 'utf8');
@@ -27,15 +35,13 @@ function runTestCase (dir) {
2735
});
2836

2937
var b = browserify();
38+
3039
b.add(path.join(casesDir, dir, 'main.js'));
31-
b.plugin(cssModulesify, {
40+
b.plugin(cssModulesify, Object.assign({}, {
3241
rootDir: path.join(casesDir, dir)
3342
, output: cssOutFilename
3443
, generateScopedName: cssModulesify.generateLongName
35-
36-
// only certain cases will use a global transform
37-
, global: globalCases.indexOf(dir) !== -1
38-
});
44+
}, customOpts));
3945

4046
b.bundle(function (err) {
4147
if (err) {
@@ -50,4 +56,7 @@ function runTestCase (dir) {
5056
// test cases are expected to have:
5157
// - main.js (entry point)
5258
// - expected.css (what to expect from css-modulesify output)
59+
// optional:
60+
// - custom.js (module that exports an object of custom settings)
61+
5362
fs.readdirSync(path.join(__dirname, 'cases')).forEach(runTestCase);

0 commit comments

Comments
 (0)