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,88 +2,88 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "a mock, in handling arguments" do
6
- setup do
5
+ describe "a mock, in handling arguments" do
6
+ before(:each) do
7
7
  @mock = Mock.new("test mock")
8
8
  end
9
9
 
10
- teardown do
11
- @mock.__verify
10
+ after(:each) do
11
+ @mock.rspec_verify
12
12
  end
13
13
 
14
- specify "should accept true as boolean" do
14
+ it "should accept true as boolean" do
15
15
  @mock.should_receive(:random_call).with(:boolean)
16
16
  @mock.random_call(true)
17
17
  end
18
18
 
19
- specify "should accept false as boolean" do
19
+ it "should accept false as boolean" do
20
20
  @mock.should_receive(:random_call).with(:boolean)
21
21
  @mock.random_call(false)
22
22
  end
23
23
 
24
- specify "should accept fixnum as numeric" do
24
+ it "should accept fixnum as numeric" do
25
25
  @mock.should_receive(:random_call).with(:numeric)
26
26
  @mock.random_call(1)
27
27
  end
28
28
 
29
- specify "should accept float as numeric" do
29
+ it "should accept float as numeric" do
30
30
  @mock.should_receive(:random_call).with(:numeric)
31
31
  @mock.random_call(1.5)
32
32
  end
33
33
 
34
- specify "should accept string as anything" do
34
+ it "should accept string as anything" do
35
35
  @mock.should_receive(:random_call).with("a", :anything, "c")
36
36
  @mock.random_call("a", "whatever", "c")
37
37
  end
38
38
 
39
- specify "should match duck type with one method" do
39
+ it "should match duck type with one method" do
40
40
  @mock.should_receive(:random_call).with(DuckTypeArgConstraint.new(:length))
41
41
  @mock.random_call([])
42
42
  end
43
43
 
44
- specify "should match duck type with two methods" do
44
+ it "should match duck type with two methods" do
45
45
  @mock.should_receive(:random_call).with(DuckTypeArgConstraint.new(:abs, :div))
46
46
  @mock.random_call(1)
47
47
  end
48
48
 
49
- specify "should match non special symbol" do
49
+ it "should match non special symbol" do
50
50
  @mock.should_receive(:random_call).with(:some_symbol)
51
51
  @mock.random_call(:some_symbol)
52
52
  end
53
53
 
54
- specify "should match string" do
54
+ it "should match string" do
55
55
  @mock.should_receive(:random_call).with(:string)
56
56
  @mock.random_call("a string")
57
57
  end
58
58
 
59
- specify "should match string against regexp" do
59
+ it "should match string against regexp" do
60
60
  @mock.should_receive(:random_call).with(/bcd/)
61
61
  @mock.random_call("abcde")
62
62
  end
63
63
 
64
- specify "should match regexp against regexp" do
64
+ it "should match regexp against regexp" do
65
65
  @mock.should_receive(:random_call).with(/bcd/)
66
66
  @mock.random_call(/bcd/)
67
67
  end
68
68
 
69
- specify "should match against a hash submitted and received by value" do
69
+ it "should match against a hash submitted and received by value" do
70
70
  @mock.should_receive(:random_call).with(:a => "a", :b => "b")
71
71
  @mock.random_call(:a => "a", :b => "b")
72
72
  end
73
73
 
74
- specify "should match against a hash submitted by reference and received by value" do
74
+ it "should match against a hash submitted by reference and received by value" do
75
75
  opts = {:a => "a", :b => "b"}
76
76
  @mock.should_receive(:random_call).with(opts)
77
77
  @mock.random_call(:a => "a", :b => "b")
78
78
  end
79
79
 
80
- specify "should match against a hash submitted by value and received by reference" do
80
+ it "should match against a hash submitted by value and received by reference" do
81
81
  opts = {:a => "a", :b => "b"}
82
82
  @mock.should_receive(:random_call).with(:a => "a", :b => "b")
