rspec 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. data/CHANGES +125 -9
  2. data/EXAMPLES.rd +50 -27
  3. data/README +14 -1
  4. data/Rakefile +95 -42
  5. data/UPGRADE +31 -0
  6. data/bin/spec +0 -1
  7. data/bin/spec_translator +6 -0
  8. data/examples/auto_spec_description_example.rb +19 -0
  9. data/examples/{setup_teardown_example.rb → before_and_after_example.rb} +6 -6
  10. data/examples/behave_as_example.rb +45 -0
  11. data/examples/custom_expectation_matchers.rb +13 -12
  12. data/examples/dynamic_spec.rb +2 -2
  13. data/examples/file_accessor_spec.rb +2 -2
  14. data/examples/greeter_spec.rb +3 -3
  15. data/examples/helper_method_example.rb +2 -2
  16. data/examples/io_processor_spec.rb +4 -4
  17. data/examples/legacy_spec.rb +10 -0
  18. data/examples/mocking_example.rb +5 -5
  19. data/examples/multi_threaded_behaviour_runner.rb +25 -0
  20. data/examples/partial_mock_example.rb +4 -4
  21. data/examples/predicate_example.rb +4 -4
  22. data/examples/priority.txt +1 -0
  23. data/examples/shared_behaviours_example.rb +31 -0
  24. data/examples/stack_spec.rb +52 -69
  25. data/examples/stubbing_example.rb +10 -10
  26. data/examples/test_case_adapter_example.rb +26 -0
  27. data/examples/test_case_spec.rb +6 -6
  28. data/lib/spec.rb +9 -4
  29. data/lib/spec/dsl.rb +10 -0
  30. data/lib/spec/dsl/behaviour.rb +189 -0
  31. data/lib/spec/dsl/behaviour_callbacks.rb +43 -0
  32. data/lib/spec/dsl/behaviour_eval.rb +170 -0
  33. data/lib/spec/dsl/behaviour_factory.rb +32 -0
  34. data/lib/spec/dsl/composite_proc_builder.rb +28 -0
  35. data/lib/spec/dsl/configuration.rb +38 -0
  36. data/lib/spec/dsl/description.rb +34 -0
  37. data/lib/spec/dsl/example.rb +114 -0
  38. data/lib/spec/dsl/example_matcher.rb +28 -0
  39. data/lib/spec/{runner/spec_should_raise_handler.rb → dsl/example_should_raise_handler.rb} +4 -4
  40. data/lib/spec/expectations.rb +0 -3
  41. data/lib/spec/expectations/differs/default.rb +0 -1
  42. data/lib/spec/expectations/extensions.rb +0 -1
  43. data/lib/spec/expectations/extensions/object.rb +10 -53
  44. data/lib/spec/expectations/handler.rb +14 -18
  45. data/lib/spec/extensions.rb +1 -0
  46. data/lib/spec/extensions/object.rb +6 -0
  47. data/lib/spec/matchers.rb +19 -21
  48. data/lib/spec/matchers/be.rb +40 -11
  49. data/lib/spec/matchers/be_close.rb +2 -2
  50. data/lib/spec/matchers/operator_matcher.rb +52 -0
  51. data/lib/spec/matchers/respond_to.rb +21 -11
  52. data/lib/spec/mocks.rb +5 -28
  53. data/lib/spec/mocks/argument_constraint_matchers.rb +12 -0
  54. data/lib/spec/mocks/argument_expectation.rb +7 -4
  55. data/lib/spec/mocks/methods.rb +11 -16
  56. data/lib/spec/mocks/mock.rb +6 -3
  57. data/lib/spec/mocks/{mock_handler.rb → proxy.rb} +4 -7
  58. data/lib/spec/mocks/space.rb +28 -0
  59. data/lib/spec/mocks/spec_methods.rb +30 -0
  60. data/lib/spec/rake/spectask.rb +23 -21
  61. data/lib/spec/rake/verify_rcov.rb +1 -0
  62. data/lib/spec/runner.rb +88 -35
  63. data/lib/spec/runner/backtrace_tweaker.rb +2 -1
  64. data/lib/spec/runner/behaviour_runner.rb +102 -0
  65. data/lib/spec/runner/command_line.rb +5 -17
  66. data/lib/spec/runner/drb_command_line.rb +2 -2
  67. data/lib/spec/runner/extensions/kernel.rb +22 -9
  68. data/lib/spec/runner/formatter.rb +4 -0
  69. data/lib/spec/runner/formatter/base_formatter.rb +63 -0
  70. data/lib/spec/runner/formatter/base_text_formatter.rb +22 -52
  71. data/lib/spec/runner/formatter/failing_behaviours_formatter.rb +25 -0
  72. data/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
  73. data/lib/spec/runner/formatter/html_formatter.rb +74 -29
  74. data/lib/spec/runner/formatter/progress_bar_formatter.rb +6 -8
  75. data/lib/spec/runner/formatter/rdoc_formatter.rb +6 -6
  76. data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  77. data/lib/spec/runner/formatter/specdoc_formatter.rb +6 -6
  78. data/lib/spec/runner/heckle_runner.rb +8 -7
  79. data/lib/spec/runner/option_parser.rb +136 -55
  80. data/lib/spec/runner/options.rb +26 -0
  81. data/lib/spec/runner/reporter.rb +38 -31
  82. data/lib/spec/runner/spec_parser.rb +22 -13
  83. data/lib/spec/test_case_adapter.rb +10 -0
  84. data/lib/spec/translator.rb +103 -86
  85. data/lib/spec/version.rb +7 -15
  86. data/plugins/mock_frameworks/flexmock.rb +27 -0
  87. data/plugins/mock_frameworks/mocha.rb +21 -0
  88. data/plugins/mock_frameworks/rspec.rb +18 -0
  89. data/spec/spec/dsl/behaviour_eval_spec.rb +49 -0
  90. data/spec/spec/dsl/behaviour_factory_spec.rb +30 -0
  91. data/spec/spec/dsl/behaviour_spec.rb +508 -0
  92. data/spec/spec/dsl/composite_proc_builder_spec.rb +57 -0
  93. data/spec/spec/dsl/configuration_spec.rb +43 -0
  94. data/spec/spec/dsl/description_spec.rb +51 -0
  95. data/spec/spec/dsl/example_class_spec.rb +24 -0
  96. data/spec/spec/dsl/example_instance_spec.rb +140 -0
  97. data/spec/spec/dsl/example_should_raise_spec.rb +137 -0
  98. data/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
  99. data/spec/spec/dsl/shared_behaviour_spec.rb +186 -0
  100. data/spec/spec/expectations/differs/default_spec.rb +12 -12
  101. data/spec/spec/expectations/extensions/object_spec.rb +10 -10
  102. data/spec/spec/expectations/fail_with_spec.rb +20 -20
  103. data/spec/spec/matchers/be_close_spec.rb +37 -31
  104. data/spec/spec/matchers/be_spec.rb +50 -41
  105. data/spec/spec/matchers/change_spec.rb +54 -54
  106. data/spec/spec/matchers/description_generation_spec.rb +43 -31
  107. data/spec/spec/matchers/eql_spec.rb +24 -37
  108. data/spec/spec/matchers/equal_spec.rb +24 -37
  109. data/spec/spec/matchers/exist_spec.rb +48 -0
  110. data/spec/spec/matchers/handler_spec.rb +36 -23
  111. data/spec/spec/matchers/has_spec.rb +8 -8
  112. data/spec/spec/matchers/have_spec.rb +38 -38
  113. data/spec/spec/matchers/include_spec.rb +6 -6
  114. data/spec/spec/matchers/match_spec.rb +8 -8
  115. data/spec/spec/matchers/matcher_methods_spec.rb +24 -31
  116. data/spec/spec/matchers/raise_error_spec.rb +34 -34
  117. data/spec/spec/matchers/respond_to_spec.rb +32 -8
  118. data/spec/spec/matchers/satisfy_spec.rb +6 -6
  119. data/spec/spec/matchers/should_===_spec.rb +38 -0
  120. data/spec/spec/matchers/should_==_spec.rb +37 -0
  121. data/spec/spec/matchers/should_=~_spec.rb +36 -0
  122. data/spec/spec/matchers/throw_symbol_spec.rb +47 -55
  123. data/spec/spec/mocks/any_number_of_times_spec.rb +16 -21
  124. data/spec/spec/mocks/argument_expectation_spec.rb +3 -3
  125. data/spec/spec/mocks/at_least_spec.rb +30 -30
  126. data/spec/spec/mocks/at_most_spec.rb +53 -57
  127. data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  128. data/spec/spec/mocks/bug_report_7611_spec.rb +3 -3
  129. data/spec/spec/mocks/bug_report_7805_spec.rb +3 -3
  130. data/spec/spec/mocks/bug_report_8165_spec.rb +5 -5
  131. data/spec/spec/mocks/bug_report_8302_spec.rb +5 -5
  132. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +26 -27
  133. data/spec/spec/mocks/mock_ordering_spec.rb +19 -15
  134. data/spec/spec/mocks/mock_space_spec.rb +54 -0
  135. data/spec/spec/mocks/mock_spec.rb +111 -141
  136. data/spec/spec/mocks/multiple_return_value_spec.rb +48 -48
  137. data/spec/spec/mocks/null_object_mock_spec.rb +10 -10
  138. data/spec/spec/mocks/once_counts_spec.rb +32 -35
  139. data/spec/spec/mocks/options_hash_spec.rb +12 -10
  140. data/spec/spec/mocks/partial_mock_spec.rb +15 -15
  141. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +24 -22
  142. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +19 -19
  143. data/spec/spec/mocks/precise_counts_spec.rb +28 -32
  144. data/spec/spec/mocks/record_messages_spec.rb +10 -10
  145. data/spec/spec/mocks/stub_spec.rb +45 -45
  146. data/spec/spec/mocks/twice_counts_spec.rb +21 -21
  147. data/spec/spec/package/bin_spec_spec.rb +12 -0
  148. data/spec/spec/runner/behaviour_runner_spec.rb +114 -0
  149. data/spec/spec/runner/command_line_spec.rb +8 -8
  150. data/spec/spec/runner/context_matching_spec.rb +14 -15
  151. data/spec/spec/runner/drb_command_line_spec.rb +12 -12
  152. data/spec/spec/runner/execution_context_spec.rb +8 -29
  153. data/spec/spec/runner/extensions/kernel_spec.rb +36 -0
  154. data/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +27 -0
  155. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +28 -0
  156. data/spec/spec/runner/formatter/html_formatter_spec.rb +9 -8
  157. data/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +6 -6
  158. data/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +10 -10
  159. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +22 -27
  160. data/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +6 -5
  161. data/spec/spec/runner/formatter/rdoc_formatter_spec.rb +17 -17
  162. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
  163. data/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +6 -6
  164. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +17 -17
  165. data/spec/spec/runner/heckle_runner_spec.rb +21 -21
  166. data/spec/spec/runner/heckler_spec.rb +5 -5
  167. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +12 -12
  168. data/spec/spec/runner/object_ext_spec.rb +3 -3
  169. data/spec/spec/runner/option_parser_spec.rb +171 -102
  170. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +21 -12
  171. data/spec/spec/runner/reporter_spec.rb +106 -97
  172. data/spec/spec/runner/spec_matcher_spec.rb +46 -51
  173. data/spec/spec/runner/spec_parser_spec.rb +72 -16
  174. data/spec/spec/spec_classes.rb +12 -3
  175. data/spec/spec/translator_spec.rb +165 -36
  176. metadata +66 -76
  177. data/RELEASE-PLAN +0 -117
  178. data/examples/auto_spec_name_generation_example.rb +0 -18
  179. data/lib/spec/callback.rb +0 -11
  180. data/lib/spec/callback/callback_container.rb +0 -60
  181. data/lib/spec/callback/extensions/module.rb +0 -24
  182. data/lib/spec/callback/extensions/object.rb +0 -37
  183. data/lib/spec/deprecated.rb +0 -3
  184. data/lib/spec/expectations/extensions/proc.rb +0 -57
  185. data/lib/spec/expectations/should.rb +0 -5
  186. data/lib/spec/expectations/should/base.rb +0 -64
  187. data/lib/spec/expectations/should/change.rb +0 -69
  188. data/lib/spec/expectations/should/have.rb +0 -128
  189. data/lib/spec/expectations/should/not.rb +0 -74
  190. data/lib/spec/expectations/should/should.rb +0 -81
  191. data/lib/spec/expectations/sugar.rb +0 -47
  192. data/lib/spec/runner/context.rb +0 -154
  193. data/lib/spec/runner/context_eval.rb +0 -142
  194. data/lib/spec/runner/context_runner.rb +0 -55
  195. data/lib/spec/runner/execution_context.rb +0 -17
  196. data/lib/spec/runner/spec_matcher.rb +0 -25
  197. data/lib/spec/runner/specification.rb +0 -114
  198. data/spec/spec/callback/callback_container_spec.rb +0 -27
  199. data/spec/spec/callback/module_spec.rb +0 -37
  200. data/spec/spec/callback/object_spec.rb +0 -90
  201. data/spec/spec/callback/object_with_class_callback_spec.rb +0 -19
  202. data/spec/spec/expectations/should/should_==_spec.rb +0 -19
  203. data/spec/spec/expectations/should/should_=~_spec.rb +0 -13
  204. data/spec/spec/expectations/should/should_be_a_kind_of_spec.rb +0 -21
  205. data/spec/spec/expectations/should/should_be_an_instance_of_spec.rb +0 -30
  206. data/spec/spec/expectations/should/should_be_arbitrary_predicate_spec.rb +0 -81
  207. data/spec/spec/expectations/should/should_be_close_spec.rb +0 -18
  208. data/spec/spec/expectations/should/should_be_comparison_operator_spec.rb +0 -44
  209. data/spec/spec/expectations/should/should_be_false_spec.rb +0 -39
  210. data/spec/spec/expectations/should/should_be_spec.rb +0 -11
  211. data/spec/spec/expectations/should/should_be_true_spec.rb +0 -27
  212. data/spec/spec/expectations/should/should_change_spec.rb +0 -184
  213. data/spec/spec/expectations/should/should_eql_spec.rb +0 -11
  214. data/spec/spec/expectations/should/should_equal_spec.rb +0 -11
  215. data/spec/spec/expectations/should/should_have_at_least_spec.rb +0 -53
  216. data/spec/spec/expectations/should/should_have_at_most_spec.rb +0 -45
  217. data/spec/spec/expectations/should/should_have_key_spec.rb +0 -21
  218. data/spec/spec/expectations/should/should_have_spec.rb +0 -64
  219. data/spec/spec/expectations/should/should_include_spec.rb +0 -59
  220. data/spec/spec/expectations/should/should_match_spec.rb +0 -25
  221. data/spec/spec/expectations/should/should_not_==_spec.rb +0 -15
  222. data/spec/spec/expectations/should/should_not_be_a_kind_of_spec.rb +0 -21
  223. data/spec/spec/expectations/should/should_not_be_an_instance_of_spec.rb +0 -11
  224. data/spec/spec/expectations/should/should_not_be_arbitrary_predicate_spec.rb +0 -68
  225. data/spec/spec/expectations/should/should_not_be_spec.rb +0 -11
  226. data/spec/spec/expectations/should/should_not_change_spec.rb +0 -24
  227. data/spec/spec/expectations/should/should_not_eql_spec.rb +0 -11
  228. data/spec/spec/expectations/should/should_not_equal_spec.rb +0 -11
  229. data/spec/spec/expectations/should/should_not_have_key_spec.rb +0 -15
  230. data/spec/spec/expectations/should/should_not_include_spec.rb +0 -58
  231. data/spec/spec/expectations/should/should_not_match_spec.rb +0 -11
  232. data/spec/spec/expectations/should/should_not_raise_spec.rb +0 -75
  233. data/spec/spec/expectations/should/should_not_respond_to_spec.rb +0 -15
  234. data/spec/spec/expectations/should/should_not_throw_spec.rb +0 -35
  235. data/spec/spec/expectations/should/should_raise_spec.rb +0 -66
  236. data/spec/spec/expectations/should/should_respond_to_spec.rb +0 -15
  237. data/spec/spec/expectations/should/should_satisfy_spec.rb +0 -35
  238. data/spec/spec/expectations/should/should_throw_spec.rb +0 -27
  239. data/spec/spec/runner/context_runner_spec.rb +0 -100
  240. data/spec/spec/runner/context_spec.rb +0 -405
  241. data/spec/spec/runner/kernel_ext_spec.rb +0 -16
  242. data/spec/spec/runner/spec_name_generation_spec.rb +0 -102
  243. data/spec/spec/runner/specification_class_spec.rb +0 -72
  244. data/spec/spec/runner/specification_instance_spec.rb +0 -160
  245. data/spec/spec/runner/specification_should_raise_spec.rb +0 -136
