Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

add example of formatter that filters based on options passed to

describe() and it() methods.
  • Loading branch information...
commit 07067fa6f2af63b3e9f69556dfa24674790026d2 1 parent 5950c7b
@dchelimsky authored
View
18 examples/passing/filtered_formatter.rb
@@ -0,0 +1,18 @@
+$:.unshift File.join(File.dirname(__FILE__), "/../../lib")
+require 'spec/runner/formatter/nested_text_formatter'
+
+class FilteredFormatter < Spec::Runner::Formatter::NestedTextFormatter
+ def add_example_group(example_group)
+ if example_group.options[:show] == false
+ @showing = false
+ else
+ @showing = true
+ puts example_group.description
+ end
+ end
+
+ def example_passed(example)
+ puts " " << example.description if @showing unless example.options[:show] == false
+ end
+end
+
View
31 examples/passing/filtered_formatter_example.rb
@@ -0,0 +1,31 @@
+# This demonstrates how you can write custom formatters to handle arbitrary
+# options passed to the +describe+ and +it+ methods. To see it in action, stand
+# in the project root and say:
+#
+# bin/spec -r examples/passing/filtered_formatter.rb examples/passing/filtered_formatter_example.rb -f FilteredFormatter
+#
+# You should only see the examples and groups below that are not explicitly
+# marked :show => false
+#
+# group 1
+# example 1 a
+# group 3
+# example 3
+
+
+describe "group 1", :show => true do
+ it "example 1 a", :show => true do
+ end
+ it "example 1 b", :show => false do
+ end
+end
+
+describe "group 2", :show => false do
+ it "example 2" do
+ end
+end
+
+describe "group 3" do
+ it "example 3" do
+ end
+end
Please sign in to comment.
Something went wrong with that request. Please try again.