83
83
  @mock.random_call(opts)
84
84
  end
85
85
 
86
- specify "should match against a Matcher" do
86
+ it "should match against a Matcher" do
87
87
  @mock.should_receive(:msg).with(equal(37))
88
88
  @mock.msg(37)
89
89
  end
@@ -1,56 +1,52 @@
1
1
  require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
- module Mocks
5
- context "PreciseCounts" do
6
- setup do
7
- @mock = Mock.new("test mock", {
8
- :auto_verify => false
9
- })
10
-
11
- end
12
- specify "should fail when exactly n times method is called less than n times" do
4
+ module Mocks
5
+ describe "PreciseCounts" do
6
+ before(:each) do
7
+ @mock = mock("test mock")
8
+ end
9
+
10
+ it "should fail when exactly n times method is called less than n times" do
13
11
  @mock.should_receive(:random_call).exactly(3).times
14
12
  @mock.random_call
15
13
  @mock.random_call
16
14
  lambda do
17
- @mock.__verify
18
- end.should_raise(MockExpectationError)
19
-
20
- end
21
- specify "should fail when exactly n times method is never called" do
15
+ @mock.rspec_verify
16
+ end.should raise_error(MockExpectationError)
17
+ end
18
+
19
+ it "should fail when exactly n times method is never called" do
22
20
  @mock.should_receive(:random_call).exactly(3).times
23
21
  lambda do
24
- @mock.__verify
25
- end.should_raise(MockExpectationError)
26
-
27
- end
28
- specify "should pass if exactly n times method is called exactly n times" do
22
+ @mock.rspec_verify
23
+ end.should raise_error(MockExpectationError)
24
+ end
25
+
26
+ it "should pass if exactly n times method is called exactly n times" do
29
27
  @mock.should_receive(:random_call).exactly(3).times
30
28
  @mock.random_call
31
29
  @mock.random_call
32
30
  @mock.random_call
33
- @mock.__verify
34
-
35
- end
36
- specify "should pass multiple calls with different args and counts" do
31
+ @mock.rspec_verify
32
+ end
33
+
34
+ it "should pass multiple calls with different args and counts" do
37
35
  @mock.should_receive(:random_call).twice.with(1)
38
36
  @mock.should_receive(:random_call).once.with(2)
39
37
  @mock.random_call(1)
40
38
  @mock.random_call(2)
41
39
  @mock.random_call(1)
42
- @mock.__verify
43
-
44
- end
45
- specify "should pass mutiple calls with different args" do
40
+ @mock.rspec_verify
41
+ end
42
+
43
+ it "should pass mutiple calls with different args" do
46
44
  @mock.should_receive(:random_call).once.with(1)
47
45
  @mock.should_receive(:random_call).once.with(2)
48
46
  @mock.random_call(1)
49
47
  @mock.random_call(2)
50
- @mock.__verify
51
-
48
+ @mock.rspec_verify
49
+ end
52
50
  end
53
-
54
- end
55
- end
51
+ end
56
52
  end
@@ -2,24 +2,24 @@ require File.dirname(__FILE__) + '/../../spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "a mock" do
6
- setup do
5
+ describe "a mock" do
6
+ before(:each) do
7
7
  @mock = mock("mock", :null_object => true)
8
8
  end
9
- specify "should answer false for received_message? when no messages received" do
10
- @mock.received_message?(:message).should be(false)
9
+ it "should answer false for received_message? when no messages received" do
10
+ @mock.received_message?(:message).should be_false
11
11
  end
12
- specify "should answer true for received_message? when message received" do
12
+ it "should answer true for received_message? when message received" do
13
13
  @mock.message
14
- @mock.received_message?(:message).should be(true)
14
+ @mock.received_message?(:message).should be_true
15
15
  end
16
- specify "should answer true for received_message? when message received with correct args" do
16
+ it "should answer true for received_message? when message received with correct args" do
17
17
  @mock.message 1,2,3
