diff --git a/docs/source/tutorials/register-filters-tags.md b/docs/source/tutorials/register-filters-tags.md index 2e6bf7d334..53af1b9f9f 100644 --- a/docs/source/tutorials/register-filters-tags.md +++ b/docs/source/tutorials/register-filters-tags.md @@ -62,7 +62,23 @@ See existing filter implementations here: { 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() + }) +})