From f35be4b701b2758fea51c6f70d7e623390cf1c3f Mon Sep 17 00:00:00 2001 From: Kyle Fuller Date: Sat, 24 Oct 2015 14:35:25 -0700 Subject: [PATCH] Add test around custom template filters --- StencilSpecs/FilterSpec.swift | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/StencilSpecs/FilterSpec.swift b/StencilSpecs/FilterSpec.swift index 8fa099d..fb7ef6f 100644 --- a/StencilSpecs/FilterSpec.swift +++ b/StencilSpecs/FilterSpec.swift @@ -2,6 +2,25 @@ import Spectre import Stencil +describe("template filters") { + let context = Context(dictionary: ["name": "Kyle"]) + let template = Template(templateString: "{{ name|repeat }}") + + $0.it("allows you to register a custom filter") { + template.parser.registerFilter("repeat") { value in + if let value = value as? String { + return "\(value) \(value)" + } + + return nil + } + + let result = try template.render(context) + try expect(result) == "Kyle Kyle" + } +} + + describe("capitalize filter") { let template = Template(templateString: "{{ name|capitalize }}") @@ -11,6 +30,7 @@ describe("capitalize filter") { } } + describe("uppercase filter") { let template = Template(templateString: "{{ name|uppercase }}") @@ -20,6 +40,7 @@ describe("uppercase filter") { } } + describe("lowercase filter") { let template = Template(templateString: "{{ name|lowercase }}")