18
- @mock.received_message?(:message, 1,2,3).should be(true)
18
+ @mock.received_message?(:message, 1,2,3).should be_true
19
19
  end
20
- specify "should answer false for received_message? when message received with incorrect args" do
20
+ it "should answer false for received_message? when message received with incorrect args" do
21
21
  @mock.message 1,2,3
22
- @mock.received_message?(:message, 1,2).should be(false)
22
+ @mock.received_message?(:message, 1,2).should be_false
23
23
  end
24
24
  end
25
25
  end
@@ -2,8 +2,8 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "A method stub" do
6
- setup do
5
+ describe "A method stub" do
6
+ before(:each) do
7
7
  @class = Class.new do
8
8
  def self.existing_class_method
9
9
  :original_value
@@ -16,88 +16,88 @@ module Spec
16
16
  @obj = @class.new
17
17
  end
18
18
 
19
- specify "should allow for a mock expectation to temporarily replace a method stub on a mock" do
19
+ it "should allow for a mock expectation to temporarily replace a method stub on a mock" do
20
20
  mock = Spec::Mocks::Mock.new("a mock")
21
21
  mock.stub!(:msg).and_return(:stub_value)
22
22
  mock.should_receive(:msg).with(:arg).and_return(:mock_value)
23
23
  mock.msg(:arg).should equal(:mock_value)
24
24
  mock.msg.should equal(:stub_value)
25
25
  mock.msg.should equal(:stub_value)
26
- mock.__verify
26
+ mock.rspec_verify
27
27
  end
28
28
 
29
- specify "should allow for a mock expectation to temporarily replace a method stub on a non-mock" do
29
+ it "should allow for a mock expectation to temporarily replace a method stub on a non-mock" do
30
30
  @obj.stub!(:msg).and_return(:stub_value)
31
31
  @obj.should_receive(:msg).with(:arg).and_return(:mock_value)
32
32
  @obj.msg(:arg).should equal(:mock_value)
33
33
  @obj.msg.should equal(:stub_value)
34
34
  @obj.msg.should equal(:stub_value)
35
- @obj.__verify
35
+ @obj.rspec_verify
36
36
  end
37
37
 
38
- specify "should ignore when expected message is not received" do
38
+ it "should ignore when expected message is not received" do
39
39
  @obj.stub!(:msg)
40
40
  lambda do
41
- @obj.__verify
42
- end.should_not_raise
41
+ @obj.rspec_verify
42
+ end.should_not raise_error
43
43
  end
44
44
 
45
- specify "should clear itself on __verify" do
45
+ it "should clear itself on rspec_verify" do
46
46
  @obj.stub!(:this_should_go).and_return(:blah)
47
- @obj.this_should_go.should_equal :blah
48
- @obj.__verify
47
+ @obj.this_should_go.should == :blah
48
+ @obj.rspec_verify
49
49
  lambda do
50
50
  @obj.this_should_go
51
- end.should_raise
51
+ end.should raise_error
52
52
  end
53
53
 
54
- specify "should ignore when expected message is received" do
54
+ it "should ignore when expected message is received" do
55
55
  @obj.stub!(:msg)
56
56
  @obj.msg
57
- @obj.__verify
57
+ @obj.rspec_verify
58
58
  end
59
59
 
60
- specify "should ignore when message is received with args" do
60
+ it "should ignore when message is received with args" do
61
61
  @obj.stub!(:msg)
62
62
  @obj.msg(:an_arg)
63
- @obj.__verify
63
+ @obj.rspec_verify
64
64
  end
65
65
 
66
- specify "should not support with" do
66
+ it "should not support with" do
67
67
  lambda do
68
68
  Spec::Mocks::Mock.new("a mock").stub!(:msg).with(:arg)
69
- end.should_raise(NoMethodError)
69
+ end.should raise_error(NoMethodError)
70
70
  end
71
71
 
