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
@@ -2,110 +2,110 @@ require File.dirname(__FILE__) + '/../../spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "a Mock expectation with multiple return values and no specified count" do
6
- setup do
5
+ describe "a Mock expectation with multiple return values and no specified count" do
6
+ before(:each) do
7
7
  @mock = Mock.new("mock")
8
8
  @return_values = ["1",2,Object.new]
9
9
  @mock.should_receive(:message).and_return(@return_values[0],@return_values[1],@return_values[2])
10
10
  end
11
11
 
12
- specify "should return values in order to consecutive calls" do
13
- @mock.message.should_eql @return_values[0]
14
- @mock.message.should_eql @return_values[1]
15
- @mock.message.should_eql @return_values[2]
16
- @mock.__verify
12
+ it "should return values in order to consecutive calls" do
13
+ @mock.message.should == @return_values[0]
14
+ @mock.message.should == @return_values[1]
15
+ @mock.message.should == @return_values[2]
16
+ @mock.rspec_verify
17
17
  end
18
18
 
19
- specify "should complain when there are too few calls" do
19
+ it "should complain when there are too few calls" do
20
20
  third = Object.new
21
- @mock.message.should_eql @return_values[0]
22
- @mock.message.should_eql @return_values[1]
23
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it twice"
21
+ @mock.message.should == @return_values[0]
22
+ @mock.message.should == @return_values[1]
23
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it twice")
24
24
  end
25
25
 
26
- specify "should complain when there are too many calls" do
26
+ it "should complain when there are too many calls" do
27
27
  third = Object.new
28
- @mock.message.should_eql @return_values[0]
29
- @mock.message.should_eql @return_values[1]
30
- @mock.message.should_eql @return_values[2]
31
- @mock.message.should_eql @return_values[2]
32
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it 4 times"
28
+ @mock.message.should == @return_values[0]
29
+ @mock.message.should == @return_values[1]
30
+ @mock.message.should == @return_values[2]
31
+ @mock.message.should == @return_values[2]
32
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it 4 times")
33
33
  end
34
34
  end
35
35
 
36
- context "a Mock expectation with multiple return values with a specified count equal to the number of values" do
37
- setup do
36
+ describe "a Mock expectation with multiple return values with a specified count equal to the number of values" do
37
+ before(:each) do
38
38
  @mock = Mock.new("mock")
39
39
  @return_values = ["1",2,Object.new]
40
40
  @mock.should_receive(:message).exactly(3).times.and_return(@return_values[0],@return_values[1],@return_values[2])
41
41
  end
42
42
 
43
- specify "should return values in order to consecutive calls" do
44
- @mock.message.should_eql @return_values[0]
45
- @mock.message.should_eql @return_values[1]
46
- @mock.message.should_eql @return_values[2]
47
- @mock.__verify
43
+ it "should return values in order to consecutive calls" do
44
+ @mock.message.should == @return_values[0]
45
+ @mock.message.should == @return_values[1]
46
+ @mock.message.should == @return_values[2]
47
+ @mock.rspec_verify
48
48
  end
49
49
 
50
- specify "should complain when there are too few calls" do
50
+ it "should complain when there are too few calls" do
51
51
  third = Object.new
52
- @mock.message.should_eql @return_values[0]
53
- @mock.message.should_eql @return_values[1]
54
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it twice"
52
+ @mock.message.should == @return_values[0]
53
+ @mock.message.should == @return_values[1]
54
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it twice")
55
55
  end
56
56
 
57
- specify "should complain when there are too many calls" do
57
+ it "should complain when there are too many calls" do
58
58
  third = Object.new
59
- @mock.message.should_eql @return_values[0]
60
- @mock.message.should_eql @return_values[1]
61
- @mock.message.should_eql @return_values[2]
62
- @mock.message.should_eql @return_values[2]
63
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it 4 times"
59
+ @mock.message.should == @return_values[0]
60
+ @mock.message.should == @return_values[1]
61
+ @mock.message.should == @return_values[2]
62
+ @mock.message.should == @return_values[2]
63
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it 4 times")
64
64
  end
65
65
  end
66
66
 
67
- context "a Mock expectation with multiple return values specifying at_least less than the number of values" do
68
- setup do
67
+ describe "a Mock expectation with multiple return values specifying at_least less than the number of values" do
68
+ before(:each) do
69
69
  @mock = Mock.new("mock")
70
70
  @mock.should_receive(:message).at_least(:twice).with(:no_args).and_return(11, 22)
71
71
  end
72
72
 
73
- specify "should use last return value for subsequent calls" do
73
+ it "should use last return value for subsequent calls" do
74
74
  @mock.message.should equal(11)
75
75
  @mock.message.should equal(22)
