webpack/test/cases/parsing/context/index.js

52 lines
1.9 KiB
JavaScript
Raw Normal View History

it("should be able to load a file with the require.context method", function() {
expect(require.context("./templates")("./tmpl")).toBe("test template");
expect((require.context("./././templates"))("./tmpl")).toBe("test template");
expect((require.context("././templates/.")("./tmpl"))).toBe("test template");
expect(require.context("./loaders/queryloader?dog=bark!./templates?cat=meow")("./tmpl")).toEqual({
resourceQuery: "?cat=meow",
query: "?dog=bark",
prev: "module.exports = \"test template\";"
});
expect(require . context ( "." + "/." + "/" + "templ" + "ates" ) ( "./subdir/tmpl.js" )).toBe("subdir test template");
expect(require.context("./templates", true, /./)("xyz")).toBe("xyz");
});
it("should automatically create contexts", function() {
var template = "tmpl", templateFull = "./tmpl.js";
var mp = "mp", tmp = "tmp", mpl = "mpl";
expect(require("./templates/" + template)).toBe("test template");
expect(require("./templates/" + tmp + "l")).toBe("test template");
expect(require("./templates/t" + mpl)).toBe("test template");
expect(require("./templates/t" + mp + "l")).toBe("test template");
});
it("should be able to require.resolve with automatical context", function() {
var template = "tmpl";
expect(require.resolve("./templates/" + template)).toBe(require.resolve("./templates/tmpl"));
});
it("should be able to use renaming combined with a context", function() {
var renamedRequire = require;
require = function () {};
require("fail");
var template = "tmpl";
expect(renamedRequire("./templates/" + template)).toBe("test template");
2014-07-26 20:48:42 +08:00
});
it("should compile an empty context", function() {
var x = "xxx";
2014-07-26 20:48:42 +08:00
(function() {
require("./templates/notExisting" + x);
}).should.throw(/xxx/);
2014-07-26 20:48:42 +08:00
});
it("should execute an empty context", function() {
var context;
(function() {
context = require.context("./templates/", true, /^\.\/notExisting/);
}).should.not.throw();
(function() {
context("");
}).should.throw();
});