72
- specify "should return expected value when expected message is received" do
72
+ it "should return expected value when expected message is received" do
73
73
  @obj.stub!(:msg).and_return(:return_value)
74
74
  @obj.msg.should equal(:return_value)
75
- @obj.__verify
75
+ @obj.rspec_verify
76
76
  end
77
77
 
78
- specify "should return values in order to consecutive calls" do
78
+ it "should return values in order to consecutive calls" do
79
79
  return_values = ["1",2,Object.new]
80
80
  @obj.stub!(:msg).and_return(return_values[0],return_values[1],return_values[2])
81
- @obj.msg.should_eql return_values[0]
82
- @obj.msg.should_eql return_values[1]
83
- @obj.msg.should_eql return_values[2]
81
+ @obj.msg.should == return_values[0]
82
+ @obj.msg.should == return_values[1]
83
+ @obj.msg.should == return_values[2]
84
84
  end
85
85
 
86
- specify "should keep returning last value in consecutive calls" do
86
+ it "should keep returning last value in consecutive calls" do
87
87
  return_values = ["1",2,Object.new]
88
88
  @obj.stub!(:msg).and_return(return_values[0],return_values[1],return_values[2])
89
- @obj.msg.should_eql return_values[0]
90
- @obj.msg.should_eql return_values[1]
91
- @obj.msg.should_eql return_values[2]
92
- @obj.msg.should_eql return_values[2]
93
- @obj.msg.should_eql return_values[2]
89
+ @obj.msg.should == return_values[0]
90
+ @obj.msg.should == return_values[1]
91
+ @obj.msg.should == return_values[2]
92
+ @obj.msg.should == return_values[2]
93
+ @obj.msg.should == return_values[2]
94
94
  end
95
95
 
96
- specify "should revert to original instance method if existed" do
96
+ it "should revert to original instance method if existed" do
97
97
  @obj.existing_instance_method.should equal(:original_value)
98
98
  @obj.stub!(:existing_instance_method).and_return(:mock_value)
99
99
  @obj.existing_instance_method.should equal(:mock_value)
100
- @obj.__verify
100
+ @obj.rspec_verify
101
101
  # TODO JRUBY: This causes JRuby to fail with:
102
102
  # NativeException in 'Stub should revert to original instance method if existed'
103
103
  # java.lang.ArrayIndexOutOfBoundsException: 0
@@ -118,39 +118,39 @@ module Spec
118
118
  @obj.existing_instance_method.should equal(:original_value)
119
119
  end
120
120
 
121
- specify "should revert to original class method if existed" do
121
+ it "should revert to original class method if existed" do
122
122
  @class.existing_class_method.should equal(:original_value)
123
123
  @class.stub!(:existing_class_method).and_return(:mock_value)
124
124
  @class.existing_class_method.should equal(:mock_value)
125
- @class.__verify
125
+ @class.rspec_verify
126
126
  @class.existing_class_method.should equal(:original_value)
127
127
  end
128
128
 
129
- specify "should clear itself on __verify" do
129
+ it "should clear itself on rspec_verify" do
130
130
  @obj.stub!(:this_should_go).and_return(:blah)
131
- @obj.this_should_go.should_equal :blah
132
- @obj.__verify
131
+ @obj.this_should_go.should == :blah
132
+ @obj.rspec_verify
133
133
  lambda do
134
134
  @obj.this_should_go
135
- end.should_raise
135
+ end.should raise_error
136
136
  end
137
137
 
138
- specify "should support yielding" do
138
+ it "should support yielding" do
139
139
  @obj.stub!(:method_that_yields).and_yield(:yielded_value)
140
140
  current_value = :value_before
141
141
  @obj.method_that_yields {|val| current_value = val}
142
- current_value.should_equal :yielded_value
143
- @obj.__verify
142
+ current_value.should == :yielded_value
143
+ @obj.rspec_verify
144
144
  end
145
145
 