76
76
  @mock.message.should equal(22)
77
- @mock.__verify
77
+ @mock.rspec_verify
78
78
  end
79
79
 
80
- specify "should fail when called less than the specified number" do
80
+ it "should fail when called less than the specified number" do
81
81
  @mock.message.should equal(11)
82
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (no args) twice, but received it once"
82
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (no args) twice, but received it once")
83
83
  end
84
84
  end
85
- context "a Mock expectation with multiple return values with a specified count larger than the number of values" do
86
- setup do
85
+ describe "a Mock expectation with multiple return values with a specified count larger than the number of values" do
86
+ before(:each) do
87
87
  @mock = Mock.new("mock")
88
88
  @mock.should_receive(:message).exactly(3).times.and_return(11, 22)
89
89
  end
90
90
 
91
- specify "should use last return value for subsequent calls" do
91
+ it "should use last return value for subsequent calls" do
92
92
  @mock.message.should equal(11)
93
93
  @mock.message.should equal(22)
94
94
  @mock.message.should equal(22)
95
- @mock.__verify
95
+ @mock.rspec_verify
96
96
  end
97
97
 
98
- specify "should fail when called less than the specified number" do
98
+ it "should fail when called less than the specified number" do
99
99
  @mock.message.should equal(11)
100
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it once"
100
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it once")
101
101
  end
102
102
 
103
- specify "should fail when called greater than the specified number" do
103
+ it "should fail when called greater than the specified number" do
104
104
  @mock.message.should equal(11)
105
105
  @mock.message.should equal(22)
106
106
  @mock.message.should equal(22)
107
107
  @mock.message.should equal(22)
108
- lambda { @mock.__verify }.should_raise MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it 4 times"
108
+ lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock 'mock' expected :message with (any args) 3 times, but received it 4 times")
109
109
  end
110
110
  end
111
111
  end
@@ -2,35 +2,35 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "a mock acting as a NullObject" do
6
- setup do
5
+ describe "a mock acting as a NullObject" do
6
+ before(:each) do
7
7
  @mock = Mock.new("null_object", :null_object => true)
8
8
  end
9
9
 
10
- specify "should allow explicit expectation" do
10
+ it "should allow explicit expectation" do
11
11
  @mock.should_receive(:something)
12
12
  @mock.something
13
13
  end
14
14
 
15
- specify "should fail verification when explicit exception not met" do
15
+ it "should fail verification when explicit exception not met" do
16
16
  lambda do
17
17
  @mock.should_receive(:something)
18
- @mock.__verify
19
- end.should_raise(MockExpectationError)
18
+ @mock.rspec_verify
19
+ end.should raise_error(MockExpectationError)
20
20
  end
21
21
 
22
- specify "should ignore unexpected methods" do
22
+ it "should ignore unexpected methods" do
23
23
  @mock.random_call("a", "d", "c")
24
- @mock.__verify
24
+ @mock.rspec_verify
25
25
  end
26
26
 
27
- specify "should expected message with different args first" do
27
+ it "should expected message with different args first" do
28
28
  @mock.should_receive(:message).with(:expected_arg)
29
29
  @mock.message(:unexpected_arg)
30
30
  @mock.message(:expected_arg)
31
31
  end
32
32
 
33
- specify "should expected message with different args second" do
33
+ it "should expected message with different args second" do
34
34
  @mock.should_receive(:message).with(:expected_arg)
35
35
  @mock.message(:expected_arg)
36
36
  @mock.message(:unexpected_arg)
@@ -1,56 +1,53 @@
1
1
  require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
- module Mocks
5
- context "OnceCounts" do
6
- setup do
7
- @mock = Mock.new("test mock", {
8
- :auto_verify => false
9
- })
10
-
11
- end
12
- specify "once should fail when called once with wrong args" do
4
+ module Mocks
5
+ describe "OnceCounts" do
6
+ before(:each) do
7
+ @mock = mock("test mock")
8
+ end
9
+
10
+ it "once should fail when called once with wrong args" do
13
11
  @mock.should_receive(:random_call).once.with("a", "b", "c")
14
12
  lambda do
15
13
  @mock.random_call("d", "e", "f")
16
- end.should_raise(MockExpectationError)
17
-
18
- end
19
- specify "once should fail when called twice" do
14
+ end.should raise_error(MockExpectationError)
15
+ @mock.rspec_reset
16
+ end
17
+
18
+ it "once should fail when called twice" do
20
19
  @mock.should_receive(:random_call).once
21
20
  @mock.random_call
22
21
  @mock.random_call
23
22
  lambda do
