2013-12-16 06:10:41 +08:00
|
|
|
it("should be able to load a file with the require.context method", function() {
|
2018-01-27 05:51:03 +08:00
|
|
|
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({
|
2017-11-16 14:20:50 +08:00
|
|
|
resourceQuery: "?cat=meow",
|
|
|
|
query: "?dog=bark",
|
2019-08-29 21:28:19 +08:00
|
|
|
prev: 'module.exports = "test template";'
|
2017-11-16 14:20:50 +08:00
|
|
|
});
|
2018-01-27 05:51:03 +08:00
|
|
|
expect(require . context ( "." + "/." + "/" + "templ" + "ates" ) ( "./subdir/tmpl.js" )).toBe("subdir test template");
|
|
|
|
expect(require.context("./templates", true, /./)("xyz")).toBe("xyz");
|
2013-12-16 06:10:41 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
it("should automatically create contexts", function() {
|
|
|
|
var template = "tmpl", templateFull = "./tmpl.js";
|
|
|
|
var mp = "mp", tmp = "tmp", mpl = "mpl";
|
2018-01-27 05:51:03 +08:00
|
|
|
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");
|
2013-12-16 06:10:41 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
it("should be able to require.resolve with automatical context", function() {
|
|
|
|
var template = "tmpl";
|
2019-08-29 21:28:19 +08:00
|
|
|
expect(require.resolve("./templates/" + template)).toBe(
|
|
|
|
require.resolve("./templates/tmpl")
|
|
|
|
);
|
2013-12-16 06:10:41 +08:00
|
|
|
});
|
2014-03-03 21:56:17 +08:00
|
|
|
|
|
|
|
it("should be able to use renaming combined with a context", function() {
|
|
|
|
var renamedRequire = require;
|
|
|
|
var template = "tmpl";
|
2018-01-27 05:51:03 +08:00
|
|
|
expect(renamedRequire("./templates/" + template)).toBe("test template");
|
2014-07-26 20:48:42 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
it("should compile an empty context", function() {
|
2017-12-19 22:50:09 +08:00
|
|
|
var x = "xxx";
|
2018-01-27 06:59:38 +08:00
|
|
|
expect(function() {
|
2014-07-26 20:48:42 +08:00
|
|
|
require("./templates/notExisting" + x);
|
2018-01-27 06:59:38 +08:00
|
|
|
}).toThrowError(/xxx/);
|
2014-07-26 20:48:42 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
it("should execute an empty context", function() {
|
|
|
|
var context;
|
2018-01-27 06:59:38 +08:00
|
|
|
expect(function() {
|
2014-07-26 20:48:42 +08:00
|
|
|
context = require.context("./templates/", true, /^\.\/notExisting/);
|
2018-01-27 06:59:38 +08:00
|
|
|
}).not.toThrowError();
|
|
|
|
expect(function() {
|
2014-07-26 20:48:42 +08:00
|
|
|
context("");
|
2018-01-27 06:59:38 +08:00
|
|
|
}).toThrowError();
|
2017-11-16 14:20:50 +08:00
|
|
|
});
|