@@ -3,15 +3,15 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "ProgressBarFormatterDryRun" do
7
- setup do
6
+ describe "ProgressBarFormatterDryRun" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
- @formatter = ProgressBarFormatter.new(@io, true)
10
-
9
+ @formatter = ProgressBarFormatter.new(@io)
10
+ @formatter.dry_run = true
11
11
  end
12
- specify "should not produce summary on dry run" do
12
+ it "should not produce summary on dry run" do
13
13
  @formatter.dump_summary(3, 2, 1)
14
- @io.string.should_eql("")
14
+ @io.string.should eql("")
15
15
 
16
16
  end
17
17
 
@@ -3,27 +3,27 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "ProgressBarFormatter failure dump with NoisyBacktraceTweaker" do
7
- setup do
6
+ describe "ProgressBarFormatter failure dump with NoisyBacktraceTweaker" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
- @reporter = Reporter.new(ProgressBarFormatter.new(@io), NoisyBacktraceTweaker.new)
10
- @reporter.add_context("context")
9
+ @reporter = Reporter.new([ProgressBarFormatter.new(@io)], NoisyBacktraceTweaker.new)
10
+ @reporter.add_behaviour("context")
11
11
  end
12
12
 
13
- specify "should end with line break" do
13
+ it "should end with line break" do
14
14
  error=Spec::Expectations::ExpectationNotMetError.new("message")
