Files
Wez Furlong ad8a858136 templates: add Handlebars dialect
This is fairly barebones: there are very few helpers at this time.

refs: https://github.com/KumoCorp/kumomta/issues/446
2025-11-09 07:53:20 +00:00

69 lines
1.1 KiB
Lua

local kumo = require 'kumo'
local utils = require 'policy-extras.policy_utils'
utils.assert_eq(
kumo.string.eval_template('example.json', [[{{ name }}]], { name = 'John' }),
[["John"]]
)
utils.assert_eq(
kumo.string.eval_template(
'example.html',
[[{{ name }}]],
{ name = 'John & Co' }
),
[[John & Co]]
)
utils.assert_eq(
kumo.string.eval_template(
'example.txt',
[[{{ name }}]],
{ name = 'John & Co' }
),
[[John & Co]]
)
utils.assert_eq(
kumo.string.eval_template(
'example.txt',
[[{{ name }}]],
{ name = 'John & Co' },
'Jinja'
),
[[John & Co]]
)
utils.assert_eq(
kumo.string.eval_template(
'example.txt',
[[{{ name }}]],
{ name = 'John & Co' },
'Static'
),
[[{{ name }}]]
)
-- Handlebars
-- Has no json escaper
utils.assert_eq(
kumo.string.eval_template(
'example.json',
[[{{ name }}]],
{ name = 'John' },
'Handlebars'
),
[[John]]
)
-- Does have html escaping
utils.assert_eq(
kumo.string.eval_template(
'example.html',
[[{{ name }}]],
{ name = 'John & Co' },
'Handlebars'
),
[[John & Co]]
)