From 55f2cf0d9f1a8ed3324bdedb3b32c562cc3fd486 Mon Sep 17 00:00:00 2001 From: Joshua Wiens Date: Fri, 7 Jul 2017 07:28:39 -0500 Subject: [PATCH] test: Failing test for css ordering --- src/index.js | 2 +- .../webpack-integration.test.js.snap | 10 ++++++++++ .../cases/chunk-modules-css-wrong-order/a.css | 3 +++ test/cases/chunk-modules-css-wrong-order/a.js | 2 ++ .../cases/chunk-modules-css-wrong-order/b.css | 3 +++ test/cases/chunk-modules-css-wrong-order/b.js | 1 + .../expected/file.css | 7 +++++++ .../chunk-modules-css-wrong-order/index.js | 1 + .../webpack.config.js | 19 +++++++++++++++++++ 9 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 test/cases/chunk-modules-css-wrong-order/a.css create mode 100644 test/cases/chunk-modules-css-wrong-order/a.js create mode 100644 test/cases/chunk-modules-css-wrong-order/b.css create mode 100644 test/cases/chunk-modules-css-wrong-order/b.js create mode 100644 test/cases/chunk-modules-css-wrong-order/expected/file.css create mode 100644 test/cases/chunk-modules-css-wrong-order/index.js create mode 100644 test/cases/chunk-modules-css-wrong-order/webpack.config.js diff --git a/src/index.js b/src/index.js index 02f061de..2bc8b28d 100644 --- a/src/index.js +++ b/src/index.js @@ -144,7 +144,7 @@ class ExtractTextPlugin { async.forEach(chunks, (chunk, callback) => { // eslint-disable-line no-shadow const extractedChunk = extractedChunks[chunks.indexOf(chunk)]; const shouldExtract = !!(options.allChunks || isInitialOrHasNoParents(chunk)); - chunk.sortModules(); + chunk.sortModules(module); async.forEach(chunk.mapModules(c => c), (module, callback) => { // eslint-disable-line no-shadow let meta = module[NS]; if (meta && (!meta.options.id || meta.options.id === id)) { diff --git a/test/__snapshots__/webpack-integration.test.js.snap b/test/__snapshots__/webpack-integration.test.js.snap index e9fa3bbf..05b25321 100644 --- a/test/__snapshots__/webpack-integration.test.js.snap +++ b/test/__snapshots__/webpack-integration.test.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Webpack Integration Tests chunk-modules-css-wrong-order 1`] = ` +".block { + color: tomato; +} +.App { + color: black; +} +" +`; + exports[`Webpack Integration Tests chunk-modules-nested-ordered-by-id 1`] = ` "body { margin: 0; diff --git a/test/cases/chunk-modules-css-wrong-order/a.css b/test/cases/chunk-modules-css-wrong-order/a.css new file mode 100644 index 00000000..49316133 --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/a.css @@ -0,0 +1,3 @@ +.App { + text-align: center; +} diff --git a/test/cases/chunk-modules-css-wrong-order/a.js b/test/cases/chunk-modules-css-wrong-order/a.js new file mode 100644 index 00000000..58a603ab --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/a.js @@ -0,0 +1,2 @@ +require('./b.js'); +require('./a.css'); diff --git a/test/cases/chunk-modules-css-wrong-order/b.css b/test/cases/chunk-modules-css-wrong-order/b.css new file mode 100644 index 00000000..a7aa906f --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/b.css @@ -0,0 +1,3 @@ +.block { + font-size: 16px; +} diff --git a/test/cases/chunk-modules-css-wrong-order/b.js b/test/cases/chunk-modules-css-wrong-order/b.js new file mode 100644 index 00000000..96c31b3d --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/b.js @@ -0,0 +1 @@ +require('./b.css'); diff --git a/test/cases/chunk-modules-css-wrong-order/expected/file.css b/test/cases/chunk-modules-css-wrong-order/expected/file.css new file mode 100644 index 00000000..83b0a191 --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/expected/file.css @@ -0,0 +1,7 @@ +.block { + font-size: 16px; +} +.App { + text-align: center; +} + diff --git a/test/cases/chunk-modules-css-wrong-order/index.js b/test/cases/chunk-modules-css-wrong-order/index.js new file mode 100644 index 00000000..d87ec6cc --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/index.js @@ -0,0 +1 @@ +require('./a.js'); diff --git a/test/cases/chunk-modules-css-wrong-order/webpack.config.js b/test/cases/chunk-modules-css-wrong-order/webpack.config.js new file mode 100644 index 00000000..879e979d --- /dev/null +++ b/test/cases/chunk-modules-css-wrong-order/webpack.config.js @@ -0,0 +1,19 @@ +import ExtractTextPlugin from '../../../src/index'; + +module.exports = { + entry: './index', + module: { + loaders: [ + { + test: /\.css$/, + use: ExtractTextPlugin.extract({ + fallback: { loader: 'style-loader' }, + use: { loader: 'css-loader', }, + }) + }, + ], + }, + plugins: [ + new ExtractTextPlugin('file.css'), + ], +};