15
15
  set_backtrace(error)
16
- @reporter.spec_finished("spec", error, "spec")
16
+ @reporter.example_finished("spec", error, "spec")
17
17
  @reporter.dump
18
- @io.string.should_match(/\n\z/)
18
+ @io.string.should match(/\n\z/)
19
19
  end
20
20
 
21
- specify "should include context and spec name in backtrace if error in spec" do
21
+ it "should include context and spec name in backtrace if error in spec" do
22
22
  error=RuntimeError.new("message")
23
23
  set_backtrace(error)
24
- @reporter.spec_finished("spec", error, "spec")
24
+ @reporter.example_finished("spec", error, "spec")
25
25
  @reporter.dump
26
- @io.string.should_match(/RuntimeError in 'context spec'/)
26
+ @io.string.should match(/RuntimeError in 'context spec'/)
27
27
  end
28
28
 
29
29
  def set_backtrace(error)
@@ -3,52 +3,47 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "ProgressBarFormatter" do
7
- setup do
6
+ describe "ProgressBarFormatter" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
9
  @formatter = ProgressBarFormatter.new(@io)
10
10
  end
11
11
 
12
- specify "should produce line break on start dump" do
12
+ it "should produce line break on start dump" do
13
13
  @formatter.start_dump
14
- @io.string.should_eql("\n")
14
+ @io.string.should eql("\n")
15
15
  end
