Software /
code /
prosody
Diff
spec/util_interpolation_spec.lua @ 11064:af1e3b7d9ea3
util.interpolation: Add '~' as the opposite of '&' (render sub-block if falsy)
One more magic character consumed!
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 09 Sep 2020 17:10:33 +0100 |
parent | 10413:604096ce2f82 |
child | 11065:95eb1a981ef6 |
line wrap: on
line diff
--- a/spec/util_interpolation_spec.lua Tue Sep 08 22:50:43 2020 +0200 +++ b/spec/util_interpolation_spec.lua Wed Sep 09 17:10:33 2020 +0100 @@ -32,7 +32,15 @@ local expect_map = [[ FOO: bar ]] - +local template_not = [[ +{thing~Thing is nil}{thing&Thing is not nil} +]] +local expect_not_true = [[ +Thing is not nil +]] +local expect_not_nil = [[ +Thing is nil +]] describe("util.interpolation", function () it("renders", function () local render = require "util.interpolation".new("%b{}", string.upper, { sort = function (t) table.sort(t) return t end }); @@ -43,5 +51,7 @@ assert.equal(expect_func_pipe, render(template_func_pipe, { foo = { "c", "a", "d", "b", } })); -- assert.equal("", render(template_func_pipe, { foo = nil })); -- FIXME assert.equal(expect_map, render(template_map, { foo = { foo = "bar" } })); + assert.equal(expect_not_true, render(template_not, { thing = true })); + assert.equal(expect_not_nil, render(template_not, { thing = nil })); end); end);