feature: plugin API, working on #86

This commit is contained in:
harttle
2019-01-21 15:24:13 +08:00
parent 9ba352ef04
commit dee4303fad
3 changed files with 40 additions and 0 deletions
+18
View File
@@ -12,6 +12,24 @@ describe('Liquid', function () {
}).to.throw(/illegal root/)
})
})
describe('#plugin()', function () {
it('should call plugin on the instance', async function () {
const engine = new Liquid()
engine.plugin(function (Liquid) {
this.registerFilter('foo', x => `foo${x}foo`)
})
const html = await engine.parseAndRender('{{"bar"|foo}}')
expect(html).to.equal('foobarfoo')
})
it('should call plugin with Liquid', async function () {
const engine = new Liquid()
engine.plugin(function (Liquid) {
this.registerFilter('t', x => Liquid.isFalsy(x))
})
const html = await engine.parseAndRender('{{false|t}}')
expect(html).to.equal('true')
})
})
describe('#express()', function () {
const liquid = new Liquid({root: '/root'})
const render = liquid.express()