16
16
 
17
- specify "should produce standard summary" do
17
+ it "should produce standard summary" do
18
18
  @formatter.dump_summary(3, 2, 1)
19
- @io.string.should_eql("\nFinished in 3 seconds\n\n2 specifications, 1 failure\n")
19
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
20
20
  end
21
21
 
22
- specify "should push F for failing spec" do
23
- @formatter.spec_failed("spec", 98, Reporter::Failure.new("c", "s", RuntimeError.new))
24
- @io.string.should_eql("F")
22
+ it "should push F for failing spec" do
23
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", RuntimeError.new))
24
+ @io.string.should eql("F")
25
25
  end
26
26
 
27
- specify "should push dot for passing spec" do
28
- @formatter.spec_passed("spec")
29
- @io.string.should_eql(".")
27
+ it "should push dot for passing spec" do
28
+ @formatter.example_passed("spec")
29
+ @io.string.should eql(".")
30
30
  end
31
31
 
32
- specify "should push line break for context" do
33
- @formatter.add_context("context", :ignored)
34
- @io.string.should_eql("\n")
35
- end
36
-
37
- specify "should push nothing on start" do
32
+ it "should push nothing on start" do
38
33
  @formatter.start(4)
39
- @io.string.should_eql("")
34
+ @io.string.should eql("")
40
35
  end
