From 61d508e9f21b0ec5b112a1fe0dc442b271e57d4b Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 1 Jul 2019 09:36:20 +0200 Subject: [PATCH] improve test cases for more edge cases --- test/configCases/loaders/issue-9053/a.js | 1 - test/configCases/loaders/issue-9053/b.js | 2 +- test/configCases/loaders/issue-9053/c.js | 1 + test/configCases/loaders/issue-9053/index.js | 16 ++++++++++++++-- .../loaders/issue-9053/node_modules/loader1.js | 2 +- .../loaders/issue-9053/node_modules/loader2.js | 2 +- .../loaders/issue-9053/node_modules/loader3.js | 3 +++ .../loaders/issue-9053/webpack.config.js | 4 ++++ 8 files changed, 25 insertions(+), 6 deletions(-) delete mode 100644 test/configCases/loaders/issue-9053/a.js create mode 100644 test/configCases/loaders/issue-9053/c.js create mode 100644 test/configCases/loaders/issue-9053/node_modules/loader3.js diff --git a/test/configCases/loaders/issue-9053/a.js b/test/configCases/loaders/issue-9053/a.js deleted file mode 100644 index 3dea10b12a9..00000000000 --- a/test/configCases/loaders/issue-9053/a.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("c.js!=!loader1!./b.js"); diff --git a/test/configCases/loaders/issue-9053/b.js b/test/configCases/loaders/issue-9053/b.js index dfbbeb621fa..af9f2fcd0e6 100644 --- a/test/configCases/loaders/issue-9053/b.js +++ b/test/configCases/loaders/issue-9053/b.js @@ -1 +1 @@ -module.exports = "b"; +module.exports = ["b"]; diff --git a/test/configCases/loaders/issue-9053/c.js b/test/configCases/loaders/issue-9053/c.js new file mode 100644 index 00000000000..da8dc0c1aa3 --- /dev/null +++ b/test/configCases/loaders/issue-9053/c.js @@ -0,0 +1 @@ +module.exports = ["c"]; diff --git a/test/configCases/loaders/issue-9053/index.js b/test/configCases/loaders/issue-9053/index.js index b621fef07ab..0ab03f53784 100644 --- a/test/configCases/loaders/issue-9053/index.js +++ b/test/configCases/loaders/issue-9053/index.js @@ -1,5 +1,17 @@ it("should apply inline loaders before matchResource", function() { - var foo = require("./a"); + var foo = require("c.js!=!loader1!./b.js"); - expect(foo).toBe("d"); + expect(foo).toEqual(["b", "1", "2"]); +}); + +it("should apply config loaders before inline loaders", function() { + var foo = require("loader1!./c.js"); + + expect(foo).toEqual(["c", "2", "1"]); +}); + +it("should not apply config loaders when matchResource is used", function() { + var foo = require("d.js!=!loader1!./c.js"); + + expect(foo).toEqual(["c", "1", "3"]); }); diff --git a/test/configCases/loaders/issue-9053/node_modules/loader1.js b/test/configCases/loaders/issue-9053/node_modules/loader1.js index 03f22a2e6fc..ff626a75267 100644 --- a/test/configCases/loaders/issue-9053/node_modules/loader1.js +++ b/test/configCases/loaders/issue-9053/node_modules/loader1.js @@ -1,3 +1,3 @@ module.exports = function(source) { - return "module.exports = \"c\";"; + return source + '\nmodule.exports.push("1");'; }; diff --git a/test/configCases/loaders/issue-9053/node_modules/loader2.js b/test/configCases/loaders/issue-9053/node_modules/loader2.js index 8d8b282d603..4529e002f8b 100644 --- a/test/configCases/loaders/issue-9053/node_modules/loader2.js +++ b/test/configCases/loaders/issue-9053/node_modules/loader2.js @@ -1,3 +1,3 @@ module.exports = function(source) { - return "module.exports = \"d\";"; + return source + '\nmodule.exports.push("2");'; }; diff --git a/test/configCases/loaders/issue-9053/node_modules/loader3.js b/test/configCases/loaders/issue-9053/node_modules/loader3.js new file mode 100644 index 00000000000..824c6620d3f --- /dev/null +++ b/test/configCases/loaders/issue-9053/node_modules/loader3.js @@ -0,0 +1,3 @@ +module.exports = function(source) { + return source + '\nmodule.exports.push("3");'; +}; diff --git a/test/configCases/loaders/issue-9053/webpack.config.js b/test/configCases/loaders/issue-9053/webpack.config.js index 8f3a1378e5e..b77f86881e4 100644 --- a/test/configCases/loaders/issue-9053/webpack.config.js +++ b/test/configCases/loaders/issue-9053/webpack.config.js @@ -4,6 +4,10 @@ module.exports = { { test: /c\.js$/, use: ["loader2"] + }, + { + test: /d\.js$/, + use: ["loader3"] } ] }