mirror of https://github.com/webpack/webpack.git
120 lines
3.2 KiB
JavaScript
120 lines
3.2 KiB
JavaScript
it("should handle named chunks", function(done) {
|
|
var sync = false;
|
|
require.ensure([], function(require) {
|
|
require("./empty?a");
|
|
require("./empty?b");
|
|
testLoad();
|
|
sync = true;
|
|
process.nextTick(function() {
|
|
sync = false;
|
|
});
|
|
}, "named-chunk");
|
|
function testLoad() {
|
|
require.ensure([], function(require) {
|
|
require("./empty?c");
|
|
require("./empty?d");
|
|
expect(sync).toBeTruthy();
|
|
done();
|
|
}, "named-chunk");
|
|
}
|
|
});
|
|
|
|
it("should handle empty named chunks", function(done) {
|
|
var sync = false;
|
|
require.ensure([], function(require) {
|
|
expect(sync).toBeTruthy();
|
|
}, "empty-named-chunk");
|
|
require.ensure([], function(require) {
|
|
expect(sync).toBeTruthy();
|
|
done();
|
|
}, "empty-named-chunk");
|
|
sync = true;
|
|
setImmediate(function() {
|
|
sync = false;
|
|
});
|
|
});
|
|
|
|
it("should handle named chunks when there is an error callback", function(done) {
|
|
var sync = false;
|
|
require.ensure([], function(require) {
|
|
require("./empty?e");
|
|
require("./empty?f");
|
|
testLoad();
|
|
sync = true;
|
|
process.nextTick(function() {
|
|
sync = false;
|
|
});
|
|
}, function(error) {}, "named-chunk-for-error-callback");
|
|
function testLoad() {
|
|
require.ensure([], function(require) {
|
|
require("./empty?g");
|
|
require("./empty?h");
|
|
expect(sync).toBeTruthy();
|
|
done();
|
|
}, function(error) {}, "named-chunk-for-error-callback");
|
|
}
|
|
});
|
|
|
|
it("should handle empty named chunks when there is an error callback", function(done) {
|
|
var sync = false;
|
|
require.ensure([], function(require) {
|
|
expect(sync).toBeTruthy();
|
|
}, function(error) {}, "empty-named-chunk-for-error-callback");
|
|
require.ensure([], function(require) {
|
|
expect(sync).toBeTruthy();
|
|
done();
|
|
}, function(error) {}, "empty-named-chunk-for-error-callback");
|
|
sync = true;
|
|
setImmediate(function() {
|
|
sync = false;
|
|
});
|
|
});
|
|
|
|
it("should be able to use named chunks in import()", function(done) {
|
|
var sync = false;
|
|
import("./empty?import1-in-chunk1" /* webpackChunkName: "import-named-chunk-1" */).then(function(result){
|
|
var i = 0;
|
|
import("./empty?import2-in-chunk1" /* webpackChunkName: "import-named-chunk-1" */).then(function(result){
|
|
expect(sync).toBeTruthy();
|
|
if(i++ > 0) done();
|
|
}).catch(function(err){
|
|
done(err);
|
|
});
|
|
import("./empty?import3-in-chunk2" /* webpackChunkName: "import-named-chunk-2" */).then(function(result){
|
|
expect(sync).toBeFalsy();
|
|
if(i++ > 0) done();
|
|
}).catch(function(err){
|
|
done(err);
|
|
});
|
|
sync = true;
|
|
Promise.resolve().then(function(){}).then(function(){}).then(function(){
|
|
sync = false;
|
|
});
|
|
});
|
|
});
|
|
|
|
it("should be able to use named chunk in context import()", function(done) {
|
|
// cspell:ignore mpty
|
|
var mpty = "mpty";
|
|
var sync = false;
|
|
import("./e" + mpty + "2" /* webpackChunkName: "context-named-chunk" */).then(function(result) {
|
|
var i = 0;
|
|
import("./e" + mpty + "3" /* webpackChunkName: "context-named-chunk" */).then(function(result){
|
|
expect(sync).toBeTruthy();
|
|
if(i++ > 0) done();
|
|
}).catch(function(err){
|
|
done(err);
|
|
});
|
|
import("./e" + mpty + "4" /* webpackChunkName: "context-named-chunk-2" */).then(function(result){
|
|
expect(sync).toBeFalsy();
|
|
if(i++ > 0) done();
|
|
}).catch(function(err){
|
|
done(err);
|
|
});
|
|
sync = true;
|
|
Promise.resolve().then(function(){}).then(function(){}).then(function(){
|
|
sync = false;
|
|
});
|
|
});
|
|
});
|