41
36
 
42
- specify "should ensure two ':' in the first backtrace" do
37
+ it "should ensure two ':' in the first backtrace" do
43
38
  backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"]
44
- @formatter.format_backtrace(backtrace).should_eql(<<-EOE.rstrip)
39
+ @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip)
45
40
  /tmp/x.rb:1:
46
41
  /tmp/x.rb:2:
47
42
  /tmp/x.rb:3:
48
43
  EOE
49
44
 
50
45
  backtrace = ["/tmp/x.rb:1: message", "/tmp/x.rb:2", "/tmp/x.rb:3"]
51
- @formatter.format_backtrace(backtrace).should_eql(<<-EOE.rstrip)
46
+ @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip)
52
47
  /tmp/x.rb:1: message
53
48
  /tmp/x.rb:2:
54
49
  /tmp/x.rb:3:
@@ -56,21 +51,21 @@ EOE
56
51
  end
57
52
  end
58
53
 
59
- context "ProgressBarFormatter outputting to custom out" do
60
- setup do
54
+ describe "ProgressBarFormatter outputting to custom out" do
55
+ before(:each) do
61
56
  @out = mock("out")
62
57
  @out.stub!(:puts)
63
58
  @formatter = ProgressBarFormatter.new(@out)
64
59
  @formatter.class.send :public, :output_to_tty?