24
- @mock.__verify
25
- end.should_raise(MockExpectationError)
23
+ @mock.rspec_verify
24
+ end.should raise_error(MockExpectationError)
25
+ end
26
26
 
27
- end
28
- specify "once should fail when not called" do
27
+ it "once should fail when not called" do
29
28
  @mock.should_receive(:random_call).once
30
29
  lambda do
31
- @mock.__verify
32
- end.should_raise(MockExpectationError)
33
-
34
- end
35
- specify "once should pass when called once" do
30
+ @mock.rspec_verify
31
+ end.should raise_error(MockExpectationError)
32
+ end
33
+
34
+ it "once should pass when called once" do
36
35
  @mock.should_receive(:random_call).once
37
36
  @mock.random_call
38
- @mock.__verify
39
-
40
- end
41
- specify "once should pass when called once with specified args" do
37
+ @mock.rspec_verify
38
+ end
39
+
40
+ it "once should pass when called once with specified args" do
42
41
  @mock.should_receive(:random_call).once.with("a", "b", "c")
43
42
  @mock.random_call("a", "b", "c")
44
- @mock.__verify
45
-
46
- end
47
- specify "once should pass when called once with unspecified args" do
43
+ @mock.rspec_verify
44
+ end
45
+
46
+ it "once should pass when called once with unspecified args" do
48
47
  @mock.should_receive(:random_call).once
49
48
  @mock.random_call("a", "b", "c")
50
- @mock.__verify
51
-
49
+ @mock.rspec_verify
50
+ end
52
51
  end
53
-
54
- end
55
- end
52
+ end
56
53
  end
@@ -2,29 +2,31 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "calling :should_receive with an options hash" do
6
- specify "should report the file and line submitted with :expected_from" do
7
- spec = Spec::Runner::Specification.new "spec" do
5
+ describe "calling :should_receive with an options hash" do
6
+ it "should report the file and line submitted with :expected_from" do
7
+ spec = Spec::DSL::Example.new "spec" do
8
8
  mock = Spec::Mocks::Mock.new("a mock")
9
9
  mock.should_receive(:message, :expected_from => "/path/to/blah.ext:37")
10
+ mock.rspec_verify
10
11
  end
11
12
  reporter = mock("reporter", :null_object => true)
12
- reporter.should_receive(:spec_finished) do |spec, error|
13
- error.backtrace.detect {|line| line =~ /\/path\/to\/blah.ext:37/}.should_not_be nil
13
+ reporter.should_receive(:example_finished) do |spec, error|
14
+ error.backtrace.detect {|line| line =~ /\/path\/to\/blah.ext:37/}.should_not be_nil
14
15
  end
15
- spec.run(reporter, nil, nil, nil, ::Spec::Runner::ExecutionContext.new(nil))
16
+ spec.run(reporter, nil, nil, nil, Object.new)
16
17
  end
17
18
 
18
- specify "should use the message supplied with :message" do
19
- spec = Spec::Runner::Specification.new "spec" do
19
+ it "should use the message supplied with :message" do
20
+ spec = Spec::DSL::Example.new "spec" do
20
21
  mock = Spec::Mocks::Mock.new("a mock")
21
22
  mock.should_receive(:message, :message => "recebi nada")
23
+ mock.rspec_verify
22
24
  end
23
25
  reporter = mock("reporter", :null_object => true)
24
- reporter.should_receive(:spec_finished) do |spec, error|
26
+ reporter.should_receive(:example_finished) do |spec, error|
25
27
  error.message.should == "recebi nada"
26
28
  end
27
- spec.run(reporter, nil, nil, nil, ::Spec::Runner::ExecutionContext.new(nil))
29
+ spec.run(reporter, nil, nil, nil, Object.new)
28
30
  end
29
31
  end
30
32
  end
@@ -2,49 +2,49 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "using a Partial Mock," do
6
- setup do
5
+ describe "using a Partial Mock," do
6
+ before(:each) do
7
7
  @object = Object.new
8
8
  end
9
9
 
10
- specify "should_not_receive should mock out the method" do
10
+ it "should_not_receive should mock out the method" do
11
11
  @object.should_not_receive(:fuhbar)
12
12
  @object.fuhbar
13
13
  lambda do
14
- @object.__verify
15
- end.should_raise(Spec::Mocks::MockExpectationError)
14
+ @object.rspec_verify
15
+ end.should raise_error(Spec::Mocks::MockExpectationError)
16
16
  end
17
17
 
18
- specify "should_not_receive should return a negative message expectation" do
19
- @object.should_not_receive(:foobar).should_be_kind_of(NegativeMessageExpectation)
18
+ it "should_not_receive should return a negative message expectation" do
19
+ @object.should_not_receive(:foobar).should be_kind_of(NegativeMessageExpectation)
20
20
  end
