mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-18 22:10:41 -07:00
feat: add unregisterFilter method (#946)
* feat: add unregisterFilter method * docs: show how to re-register built-in filters --------- Co-authored-by: Yacov <yacov@noemail>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
import { Liquid, filters } from '../../../src'
|
||||
|
||||
describe('liquid#registerFilter()', function () {
|
||||
let liquid: Liquid
|
||||
@@ -67,3 +67,32 @@ describe('liquid#registerFilter()', function () {
|
||||
await expect(new Liquid({ strictFilters: true }).parseAndRender('{{ 1 | constructor }}')).rejects.toThrow('undefined filter')
|
||||
})
|
||||
})
|
||||
|
||||
describe('liquid#unregisterFilter()', function () {
|
||||
let liquid: Liquid
|
||||
beforeEach(() => { liquid = new Liquid() })
|
||||
|
||||
it('should unregister a custom filter', async () => {
|
||||
liquid.registerFilter('greet', value => `hello ${value}`)
|
||||
liquid.unregisterFilter('greet')
|
||||
const html = await liquid.parseAndRender('{{ "world" | greet }}')
|
||||
return expect(html).toBe('world')
|
||||
})
|
||||
|
||||
it('should unregister a built-in filter', () => {
|
||||
liquid = new Liquid({ strictFilters: true })
|
||||
liquid.unregisterFilter('upcase')
|
||||
return expect(liquid.parseAndRender('{{ "foo" | upcase }}')).rejects.toThrow('undefined filter: upcase')
|
||||
})
|
||||
|
||||
it('should support re-registering a built-in filter', async () => {
|
||||
liquid.unregisterFilter('upcase')
|
||||
liquid.registerFilter('upcase', filters.upcase)
|
||||
const html = await liquid.parseAndRender('{{ "foo" | upcase }}')
|
||||
return expect(html).toBe('FOO')
|
||||
})
|
||||
|
||||
it('should not throw for an unknown filter', () => {
|
||||
expect(() => liquid.unregisterFilter('unknown')).not.toThrow()
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user