65
60
  end
66
61
 
67
- teardown do
62
+ after(:each) do
68
63
  @formatter.class.send :protected, :output_to_tty?
69
64
  end
70
65
 
71
- specify "should not throw NoMethodError on output_to_tty?" do
66
+ it "should not throw NoMethodError on output_to_tty?" do
72
67
  @out.should_receive(:tty?).and_raise(NoMethodError)
73
- @formatter.output_to_tty?.should be(false)
68
+ @formatter.output_to_tty?.should be_false
74
69
  end
75
70
  end
76
71
  end
@@ -3,14 +3,15 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "RdocFormatterDryRun" do
7
- setup do
6
+ describe "RdocFormatterDryRun" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
- @formatter = RdocFormatter.new(@io, true)
9
+ @formatter = RdocFormatter.new(@io)
10
+ @formatter.dry_run = true
10
11
  end
11
- specify "should not produce summary on dry run" do
12
+ it "should not produce summary on dry run" do
12
13
  @formatter.dump_summary(3, 2, 1)
13
- @io.string.should_eql ""
14
+ @io.string.should == ""
14
15
  end
15
16
  end
16
17
  end
@@ -3,35 +3,35 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "RdocFormatter" do
7
- setup do
6
+ describe "RdocFormatter" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
- @formatter = RdocFormatter.new(@io, true)
10
-
9
+ @formatter = RdocFormatter.new(@io)
10
+ @formatter.dry_run = true
11
11
  end
12
- specify "should produce no summary" do
12
+ it "should produce no summary" do
13
13
  @formatter.dump_summary(nil, nil, nil)
14
- @io.string.should_be_empty
14
+ @io.string.should be_empty
15
15
 
16
16
  end
17
- specify "should produce nothing on start dump" do
17
+ it "should produce nothing on start dump" do
18
18
  @formatter.start_dump
19
- @io.string.should_be_empty
19
+ @io.string.should be_empty
20
20
 
21
21
  end
22
- specify "should push out context" do
23
- @formatter.add_context("context", :ignored)
24
- @io.string.should_eql("# context\n")
22
+ it "should push out context" do
23
+ @formatter.add_behaviour("context")
24
+ @io.string.should eql("# context\n")
25
25
 
26
26
  end
27
- specify "should push out failed spec" do
28
- @formatter.spec_failed("spec", 98, nil)
29
- @io.string.should_eql("# * spec [98 - FAILED]\n")
27
+ it "should push out failed spec" do
28
+ @formatter.example_failed("spec", 98, nil)
29
+ @io.string.should eql("# * spec [98 - FAILED]\n")
30
30
 
31
31
  end
32
- specify "should push out spec" do
33
- @formatter.spec_passed("spec")
34
- @io.string.should_eql("# * spec\n")
32
+ it "should push out spec" do
33
+ @formatter.example_passed("spec")
34
+ @io.string.should eql("# * spec\n")
35
35
 
36
36
  end
37
37
 
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ describe Spec::Runner::Formatter::SnippetExtractor do
4
+ it "should fall back on a default message when it doesn't understand a line" do
5
+ Spec::Runner::Formatter::SnippetExtractor.new.snippet_for("blech").should == ["# Couldn't get snippet for blech", 1]
6
+ end
7
+
8
+ it "should fall back on a default message when it doesn't find the file" do
9
+ Spec::Runner::Formatter::SnippetExtractor.new.lines_around("blech", 8).should == "# Couldn't get snippet for blech"
10
+ end
11
+ end
@@ -3,15 +3,15 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "SpecdocFormatterDryRun" do
7
- setup do
6
+ describe "SpecdocFormatterDryRun" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
- @formatter = SpecdocFormatter.new(@io, true)
10
-
9
+ @formatter = SpecdocFormatter.new(@io)
10
+ @formatter.dry_run = true
11
11
  end
12
- specify "should not produce summary on dry run" do
12
+ it "should not produce summary on dry run" do
13
13
  @formatter.dump_summary(3, 2, 1)
14
- @io.string.should_eql("")
14
+ @io.string.should eql("")
15
15
 
16
16
  end
