/vendor/bundle/jruby/2.1/gems/rspec-core-2.14.8/spec/rspec/core/formatters/documentation_formatter_spec.rb

https://github.com/delowong/logstash · Ruby · 88 lines · 70 code · 18 blank · 0 comment · 1 complexity · beb887035e26c74404f7e74460566e83 MD5 · raw file

  1. require 'spec_helper'
  2. require 'rspec/core/formatters/documentation_formatter'
  3. module RSpec::Core::Formatters
  4. describe DocumentationFormatter do
  5. it "numbers the failures" do
  6. examples = [
  7. double("example 1",
  8. :description => "first example",
  9. :execution_result => {:status => 'failed', :exception => Exception.new }
  10. ),
  11. double("example 2",
  12. :description => "second example",
  13. :execution_result => {:status => 'failed', :exception => Exception.new }
  14. )
  15. ]
  16. output = StringIO.new
  17. RSpec.configuration.stub(:color_enabled?) { false }
  18. formatter = RSpec::Core::Formatters::DocumentationFormatter.new(output)
  19. examples.each {|e| formatter.example_failed(e) }
  20. expect(output.string).to match(/first example \(FAILED - 1\)/m)
  21. expect(output.string).to match(/second example \(FAILED - 2\)/m)
  22. end
  23. it "represents nested group using hierarchy tree" do
  24. output = StringIO.new
  25. RSpec.configuration.stub(:color_enabled?) { false }
  26. formatter = RSpec::Core::Formatters::DocumentationFormatter.new(output)
  27. group = RSpec::Core::ExampleGroup.describe("root")
  28. context1 = group.describe("context 1")
  29. context1.example("nested example 1.1"){}
  30. context1.example("nested example 1.2"){}
  31. context11 = context1.describe("context 1.1")
  32. context11.example("nested example 1.1.1"){}
  33. context11.example("nested example 1.1.2"){}
  34. context2 = group.describe("context 2")
  35. context2.example("nested example 2.1"){}
  36. context2.example("nested example 2.2"){}
  37. group.run(RSpec::Core::Reporter.new(formatter))
  38. expect(output.string).to eql("
  39. root
  40. context 1
  41. nested example 1.1
  42. nested example 1.2
  43. context 1.1
  44. nested example 1.1.1
  45. nested example 1.1.2
  46. context 2
  47. nested example 2.1
  48. nested example 2.2
  49. ")
  50. end
  51. it "strips whitespace for each row" do
  52. output = StringIO.new
  53. RSpec.configuration.stub(:color_enabled?) { false }
  54. formatter = RSpec::Core::Formatters::DocumentationFormatter.new(output)
  55. group = RSpec::Core::ExampleGroup.describe(" root ")
  56. context1 = group.describe(" nested ")
  57. context1.example(" example 1 ") {}
  58. context1.example(" example 2 ", :pending => true){}
  59. context1.example(" example 3 ") { fail }
  60. group.run(RSpec::Core::Reporter.new(formatter))
  61. expect(output.string).to eql("
  62. root
  63. nested
  64. example 1
  65. example 2 (PENDING: No reason given)
  66. example 3 (FAILED - 1)
  67. ")
  68. end
  69. end
  70. end