146
- specify "should throw when told to" do
146
+ it "should throw when told to" do
147
147
  @mock.stub!(:something).and_throw(:blech)
148
148
  lambda do
149
149
  @mock.something
150
- end.should_throw(:blech)
150
+ end.should throw_symbol(:blech)
151
151
  end
152
152
 
153
- specify "should support overriding w/ a new stub" do
153
+ it "should support overriding w/ a new stub" do
154
154
  @stub.stub!(:existing_instance_method).and_return(:updated_stub_value)
155
155
  @stub.existing_instance_method.should == :updated_stub_value
156
156
  end
@@ -2,65 +2,65 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  module Spec
4
4
  module Mocks
5
- context "TwiceCounts" do
6
- setup do
7
- @mock = Mock.new("test mock", {
8
- :auto_verify => false
9
- })
5
+ describe "TwiceCounts" do
6
+ before(:each) do
7
+ @mock = mock("test mock")
10
8
  end
11
9
 
12
- specify "twice should fail when call count is higher than expected" do
10
+ it "twice should fail when call count is higher than expected" do
13
11
  @mock.should_receive(:random_call).twice
14
12
  @mock.random_call
15
13
  @mock.random_call
16
14
  @mock.random_call
17
15
  lambda do
18
- @mock.__verify
19
- end.should_raise(MockExpectationError)
16
+ @mock.rspec_verify
17
+ end.should raise_error(MockExpectationError)
20
18
  end
21
19
 
22
- specify "twice should fail when call count is lower than expected" do
20
+ it "twice should fail when call count is lower than expected" do
23
21
  @mock.should_receive(:random_call).twice
24
22
  @mock.random_call
25
23
  lambda do
26
- @mock.__verify
27
- end.should_raise(MockExpectationError)
24
+ @mock.rspec_verify
25
+ end.should raise_error(MockExpectationError)
28
26
  end
29
27
 
30
- specify "twice should fail when called twice with wrong args on the first call" do
28
+ it "twice should fail when called twice with wrong args on the first call" do
31
29
  @mock.should_receive(:random_call).twice.with("1", 1)
32
30
  lambda do
33
31
  @mock.random_call(1, "1")
34
- end.should_raise(MockExpectationError)
32
+ end.should raise_error(MockExpectationError)
33
+ @mock.rspec_reset
35
34
  end
36
35
 
37
- specify "twice should fail when called twice with wrong args on the second call" do
36
+ it "twice should fail when called twice with wrong args on the second call" do
38
37
  @mock.should_receive(:random_call).twice.with("1", 1)
39
38
  @mock.random_call("1", 1)
40
39
  lambda do
41
40
  @mock.random_call(1, "1")
42
- end.should_raise(MockExpectationError)
41
+ end.should raise_error(MockExpectationError)
42
+ @mock.rspec_reset
43
43
  end
44
44
 
45
- specify "twice should pass when called twice" do
45
+ it "twice should pass when called twice" do
46
46
  @mock.should_receive(:random_call).twice
47
47
  @mock.random_call
48
48
  @mock.random_call
49
- @mock.__verify
49
+ @mock.rspec_verify
50
50
  end
51
51
 
52
- specify "twice should pass when called twice with specified args" do
52
+ it "twice should pass when called twice with specified args" do
53
53
  @mock.should_receive(:random_call).twice.with("1", 1)
54
54
  @mock.random_call("1", 1)
55
55
  @mock.random_call("1", 1)
56
- @mock.__verify
56
+ @mock.rspec_verify
57
57
  end
58
58
 
59
- specify "twice should pass when called twice with unspecified args" do
59
+ it "twice should pass when called twice with unspecified args" do
60
60
  @mock.should_receive(:random_call).twice
61
61
  @mock.random_call("1")
62
62
  @mock.random_call(1)
63
- @mock.__verify
63
+ @mock.rspec_verify
64
64
  end
65
65
  end
66
66
  end