Skip to content

Commit dac1354

Browse files
committed
test infrastructure improvements
1 parent f18d736 commit dac1354

4 files changed

Lines changed: 27 additions & 11 deletions

File tree

test/Stats.test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ var webpack = require("../lib/webpack");
88

99
var base = path.join(__dirname, "statsCases");
1010
var outputBase = path.join(__dirname, "js", "stats");
11-
var tests = fs.readdirSync(base);
11+
var tests = fs.readdirSync(base).filter(function(testName) {
12+
return fs.existsSync(path.join(base, testName, "index.js"))
13+
});
1214
var Stats = require("../lib/Stats");
1315

1416
describe("Stats", function() {

test/TestCases.test.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ var checkArrayExpectation = require("./checkArrayExpectation");
77

88
var webpack = require("../lib/webpack");
99

10-
var harmony = (+process.versions.node.split(".")[0]) >= 4;
11-
1210
describe("TestCases", function() {
1311
var casesPath = path.join(__dirname, "cases");
1412
var categories = fs.readdirSync(casesPath);
@@ -66,15 +64,15 @@ describe("TestCases", function() {
6664
devtool: "cheap-source-map"
6765
}, {
6866
name: "minimized",
69-
excludeNominimize: true,
67+
minimize: true,
7068
plugins: [
7169
new webpack.optimize.UglifyJsPlugin({
7270
sourceMap: false
7371
})
7472
]
7573
}, {
7674
name: "minimized-source-map",
77-
excludeNominimize: true,
75+
minimize: true,
7876
plugins: [
7977
new webpack.optimize.UglifyJsPlugin()
8078
]
@@ -86,14 +84,14 @@ describe("TestCases", function() {
8684
]
8785
}, {
8886
name: "minimized-deduped",
89-
excludeNominimize: true,
87+
minimize: true,
9088
plugins: [
9189
new webpack.optimize.DedupePlugin(),
9290
new webpack.optimize.UglifyJsPlugin()
9391
]
9492
}, {
9593
name: "optimized",
96-
excludeNominimize: true,
94+
minimize: true,
9795
plugins: [
9896
new webpack.optimize.DedupePlugin(),
9997
new webpack.optimize.OccurrenceOrderPlugin(),
@@ -102,7 +100,7 @@ describe("TestCases", function() {
102100
}, {
103101
name: "all-combined",
104102
devtool: "#@source-map",
105-
excludeNominimize: true,
103+
minimize: true,
106104
plugins: [
107105
new webpack.HotModuleReplacementPlugin(),
108106
new webpack.optimize.DedupePlugin(),
@@ -116,9 +114,12 @@ describe("TestCases", function() {
116114
describe(category.name, function() {
117115
this.timeout(20000);
118116
category.tests.filter(function(test) {
119-
var minimizeCheckOk = !config.excludeNominimize || test.indexOf("nominimize") < 0;
120-
var harmonyCheckOk = !/^es6/.test(test) || harmony;
121-
return minimizeCheckOk && harmonyCheckOk;
117+
var testDirectory = path.join(casesPath, category.name, test);
118+
var filterPath = path.join(testDirectory, "test.filter.js");
119+
if(fs.existsSync(filterPath)) {
120+
return require(filterPath)(config);
121+
}
122+
return true;
122123
}).forEach(function(testName) {
123124
var suite = describe(testName, function() {});
124125
it(testName + " should compile", function(done) {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
var supportsES6 = require("../../../helpers/supportsES6");
2+
3+
module.exports = function(config) {
4+
return !config.minimize && supportsES6();
5+
};

test/helpers/supportsES6.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = function supportsES6() {
2+
try {
3+
eval("class A {}");
4+
return true;
5+
} catch(e) {
6+
return false;
7+
}
8+
};

0 commit comments

Comments
 (0)