mirror of
https://github.com/bknd-io/bknd/
synced 2026-08-02 08:06:00 +00:00
ca55503e66
* refactored core and core/utils imports * refactored core and core/utils imports * refactored media imports * refactored auth imports * refactored data imports * updated package json exports, fixed mm config * fix tests
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { SimpleRenderer } from "./SimpleRenderer";
|
|
|
|
describe(SimpleRenderer, () => {
|
|
const renderer = new SimpleRenderer(
|
|
{
|
|
name: "World",
|
|
views: 123,
|
|
nested: {
|
|
foo: "bar",
|
|
baz: ["quz", "foo"],
|
|
},
|
|
someArray: [1, 2, 3],
|
|
enabled: true,
|
|
},
|
|
{
|
|
renderKeys: true,
|
|
},
|
|
);
|
|
|
|
test("strings", async () => {
|
|
const tests = [
|
|
["Hello {{ name }}, count: {{views}}", "Hello World, count: 123"],
|
|
["Nested: {{nested.foo}}", "Nested: bar"],
|
|
["Nested: {{nested.baz[0]}}", "Nested: quz"],
|
|
] as const;
|
|
|
|
for (const [template, expected] of tests) {
|
|
expect(await renderer.renderString(template)).toEqual(expected);
|
|
}
|
|
});
|
|
|
|
test("arrays", async () => {
|
|
const tests = [
|
|
[
|
|
["{{someArray[0]}}", "{{someArray[1]}}", "{{someArray[2]}}"],
|
|
["1", "2", "3"],
|
|
],
|
|
] as const;
|
|
|
|
for (const [template, expected] of tests) {
|
|
const result = await renderer.render(template);
|
|
expect(result).toEqual(expected as any);
|
|
}
|
|
});
|
|
|
|
test("objects", async () => {
|
|
const tests = [
|
|
[
|
|
{
|
|
foo: "{{name}}",
|
|
bar: "{{views}}",
|
|
baz: "{{nested.foo}}",
|
|
quz: "{{nested.baz[0]}}",
|
|
},
|
|
{
|
|
foo: "World",
|
|
bar: "123",
|
|
baz: "bar",
|
|
quz: "quz",
|
|
},
|
|
],
|
|
] as const;
|
|
|
|
for (const [template, expected] of tests) {
|
|
const result = await renderer.render(template);
|
|
expect(result).toEqual(expected as any);
|
|
}
|
|
});
|
|
});
|