0
+require File.dirname(__FILE__) + '/../../../spec_helper.rb'
0
+require 'spec/runner/formatter/indented_text_formatter'
0
+ describe IndentedTextFormatter do
0
+ it_should_behave_like "sandboxed rspec_options"
0
+ attr_reader :io, :options, :formatter, :example_group
0
+ options.stub!(:dry_run).and_return(false)
0
+ options.stub!(:colour).and_return(false)
0
+ @formatter = IndentedTextFormatter.new(options, io)
0
+ @example_group = ::Spec::Example::ExampleGroup.describe("ExampleGroup") do
0
+ describe "where ExampleGroup has no superclasss with a description" do
0
+ formatter.add_example_group(example_group)
0
+ describe "#dump_summary" do
0
+ it "should produce standard summary without pending when pending has a 0 count" do
0
+ formatter.dump_summary(3, 2, 1, 0)
0
+ expected_output = <<-OUT
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ it "should produce standard summary" do
0
+ formatter.dump_summary(3, 2, 1, 4)
0
+ expected_output = <<-OUT
0
+ 2 examples, 1 failure, 4 pending
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "#add_example_group" do
0
+ describe "when ExampleGroup has description_args" do
0
+ example_group.description_args.should_not be_nil
0
+ describe "when ExampleGroup has no parents with description args" do
0
+ example_group.superclass.description_args.should be_nil
0
+ it "should push ExampleGroup name" do
0
+ io.string.should eql("ExampleGroup\n")
0
+ describe "when ExampleGroup has one parent with description args" do
0
+ attr_reader :child_example_group
0
+ example_group.description_args.should_not be_nil
0
+ @child_example_group = Class.new(example_group).describe("Child ExampleGroup")
0
+ formatter.add_example_group(child_example_group)
0
+ it "should push ExampleGroup name with two spaces of indentation" do
0
+ io.string.should eql(" Child ExampleGroup\n")
0
+ describe "when ExampleGroup has two parents with description args" do
0
+ attr_reader :child_example_group, :grand_child_example_group
0
+ example_group.description_args.should_not be_nil
0
+ @child_example_group = Class.new(example_group).describe("Child ExampleGroup")
0
+ @grand_child_example_group = Class.new(child_example_group).describe("GrandChild ExampleGroup")
0
+ formatter.add_example_group(grand_child_example_group)
0
+ it "should push ExampleGroup name with two spaces of indentation" do
0
+ io.string.should eql(" GrandChild ExampleGroup\n")
0
+ describe "when ExampleGroup description_args is nil" do
0
+ attr_reader :child_example_group
0
+ @child_example_group = Class.new(example_group)
0
+ child_example_group.description_args.should be_nil
0
+ formatter.add_example_group(child_example_group)
0
+ it "should not render anything" do
0
+ io.string.should eql("")
0
+ describe "when ExampleGroup description_args is empty" do
0
+ example_group.set_description
0
+ example_group.description_args.should be_empty
0
+ it "should not render anything" do
0
+ io.string.should eql("")
0
+ describe "#example_failed" do
0
+ describe "where ExampleGroup has no superclasss with a description" do
0
+ describe "when having an error" do
0
+ it "should push failing spec name and failure number" do
0
+ formatter.example_failed(
0
+ example_group.it("spec"),
0
+ Reporter::Failure.new("c s", RuntimeError.new)
0
+ expected_output = <<-OUT
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "when having an expectation failure" do
0
+ it "should push failing spec name and failure number" do
0
+ formatter.example_failed(
0
+ example_group.it("spec"),
0
+ Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
0
+ expected_output = <<-OUT
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "where ExampleGroup has two superclasses with a description" do
0
+ attr_reader :child_example_group, :grand_child_example_group
0
+ @child_example_group = Class.new(example_group).describe("Child ExampleGroup")
0
+ @grand_child_example_group = Class.new(child_example_group).describe("GrandChild ExampleGroup")
0
+ formatter.add_example_group(grand_child_example_group)
0
+ describe "when having an error" do
0
+ it "should push failing spec name and failure number" do
0
+ formatter.example_failed(
0
+ grand_child_example_group.it("spec"),
0
+ Reporter::Failure.new("c s", RuntimeError.new)
0
+ expected_output = <<-OUT
0
+ GrandChild ExampleGroup
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "when having an expectation" do
0
+ it "should push failing spec name and failure number" do
0
+ formatter.example_failed(
0
+ grand_child_example_group.it("spec"),
0
+ Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
0
+ expected_output = <<-OUT
0
+ GrandChild ExampleGroup
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ it "should push nothing on start" do
0
+ expected_output = <<-OUT
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "#start_dump" do
0
+ it "should push nothing on start dump" do
0
+ expected_output = <<-OUT
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "#example_passed" do
0
+ it "should push passing spec name" do
0
+ formatter.example_passed(example_group.it("spec"))
0
+ expected_output = <<-OUT
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ describe "#example_pending" do
0
+ it "should push pending example name and message" do
0
+ formatter.example_pending(example_group.examples.first, 'reason')
0
+ expected_output = <<-OUT
0
+ example (PENDING: reason)
0
+ io.string.should == expected_output.gsub(/^ /, '')
0
+ it "should dump pending" do
0
+ formatter.example_pending(example_group.examples.first, 'reason')
0
+ formatter.dump_pending
0
+ io.string.should =~ /Pending\:\nExampleGroup example \(reason\)\n/
0
+ def have_single_level_example_group_output(expected_output)
0
+ expected = "ExampleGroup\n #{expected_output}"
0
+ ::Spec::Matchers::SimpleMatcher.new(expected) do |actual|
Comments
No one has commented yet.