summaryrefslogtreecommitdiffstats
path: root/spec/parser_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/parser_spec.rb')
-rw-r--r--spec/parser_spec.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/parser_spec.rb b/spec/parser_spec.rb
index 941887d..ead3315 100644
--- a/spec/parser_spec.rb
+++ b/spec/parser_spec.rb
@@ -96,6 +96,10 @@ describe "Parser" do
"INTEGER{#{string}}"
end
+ def boolean(string)
+ "BOOLEAN{#{string}}"
+ end
+
def hash(*pairs)
"HASH{" + pairs.map {|k,v| "#{k}=#{v}" }.join(", ") + "}"
end
@@ -138,6 +142,14 @@ describe "Parser" do
mustache id("foo"), [], hash(["bar", integer("1")])
end
+ ast_for("{{foo bar=true}}").should == program do
+ mustache id("foo"), [], hash(["bar", boolean("true")])
+ end
+
+ ast_for("{{foo bar=false}}").should == program do
+ mustache id("foo"), [], hash(["bar", boolean("false")])
+ end
+
ast_for("{{foo bar=baz bat=bam}}").should == program do
mustache id("foo"), [], hash(["bar", "ID:baz"], ["bat", "ID:bam"])
end
@@ -153,6 +165,14 @@ describe "Parser" do
ast_for("{{foo omg bar=baz bat=\"bam\" baz=1}}").should == program do
mustache id("foo"), [id("omg")], hash(["bar", id("baz")], ["bat", string("bam")], ["baz", integer("1")])
end
+
+ ast_for("{{foo omg bar=baz bat=\"bam\" baz=true}}").should == program do
+ mustache id("foo"), [id("omg")], hash(["bar", id("baz")], ["bat", string("bam")], ["baz", boolean("true")])
+ end
+
+ ast_for("{{foo omg bar=baz bat=\"bam\" baz=false}}").should == program do
+ mustache id("foo"), [id("omg")], hash(["bar", id("baz")], ["bat", string("bam")], ["baz", boolean("false")])
+ end
end
it "parses mustaches with string parameters" do
@@ -163,6 +183,11 @@ describe "Parser" do
ast_for("{{foo 1}}").should == program { mustache id("foo"), [integer("1")] }
end
+ it "parses mustaches with BOOLEAN parameters" do
+ ast_for("{{foo true}}").should == program { mustache id("foo"), [boolean("true")] }
+ ast_for("{{foo false}}").should == program { mustache id("foo"), [boolean("false")] }
+ end
+
it "parses contents followed by a mustache" do
ast_for("foo bar {{baz}}").should == program do
content "foo bar "