DefinitelyTyped/types/nunjucks/nunjucks-tests.ts
Matt Burstein 1cb82bdd9f [@types/nunjucks] Fix types for functions in Environment (#40026)
* [@types/nunjucks] Fix function signiatures in Environment

* [@types/nunjucks] Add tests for improved Environment function signiatures
2019-11-05 13:20:37 -08:00

70 lines
1.9 KiB
TypeScript

import nunjucks = require("nunjucks");
nunjucks.configure({ autoescape: false });
let rendered = nunjucks.render("./noexists.html");
nunjucks.render('foo.html', { username: 'James' });
nunjucks.render(
'async.html',
(err: nunjucks.lib.TemplateError | null, res: string | null) => {},
);
const ctx = { items: ["Hello", "this", "is", "for", "testing"] };
const src = "{% for item in items %}{{item}}{% endfor %}";
rendered = nunjucks.renderString(src, ctx);
nunjucks.renderString('Hello {{ username }}', { username: 'James' });
const compiled = nunjucks.compile(src);
rendered = compiled.render(ctx);
nunjucks.compile('Hello {{ username }}').render({ username: 'James' });
rendered = nunjucks.precompileString(src, {
name: "TestyWesty"
});
const template = new nunjucks.Template(src);
rendered = template.render(ctx);
let env = nunjucks.configure({ autoescape: false });
nunjucks.configure('/views');
nunjucks.configure('views', {
autoescape: true,
watch: true
});
rendered = env.renderString(src, ctx);
let extension: nunjucks.Extension = {
tags: ["glitter", "star wars", "Age of Empires"],
parse(parser, nodes, lexer) {
return "The parser api is complicated";
}
};
env = env.addExtension("SpawnGlitter", extension);
const hasExtension: boolean = env.hasExtension('SpawnGlitter');
extension = env.getExtension('SpawnGlitter');
env.removeExtension('SpawnGlitter');
env = env.addGlobal('key', 'value');
const value = env.getGlobal('key');
env = env.addFilter('testFilter', arg => arg, false);
const testFilter: ((arg: any) => any) = env.getFilter('testFilter');
nunjucks.installJinjaCompat();
class MyLoader extends nunjucks.Loader implements nunjucks.ILoader {
getSource(name: string): nunjucks.LoaderSource {
return {
src: "Amadala",
path: "The Right One",
noCache: false
};
}
}
env = new nunjucks.Environment(new MyLoader());
new nunjucks.runtime.SafeString("an unsafe string");