Skip to content

Commit 65eecf5

Browse files
authored
Merge pull request #99 from bholloway/additional-tests
Additional tests
2 parents 5d7077a + 2551ff5 commit 65eecf5

19 files changed

+977
-52
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
"scripts": {
99
"lint": "jshint packages --exclude **/node_modules",
1010
"test:unit": "tape **/*.spec.js | tap-diff",
11-
"test:e2e": "tape test | tap-diff"
11+
"test:e2e": "tape test | tap-diff",
12+
"debug:e2e": "node $NODE_DEBUG_OPTION $(npm bin)/tape test | tap-diff"
1213
},
1314
"devDependencies": {
1415
"blue-tape": "^1.0.0",

packages/resolve-url-loader/test/webpack4-sassloader7-sass4/webpack.config.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ module.exports = {
7070
map: !!JSON.parse(process.env.DEVTOOL),
7171
// the following optimisations are fine but e2e assertions are easier without them
7272
cssDeclarationSorter: false,
73-
normalizeUrl: false
73+
normalizeUrl: false,
74+
discardUnused: false
7475
}
7576
})
7677
]

test/cases/absolute-asset.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {all, testDefault, testAbsolute, testDebug, testKeepQuery, testRoot, testW
1212
const {buildDevNormal, buildDevNoUrl, buildProdNormal, buildProdNoUrl, buildProdNoDevtool} = require('./common/builds');
1313
const {moduleNotFound} = require('./common/partials');
1414
const {
15-
onlyVersion, onlyOS, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent,
15+
onlyMeta, onlyOS, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent,
1616
assertSourceMapComment, assertSourceMapContent, assertNoSourceMap, assertAssetUrls, assertAssetFiles, assertStdout
1717
} = require('../lib/assert');
1818

@@ -88,10 +88,10 @@ const assertContentProd = compose(assertContent(), trim)`
8888
`;
8989

9090
const assertSourcemapProd = sequence(
91-
onlyVersion('webpack<4')(
91+
onlyMeta('meta.version.webpack < 4')(
9292
assertSourceMapComment(true)
9393
),
94-
onlyVersion('webpack>=4')(
94+
onlyMeta('meta.version.webpack >= 4')(
9595
assertSourceMapComment(false)
9696
),
9797
assertSourceMapContent(({cwd, meta: {engine, asset, version: {webpack}}}) => {

test/cases/adjacent-asset.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {testDefault, testAbsolute, testDebug, testKeepQuery, testWithLabel} = req
1212
const {buildDevNormal, buildDevNoUrl, buildProdNormal, buildProdNoUrl, buildProdNoDevtool} = require('./common/builds');
1313
const {moduleNotFound} = require('./common/partials');
1414
const {
15-
onlyVersion, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
15+
onlyMeta, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
1616
assertSourceMapContent, assertNoSourceMap, assertAssetUrls, assertAssetFiles, assertStdout
1717
} = require('../lib/assert');
1818

@@ -78,10 +78,10 @@ const assertContentProd = compose(assertContent(), trim)`
7878
`;
7979

8080
const assertSourcemapProd = sequence(
81-
onlyVersion('webpack<4')(
81+
onlyMeta('meta.version.webpack < 4')(
8282
assertSourceMapComment(true)
8383
),
84-
onlyVersion('webpack>=4')(
84+
onlyMeta('meta.version.webpack >= 4')(
8585
assertSourceMapComment(false)
8686
),
8787
assertSourceMapContent(({meta: {engine, version: {webpack}}}) => {

test/cases/common/partials.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
const {all, testDefault, testSilent} = require('./tests');
44
const {buildDevNormal, buildDevBail, buildProdNormal, buildProdBail} = require('./builds');
5-
const {onlyVersion, assertWebpackOk, assertWebpackNotOk, assertStdout} = require('../../lib/assert');
5+
const {onlyMeta, assertWebpackOk, assertWebpackNotOk, assertStdout} = require('../../lib/assert');
66

7-
// Allow 1-2 errors
7+
// Allow 1-N errors
88
// - webpack may repeat errors with a header line taken from the parent loader
9-
const assertModuleNotFoundError = assertStdout('"Module not found" error')([1, 2])`
9+
const assertModuleNotFoundError = assertStdout('"Module not found" error')([1, 100])`
1010
^[ ]*ERROR[^\n]*
1111
[ ]*Module build failed(:|[^\n]*\n)[ ]*ModuleNotFoundError: Module not found:
1212
`;
1313

1414
exports.moduleNotFound =
1515
all(testDefault, testSilent)(
16-
onlyVersion('webpack=1')(
16+
onlyMeta('meta.version.webpack ==1')(
1717
buildDevBail(
1818
assertWebpackNotOk
1919
),
@@ -29,7 +29,7 @@ exports.moduleNotFound =
2929
assertModuleNotFoundError
3030
)
3131
),
32-
onlyVersion('webpack>1')(
32+
onlyMeta('meta.version.webpack > 1')(
3333
buildDevNormal(
3434
assertWebpackNotOk,
3535
assertModuleNotFoundError

test/cases/common/tests.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const {join} = require('path');
44
const sequence = require('promise-compose');
55
const {test, layer, meta, env} = require('test-my-cli');
66

7-
const {onlyVersion, assertStderr} = require('../../lib/assert');
7+
const {onlyMeta, assertStderr} = require('../../lib/assert');
88

99
exports.all = (...tests) => (...rest) =>
1010
sequence(...tests.map((test) => test(...rest)));
@@ -56,7 +56,7 @@ exports.testDefault = (...rest) =>
5656

5757
// css-loader deprecated options.root around the time of webpack@4
5858
exports.testAbsolute = (...rest) =>
59-
onlyVersion('webpack<4')(
59+
onlyMeta('meta.version.webpack < 4')(
6060
test(
6161
'absolute=true',
6262
layer()(

test/cases/deep-asset.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {testDefault, testAbsolute, testDebug, testKeepQuery, testWithLabel} = req
1212
const {buildDevNormal, buildDevNoUrl, buildProdNormal, buildProdNoUrl, buildProdNoDevtool} = require('./common/builds');
1313
const {moduleNotFound} = require('./common/partials');
1414
const {
15-
onlyVersion, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
15+
onlyMeta, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
1616
assertSourceMapContent, assertNoSourceMap, assertAssetUrls, assertAssetFiles, assertStdout
1717
} = require('../lib/assert');
1818

@@ -78,10 +78,10 @@ const assertContentProd = compose(assertContent(), trim)`
7878
`;
7979

8080
const assertSourcemapProd = sequence(
81-
onlyVersion('webpack<4')(
81+
onlyMeta('meta.version.webpack < 4')(
8282
assertSourceMapComment(true)
8383
),
84-
onlyVersion('webpack>=4')(
84+
onlyMeta('meta.version.webpack >= 4')(
8585
assertSourceMapComment(false)
8686
),
8787
assertSourceMapContent(({meta: {engine, version: {webpack}}}) => {

test/cases/http-asset.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const {withCacheBase} = require('../lib/higher-order');
1111
const {testDefault, testAbsolute, testDebug, testKeepQuery} = require('./common/tests');
1212
const {buildDevNormal, buildDevNoUrl, buildProdNormal, buildProdNoUrl, buildProdNoDevtool} = require('./common/builds');
1313
const {
14-
onlyVersion, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
14+
onlyMeta, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
1515
assertSourceMapContent, assertNoSourceMap, assertAssetUrls, assertAssetFiles
1616
} = require('../lib/assert');
1717

@@ -77,10 +77,10 @@ const assertContentProd = compose(assertContent(), trim)`
7777
`;
7878

7979
const assertSourcemapProd = sequence(
80-
onlyVersion('webpack<4')(
80+
onlyMeta('meta.version.webpack < 4')(
8181
assertSourceMapComment(true)
8282
),
83-
onlyVersion('webpack>=4')(
83+
onlyMeta('meta.version.webpack >= 4')(
8484
assertSourceMapComment(false)
8585
),
8686
assertSourceMapContent(({meta: {engine, version: {webpack}}}) => {

test/cases/immediate-asset.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {testDefault, testAbsolute, testDebug, testKeepQuery, testWithLabel} = req
1212
const {buildDevNormal, buildDevNoUrl, buildProdNormal, buildProdNoUrl, buildProdNoDevtool} = require('./common/builds');
1313
const {moduleNotFound} = require('./common/partials');
1414
const {
15-
onlyVersion, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
15+
onlyMeta, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
1616
assertSourceMapContent, assertNoSourceMap, assertAssetUrls, assertAssetFiles, assertStdout
1717
} = require('../lib/assert');
1818

@@ -78,10 +78,10 @@ const assertContentProd = compose(assertContent(), trim)`
7878
`;
7979

8080
const assertSourcemapProd = sequence(
81-
onlyVersion('webpack<4')(
81+
onlyMeta('meta.version.webpack < 4')(
8282
assertSourceMapComment(true)
8383
),
84-
onlyVersion('webpack>=4')(
84+
onlyMeta('meta.version.webpack >= 4')(
8585
assertSourceMapComment(false)
8686
),
8787
assertSourceMapContent(({meta: {engine, version: {webpack}}}) => {

test/cases/misconfiguration.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const {
1313
} = require('./common/tests');
1414
const {buildDevNormal, buildDevBail, buildProdNormal, buildProdBail} = require('./common/builds');
1515
const {
16-
onlyVersion, assertWebpackOk, assertWebpackNotOk, assertNoErrors, assertNoMessages, assertContent, assertStdout
16+
onlyMeta, assertWebpackOk, assertWebpackNotOk, assertNoErrors, assertNoMessages, assertContent, assertStdout
1717
} = require('../lib/assert');
1818

1919
const assertContentDev = compose(assertContent(/;\s*}/g, ';\n}'), outdent)`
@@ -81,7 +81,7 @@ module.exports = test(
8181
}),
8282
testEngineFail(
8383
all(testDefault, testSilent)(
84-
onlyVersion('webpack=1')(
84+
onlyMeta('meta.version.webpack == 1')(
8585
buildDevBail(
8686
assertWebpackNotOk
8787
),
@@ -97,7 +97,7 @@ module.exports = test(
9797
assertCssError
9898
)
9999
),
100-
onlyVersion('webpack>1')(
100+
onlyMeta('meta.version.webpack > 1')(
101101
buildDevNormal(
102102
assertWebpackNotOk,
103103
assertCssError
@@ -201,7 +201,7 @@ module.exports = test(
201201
),
202202
testNonFunctionJoin(
203203
all(testDefault, testSilent)(
204-
onlyVersion('webpack=1')(
204+
onlyMeta('meta.version.webpack == 1')(
205205
buildDevBail(
206206
assertWebpackNotOk
207207
),
@@ -217,7 +217,7 @@ module.exports = test(
217217
assertNonFunctionJoinError
218218
)
219219
),
220-
onlyVersion('webpack>1')(
220+
onlyMeta('meta.version.webpack > 1')(
221221
buildDevNormal(
222222
assertWebpackNotOk,
223223
assertNonFunctionJoinError
@@ -231,7 +231,7 @@ module.exports = test(
231231
),
232232
testWrongArityJoin(
233233
all(testDefault, testSilent)(
234-
onlyVersion('webpack=1')(
234+
onlyMeta('meta.version.webpack == 1')(
235235
buildDevBail(
236236
assertWebpackNotOk
237237
),
@@ -247,7 +247,7 @@ module.exports = test(
247247
assertWrongArityJoinError
248248
)
249249
),
250-
onlyVersion('webpack>1')(
250+
onlyMeta('meta.version.webpack > 1')(
251251
buildDevNormal(
252252
assertWebpackNotOk,
253253
assertWrongArityJoinError
@@ -291,7 +291,7 @@ module.exports = test(
291291
),
292292
testNonExistentRoot(
293293
all(testDefault, testSilent)(
294-
onlyVersion('webpack=1')(
294+
onlyMeta('meta.version.webpack == 1')(
295295
buildDevBail(
296296
assertWebpackNotOk
297297
),
@@ -307,7 +307,7 @@ module.exports = test(
307307
assertNonExistentRootError
308308
)
309309
),
310-
onlyVersion('webpack>1')(
310+
onlyMeta('meta.version.webpack > 1')(
311311
buildDevNormal(
312312
assertWebpackNotOk,
313313
assertNonExistentRootError

test/cases/module-relative-asset.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {testDefault, testAbsolute, testDebug, testKeepQuery, testWithLabel} = req
1212
const {buildDevNormal, buildDevNoUrl, buildProdNormal, buildProdNoUrl, buildProdNoDevtool} = require('./common/builds');
1313
const {moduleNotFound} = require('./common/partials');
1414
const {
15-
onlyVersion, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
15+
onlyMeta, assertWebpackOk, assertNoErrors, assertNoMessages, assertContent, assertSourceMapComment,
1616
assertSourceMapContent, assertNoSourceMap, assertAssetUrls, assertAssetFiles
1717
} = require('../lib/assert');
1818

@@ -78,10 +78,10 @@ const assertContentProd = compose(assertContent(), trim)`
7878
`;
7979

8080
const assertSourcemapProd = sequence(
81-
onlyVersion('webpack<4')(
81+
onlyMeta('meta.version.webpack < 4')(
8282
assertSourceMapComment(true)
8383
),
84-
onlyVersion('webpack>=4')(
84+
onlyMeta('meta.version.webpack >= 4')(
8585
assertSourceMapComment(false)
8686
),
8787
assertSourceMapContent(({meta: {engine, version: {webpack}}}) => {

0 commit comments

Comments
 (0)