From bddcc6ccf12e370b1d394908d969fa2bc5580805 Mon Sep 17 00:00:00 2001 From: Jordan Sissel Date: Wed, 28 Aug 2013 06:41:26 +0000 Subject: [PATCH] - add more conditional tests (logical operators, unary negate, etc) --- spec/conditionals/test.rb | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/spec/conditionals/test.rb b/spec/conditionals/test.rb index 7cd23fd91..68f42d220 100644 --- a/spec/conditionals/test.rb +++ b/spec/conditionals/test.rb @@ -194,5 +194,54 @@ describe "conditionals" do sample("sample") { insist { subject["tags"] }.include?("failure") } sample("some sample") { insist { subject["tags"] }.include?("failure") } end + + end + + describe "value as an expression" do + # testing that a field has a value should be true. + conditional "[message]" do + sample("apple") { insist { subject["tags"] }.include?("success") } + sample("sample") { insist { subject["tags"] }.include?("success") } + sample("some sample") { insist { subject["tags"] }.include?("success") } + end + + # testing that a missing field has a value should be false. + conditional "[missing]" do + sample("apple") { insist { subject["tags"] }.include?("failure") } + sample("sample") { insist { subject["tags"] }.include?("failure") } + sample("some sample") { insist { subject["tags"] }.include?("failure") } + end + end + + describe "logic operators" do + describe "and" do + conditional "[message] and [message]" do + sample("whatever") { insist { subject["tags"] }.include?("success") } + end + conditional "[message] and ![message]" do + sample("whatever") { insist { subject["tags"] }.include?("failure") } + end + conditional "![message] and [message]" do + sample("whatever") { insist { subject["tags"] }.include?("failure") } + end + conditional "![message] and ![message]" do + sample("whatever") { insist { subject["tags"] }.include?("failure") } + end + end + + describe "or" do + conditional "[message] or [message]" do + sample("whatever") { insist { subject["tags"] }.include?("success") } + end + conditional "[message] or ![message]" do + sample("whatever") { insist { subject["tags"] }.include?("success") } + end + conditional "![message] or [message]" do + sample("whatever") { insist { subject["tags"] }.include?("success") } + end + conditional "![message] or ![message]" do + sample("whatever") { insist { subject["tags"] }.include?("failure") } + end + end end end