From 3ec009381df0f6b44d699f50b0e4b44dc0bb1679 Mon Sep 17 00:00:00 2001 From: Kyle Fuller Date: Thu, 11 Feb 2016 19:31:39 -0500 Subject: [PATCH] Disable the now tag on Linux NSDate is unavailable --- Sources/Namespace.swift | 2 ++ Sources/Node.swift | 4 ++++ Tests/Nodes/NowNodeSpec.swift | 2 ++ Tests/ParserSpec.swift | 9 +++++++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Sources/Namespace.swift b/Sources/Namespace.swift index becad8f..52fca61 100644 --- a/Sources/Namespace.swift +++ b/Sources/Namespace.swift @@ -13,7 +13,9 @@ public class Namespace { registerTag("for", parser: ForNode.parse) registerTag("if", parser: IfNode.parse) registerTag("ifnot", parser: IfNode.parse_ifnot) +#if !os(Linux) registerTag("now", parser: NowNode.parse) +#endif registerTag("include", parser: IncludeNode.parse) registerTag("extends", parser: ExtendsNode.parse) registerTag("block", parser: BlockNode.parse) diff --git a/Sources/Node.swift b/Sources/Node.swift index 8110352..f752910 100644 --- a/Sources/Node.swift +++ b/Sources/Node.swift @@ -76,6 +76,8 @@ public class VariableNode : NodeType { } } + +#if !os(Linux) public class NowNode : NodeType { public let format:Variable @@ -114,6 +116,8 @@ public class NowNode : NodeType { return formatter!.stringFromDate(date) } } +#endif + public class ForNode : NodeType { let variable:Variable diff --git a/Tests/Nodes/NowNodeSpec.swift b/Tests/Nodes/NowNodeSpec.swift index e0d9451..912ad75 100644 --- a/Tests/Nodes/NowNodeSpec.swift +++ b/Tests/Nodes/NowNodeSpec.swift @@ -4,6 +4,7 @@ import Stencil func testNowNode() { +#if !os(Linux) describe("NowNode") { $0.describe("parsing") { $0.it("parses default format without any now arguments") { @@ -38,4 +39,5 @@ func testNowNode() { } } } +#endif } diff --git a/Tests/ParserSpec.swift b/Tests/ParserSpec.swift index 5e4495c..fdac74d 100644 --- a/Tests/ParserSpec.swift +++ b/Tests/ParserSpec.swift @@ -38,9 +38,14 @@ func testTokenParser() { } $0.it("can parse a tag token") { + let namespace = Namespace() + namespace.registerSimpleTag("known") { _ in + return "" + } + let parser = TokenParser(tokens: [ - Token.Block(value: "now"), - ], namespace: Namespace()) + Token.Block(value: "known"), + ], namespace: namespace) let nodes = try parser.parse() try expect(nodes.count) == 1