21
21
 
22
- specify "should_receive should mock out the method" do
22
+ it "should_receive should mock out the method" do
23
23
  @object.should_receive(:foobar).with(:test_param).and_return(1)
24
24
  @object.foobar(:test_param).should equal(1)
25
25
  end
26
26
 
27
- specify "should_receive should handle a hash" do
27
+ it "should_receive should handle a hash" do
28
28
  @object.should_receive(:foobar).with(:key => "value").and_return(1)
29
29
  @object.foobar(:key => "value").should equal(1)
30
30
  end
31
31
 
32
- specify "should_receive should handle an inner hash" do
32
+ it "should_receive should handle an inner hash" do
33
33
  hash = {:a => {:key => "value"}}
34
34
  @object.should_receive(:foobar).with(:key => "value").and_return(1)
35
35
  @object.foobar(hash[:a]).should equal(1)
36
36
  end
37
37
 
38
- specify "should_receive should return a message expectation" do
39
- @object.should_receive(:foobar).should_be_kind_of(MessageExpectation)
38
+ it "should_receive should return a message expectation" do
39
+ @object.should_receive(:foobar).should be_kind_of(MessageExpectation)
40
40
  @object.foobar
41
41
  end
42
42
 
43
- specify "should_receive should verify method was called" do
43
+ it "should_receive should verify method was called" do
44
44
  @object.should_receive(:foobar).with(:test_param).and_return(1)
45
45
  lambda do
46
- @object.__verify
47
- end.should_raise(Spec::Mocks::MockExpectationError)
46
+ @object.rspec_verify
47
+ end.should raise_error(Spec::Mocks::MockExpectationError)
48
48
  end
49
49
 
50
50
  end
@@ -2,8 +2,8 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "PartialMockUsingMocksDirectly" do
6
- setup do
5
+ describe "PartialMockUsingMocksDirectly" do
6
+ before(:each) do
7
7
 
8
8
  klass=Class.new
9
9
  klass.class_eval do
@@ -14,47 +14,49 @@ context "PartialMockUsingMocksDirectly" do
14
14
  @obj = klass.new
15
15
 
16
16
  end
17
- specify "should clear expectations on verify" do
18
- @obj.should_receive(:msg)
19
- @obj.msg
20
- @obj.__verify
21
- lambda do
22
- @obj.msg
23
- end.should_raise(NoMethodError)
24
-
25
- end
26
- specify "should fail when expected message is not received" do
17
+
18
+ # See http://rubyforge.org/tracker/index.php?func=detail&aid=10263&group_id=797&atid=3149
19
+ # specify "should clear expectations on verify" do
20
+ # @obj.should_receive(:msg)
21
+ # @obj.msg
22
+ # @obj.rspec_verify
23
+ # lambda do
24
+ # @obj.msg
25
+ # end.should raise_error(NoMethodError)
26
+ #
27
+ # end
28
+ it "should fail when expected message is not received" do
27
29
  @obj.should_receive(:msg)
28
30
  lambda do
29
- @obj.__verify
30
- end.should_raise(MockExpectationError)
31
+ @obj.rspec_verify
32
+ end.should raise_error(MockExpectationError)
31
33
 
32
34
  end
33
- specify "should fail when message is received with incorrect args" do
35
+ it "should fail when message is received with incorrect args" do
34
36
  @obj.should_receive(:msg).with(:correct_arg)
35
37
  lambda do
36
38
  @obj.msg(:incorrect_arg)
37
- end.should_raise(MockExpectationError)
39
+ end.should raise_error(MockExpectationError)
38
40
  @obj.msg(:correct_arg)
39
41
 
40
42
  end
41
- specify "should pass when expected message is received" do
43
+ it "should pass when expected message is received" do
42
44
  @obj.should_receive(:msg)
43
45
  @obj.msg
44
- @obj.__verify
46
+ @obj.rspec_verify
45
47
 
46
48
  end
47
- specify "should pass when message is received with correct args" do
49
+ it "should pass when message is received with correct args" do
48
50
  @obj.should_receive(:msg).with(:correct_arg)
49
51
  @obj.msg(:correct_arg)
50
- @obj.__verify
52
+ @obj.rspec_verify
51
53
 
52
54
  end
53
- specify "should revert to original method if existed" do
55
+ it "should revert to original method if existed" do
54
56
  @obj.existing_method.should equal(:original_value)
55
57
  @obj.should_receive(:existing_method).and_return(:mock_value)
56
58
  @obj.existing_method.should equal(:mock_value)
57
- @obj.__verify
59
+ @obj.rspec_verify
58
60
  @obj.existing_method.should equal(:original_value)
59
61
 
60
62
  end