17
17
 
@@ -3,40 +3,40 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
3
3
  module Spec
4
4
  module Runner
5
5
  module Formatter
6
- context "SpecdocFormatter" do
7
- setup do
6
+ describe "SpecdocFormatter" do
7
+ before(:each) do
8
8
  @io = StringIO.new
9
9
  @formatter = SpecdocFormatter.new(@io)
10
10
 
11
11
  end
12
- specify "should produce standard summary" do
12
+ it "should produce standard summary" do
13
13
  @formatter.dump_summary(3, 2, 1)
14
- @io.string.should_eql("\nFinished in 3 seconds\n\n2 specifications, 1 failure\n")
14
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
15
15
 
16
16
  end
17
- specify "should push context name" do
18
- @formatter.add_context("context", :ignored)
19
- @io.string.should_eql("\ncontext\n")
17
+ it "should push context name" do
18
+ @formatter.add_behaviour("context")
19
+ @io.string.should eql("\ncontext\n")
20
20
 
21
21
  end
22
- specify "should push failing spec name and failure number" do
23
- @formatter.spec_failed("spec", 98, Reporter::Failure.new("c", "s", RuntimeError.new))
24
- @io.string.should_eql("- spec (ERROR - 98)\n")
22
+ it "should push failing spec name and failure number" do
23
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", RuntimeError.new))
24
+ @io.string.should eql("- spec (ERROR - 98)\n")
25
25
 
26
26
  end
27
- specify "should push nothing on start" do
27
+ it "should push nothing on start" do
28
28
  @formatter.start(5)
29
- @io.string.should_eql("")
29
+ @io.string.should eql("")
30
30
 
31
31
  end
32
- specify "should push nothing on start dump" do
32
+ it "should push nothing on start dump" do
33
33
  @formatter.start_dump
34
- @io.string.should_eql("")
34
+ @io.string.should eql("")
35
35
 
36
36
  end
37
- specify "should push passing spec name" do
38
- @formatter.spec_passed("spec")
39
- @io.string.should_eql("- spec\n")
37
+ it "should push passing spec name" do
38
+ @formatter.example_passed("spec")
39
+ @io.string.should eql("- spec\n")
40
40
 
41
41
  end
42
42
 
@@ -14,50 +14,50 @@ unless ['i386-mswin32', 'java'].index(PLATFORM)
14
14
  end
15
15
  end
16
16
 
17
- context "HeckleRunner" do
18
- setup do
17
+ describe "HeckleRunner" do
18
+ before(:each) do
19
19
  @heckle = mock("heckle", :null_object => true)
20
- @context_runner = mock("context_runner")
20
+ @behaviour_runner = mock("behaviour_runner")
21
21
  @heckle_class = mock("heckle_class")
22
22
  end
23
23
 
24
- specify "should heckle all methods in all classes in a module" do
25
- @heckle_class.should_receive(:new).with("Foo::Bar", "one", context_runner).and_return(@heckle)
26
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", context_runner).and_return(@heckle)
27
- @heckle_class.should_receive(:new).with("Foo::Zap", "three", context_runner).and_return(@heckle)
28
- @heckle_class.should_receive(:new).with("Foo::Zap", "four", context_runner).and_return(@heckle)
24
+ it "should heckle all methods in all classes in a module" do
25
+ @heckle_class.should_receive(:new).with("Foo::Bar", "one", behaviour_runner).and_return(@heckle)
26
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
27
+ @heckle_class.should_receive(:new).with("Foo::Zap", "three", behaviour_runner).and_return(@heckle)
28
+ @heckle_class.should_receive(:new).with("Foo::Zap", "four", behaviour_runner).and_return(@heckle)
29
29
 
30
30
  heckle_runner = Spec::Runner::HeckleRunner.new("Foo", @heckle_class)
31
- heckle_runner.heckle_with(context_runner)
31
+ heckle_runner.heckle_with(behaviour_runner)
32
32
  end
33
33
 
34
- specify "should heckle all methods in a class" do
35
- @heckle_class.should_receive(:new).with("Foo::Bar", "one", context_runner).and_return(@heckle)
36
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", context_runner).and_return(@heckle)
34
+ it "should heckle all methods in a class" do
35
+ @heckle_class.should_receive(:new).with("Foo::Bar", "one", behaviour_runner).and_return(@heckle)
36
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
37
37
 
38
38
  heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar", @heckle_class)
39
- heckle_runner.heckle_with(context_runner)
39
+ heckle_runner.heckle_with(behaviour_runner)
40
40
  end
