import { QWeb } from "../../src/qweb/index";
import { renderToString } from "../helpers";
//------------------------------------------------------------------------------
// Setup and helpers
//------------------------------------------------------------------------------
// We create before each test:
// - qweb: a new QWeb instance
let qweb: QWeb;
beforeEach(() => {
QWeb.TEMPLATES = {};
QWeb.nextId = 1;
qweb = new QWeb();
});
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
describe("old t-esc directive", () => {
test("simple dynamic value", () => {
qweb.addTemplate("test", '');
expect(renderToString(qweb, "test", { text: "hello vdom" })).toBe("hello vdom");
});
test("escaping", () => {
qweb.addTemplate("test", ``);
expect(renderToString(qweb, "test", { var: "abc" })).toBe(
"<ok>abc</ok>"
);
});
});
describe("old t-raw directive", () => {
test("literal", () => {
qweb.addTemplate("test", ``);
expect(renderToString(qweb, "test")).toBe("ok");
});
test("variable", () => {
qweb.addTemplate("test", ``);
expect(renderToString(qweb, "test", { var: "ok" })).toBe("ok");
});
test("not escaping", () => {
qweb.addTemplate("test", `
`);
expect(renderToString(qweb, "test", { var: "" })).toBe("
");
});
test("t-raw and another sibling node", () => {
qweb.addTemplate("test", `hello`);
expect(renderToString(qweb, "test", { var: "world" })).toBe(
"helloworld"
);
});
test("t-raw with comment", () => {
qweb.addTemplate("test", ``);
expect(renderToString(qweb, "test", { var: "text
" })).toBe(
"text
"
);
});
});