Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add cuke for satisfy matcher.

  • Loading branch information...
commit 8af9e0808890c3fa60d69edd7415a15cd74123b8 1 parent e91c61e
@myronmarston myronmarston authored dchelimsky committed
Showing with 31 additions and 0 deletions.
  1. +31 −0 features/matchers/satisfy.feature
View
31 features/matchers/satisfy.feature
@@ -0,0 +1,31 @@
+Feature: Satisfy matcher
+
+ The satisfy matcher is extremely flexible and can handle almost anything
+ you want to specify. It passes if the block you provide returns true:
+
+ 10.should satisfy { |v| v % 5 == 0 }
+ 7.should_not satisfy { |v| v % 5 == 0 }
+
+ This flexibility comes at a cost, however: the failure message
+ ("expected [actual] to satisfy block") is not very descriptive
+ or helpful. You will usually be better served by using one of
+ the other built-in matchers, or writing a custom matcher.
+
+ Scenario: basic usage
+ Given a file named "satisfy_matcher_spec.rb" with:
+ """
+ describe 10 do
+ it { should satisfy { |v| v > 5 } }
+ it { should_not satisfy { |v| v > 15 } }
+
+ # deliberate failures
+ it { should_not satisfy { |v| v > 5 } }
+ it { should satisfy { |v| v > 15 } }
+ end
+ """
+ When I run "rspec satisfy_matcher_spec.rb"
+ Then the output should contain all of these:
+ | 4 examples, 2 failures |
+ | expected 10 not to satisfy block |
+ | expected 10 to satisfy block |
+
Please sign in to comment.
Something went wrong with that request. Please try again.