41
41
 
42
- specify "should fail heckling when the class is not found" do
42
+ it "should fail heckling when the class is not found" do
43
43
  lambda do
44
44
  heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bob", @heckle_class)
45
- heckle_runner.heckle_with(context_runner)
45
+ heckle_runner.heckle_with(behaviour_runner)
46
46
  end.should raise_error(StandardError, "Heckling failed - \"Foo::Bob\" is not a known class or module")
47
47
  end
48
48
 
49
- specify "should heckle specific method in a class (with #)" do
50
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", context_runner).and_return(@heckle)
49
+ it "should heckle specific method in a class (with #)" do
50
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
51
51
 
52
52
  heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar#two", @heckle_class)
53
- heckle_runner.heckle_with(context_runner)
53
+ heckle_runner.heckle_with(behaviour_runner)
54
54
  end
55
55
 
56
- specify "should heckle specific method in a class (with .)" do
57
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", context_runner).and_return(@heckle)
56
+ it "should heckle specific method in a class (with .)" do
57
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
58
58
 
59
59
  heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar.two", @heckle_class)
60
- heckle_runner.heckle_with(context_runner)
60
+ heckle_runner.heckle_with(behaviour_runner)
61
61
  end
62
62
  end
63
63
  end
@@ -2,11 +2,11 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
  unless ['i386-mswin32', 'java'].index(PLATFORM)
3
3
  require 'spec/runner/heckle_runner'
4
4
 
5
- context "Heckler" do
6
- specify "should run context_runner on tests_pass?" do
7
- context_runner = mock("context_runner")
8
- context_runner.should_receive(:run)
9
- heckler = Spec::Runner::Heckler.new('Array', 'push', context_runner)
5
+ describe "Heckler" do
6
+ it "should run behaviour_runner on tests_pass?" do
7
+ behaviour_runner = mock("behaviour_runner")
8
+ behaviour_runner.should_receive(:run).with([], false)
9
+ heckler = Spec::Runner::Heckler.new('Array', 'push', behaviour_runner)
10
10
 
11
11
  heckler.tests_pass?
12
12
  end
@@ -2,42 +2,42 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Runner
5
- context "NoisyBacktraceTweaker" do
6
- setup do
5
+ describe "NoisyBacktraceTweaker" do
6
+ before(:each) do
7
7
  @error = RuntimeError.new
8
8
  @tweaker = NoisyBacktraceTweaker.new
9
9
  end
10
10
 
11
- specify "should leave anything in lib spec dir" do
11
+ it "should leave anything in lib spec dir" do
12
12
  ["expectations", "mocks", "runner", "stubs"].each do |child|
13
13
  @error.set_backtrace(["/lib/spec/#{child}/anything.rb"])
14
14
  @tweaker.tweak_backtrace(@error, "spec name")
15
- @error.backtrace.should_not_be_empty
15
+ @error.backtrace.should_not be_empty
16
16
  end
17
17
  end
18
18
 
19
- specify "should leave anything in spec dir" do
19
+ it "should leave anything in spec dir" do
20
20
  @error.set_backtrace(["/lib/spec/expectations/anything.rb"])
21
21
  @tweaker.tweak_backtrace(@error, "spec name")
22
- @error.backtrace.should_not_be_empty
22
+ @error.backtrace.should_not be_empty
23
23
  end
24
24
 
25
- specify "should leave bin spec" do
25
+ it "should leave bin spec" do
26
26
  @error.set_backtrace(["bin/spec:"])
27
27
  @tweaker.tweak_backtrace(@error, "spec name")
28
- @error.backtrace.should_not_be_empty
28
+ @error.backtrace.should_not be_empty
29
29
  end
30
30
 
31
- specify "should not barf on nil backtrace" do
31
+ it "should not barf on nil backtrace" do
32
32
  lambda do
33
33
  @tweaker.tweak_backtrace(@error, "spec name")
34
- end.should_not_raise
34
+ end.should_not raise_error
35
35
  end
36
36
 
37
- specify "should clean up double slashes" do
37
+ it "should clean up double slashes" do
38
38
  @error.set_backtrace(["/a//b/c//d.rb"])
39
39
  @tweaker.tweak_backtrace(@error, "spec name")
40
- @error.backtrace.should_include "/a/b/c/d.rb"
40
+ @error.backtrace.should include("/a/b/c/d.rb")
41
41
  end
42
42
 
43
43
  end