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
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_eql" do
4
- specify "should pass when objects are equal (by value)" do
5
- "apples".should_eql("apples")
6
- end
7
-
8
- specify "should fail when objects are not equal (by value)" do
9
- lambda { "apples".should_eql("cadillacs") }.should_fail_with "expected \"cadillacs\", got \"apples\" (using .eql?)"
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_equal" do
4
- specify "should pass when objects are the same instance" do
5
- :apple.should_equal(:apple)
6
- end
7
-
8
- specify "should fail when objects are not the same instance" do
9
- lambda { "apple".should_equal("apple") }.should_fail_with "expected \"apple\", got \"apple\" (using .equal?)"
10
- end
11
- end
@@ -1,53 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Expectations
5
- module Helper
6
- context "should_have_at_least" do
7
- setup do
8
- @owner = CollectionOwner.new
9
- (1..3).each do |n|
10
- @owner.add_to_collection_with_length_method(n)
11
- @owner.add_to_collection_with_size_method(n)
12
- end
13
- end
14
-
15
- specify "should not raise when expecting actual length" do
16
- lambda do
17
- @owner.should_have_at_least(3).items_in_collection_with_length_method
18
- end.should_pass
19
- end
20
-
21
- specify "should not raise when expecting actual size" do
22
- lambda do
23
- @owner.should_have_at_least(3).items_in_collection_with_size_method
24
- end.should_pass
25
- end
26
-
27
- specify "should not raise when expecting less than actual length" do
28
- lambda do
29
- @owner.should_have_at_least(2).items_in_collection_with_length_method
30
- end.should_pass
31
- end
32
-
33
- specify "should not raise when expecting less than actual size" do
34
- lambda do
35
- @owner.should_have_at_least(2).items_in_collection_with_size_method
36
- end.should_pass
37
- end
38
-
39
- specify "should raise when expecting more than actual length" do
40
- lambda do
41
- @owner.should_have_at_least(4).items_in_collection_with_length_method
42
- end.should_fail
43
- end
44
-
45
- specify "should raise when expecting more than actual size" do
46
- lambda do
47
- @owner.should_have_at_least(4).items_in_collection_with_size_method
48
- end.should_fail
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,45 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Expectations
5
- module Helper
6
- context "should_have_at_most" do
7
- setup do
8
- @owner = CollectionOwner.new
9
- (1..3).each do |n|
10
- @owner.add_to_collection_with_length_method(n)
11
- @owner.add_to_collection_with_size_method(n)
12
- end
13
- end
14
-
15
- specify "should fail when expecting actual length" do
16
- @owner.should_have_at_most(3).items_in_collection_with_length_method
17
- end
18
-
19
- specify "should fail when expecting actual size" do
20
- @owner.should_have_at_most(3).items_in_collection_with_size_method
21
- end
22
-
23
- specify "should fail when expecting more than actual length" do
24
- @owner.should_have_at_most(4).items_in_collection_with_length_method
25
- end
26
-
27
- specify "should fail when expecting more than actual size" do
28
- @owner.should_have_at_most(4).items_in_collection_with_size_method
29
- end
30
-
31
- specify "should pass when expecting less than actual length" do
32
- lambda do
33
- @owner.should_have_at_most(2).items_in_collection_with_length_method
34
- end.should_fail
35
- end
36
-
37
- specify "should pass when expecting less than actual size" do
38
- lambda do
39
- @owner.should_have_at_most(2).items_in_collection_with_size_method
40
- end.should_fail
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,21 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_have_key" do
4
- specify "should pass when key is present" do
5
- lambda do
6
- {"a" => 1}.should_have_key("a")
7
- end.should_not_raise
8
- end
9
-
10
- specify "should fail when key is not present" do
11
- lambda do
12
- {"a" => 1}.should_have_key("b")
13
- end.should_fail_with('expected #has_key?("b") to return true, got false')
14
- end
15
-
16
- specify "should fail when target does not respond to has_key?" do
17
- lambda do
18
- Object.new.should_have_key("b")
19
- end.should_fail_with /target does not respond to #has_key\?/
20
- end
21
- end
@@ -1,64 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Expectations
5
- module Helper
6
- context "should_have(n).items" do
7
- setup do
8
- @owner = CollectionOwner.new
9
- (1..3).each do |n|
10
- @owner.add_to_collection_with_length_method(n)
11
- @owner.add_to_collection_with_size_method(n)
12
- end
13
- end
14
-
15
- specify "should pass when expecting actual length" do
16
- @owner.should_have(3).items_in_collection_with_length_method
17
- @owner.should_have_exactly(3).items_in_collection_with_length_method
18
- end
19
-
20
- specify "should pass when expecting actual size" do
21
- @owner.should_have(3).items_in_collection_with_size_method
22
- @owner.should_have_exactly(3).items_in_collection_with_size_method
23
- end
24
-
25
- specify "should pass when expecting actual size with args" do
26
- @owner.should_have(3).items_for("a")
27
- @owner.should_have_exactly(3).items_for("a")
28
- @owner.should_have(1).items_for("b")
29
- @owner.should_have_exactly(1).items_for("b")
30
- end
31
-
32
- specify "should raise when expecting less than actual length" do
33
- lambda do
34
- @owner.should_have(2).items_in_collection_with_length_method
35
- end.should_fail
36
- end
37
-
38
- specify "should raise when expecting less than actual length with exactly" do
39
- lambda do
40
- @owner.should_have_exactly(2).items_in_collection_with_length_method
41
- end.should_fail
42
- end
43
-
44
- specify "should raise when expecting less than actual size" do
45
- lambda do
46
- @owner.should_have(2).items_in_collection_with_size_method
47
- end.should_fail
48
- end
49
-
50
- specify "should raise when expecting more than actual length" do
51
- lambda do
52
- @owner.should_have(4).items_in_collection_with_length_method
53
- end.should_fail
54
- end
55
-
56
- specify "should raise when expecting more than actual size" do
57
- lambda do
58
- @owner.should_have(4).items_in_collection_with_size_method
59
- end.should_fail_with "expected 4 items_in_collection_with_size_method, got 3"
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,59 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_include" do
4
- setup do
5
- @dummy = "dummy"
6
- @equal_dummy = "dummy"
7
- @another_dummy = "another_dummy"
8
- @nil_var = nil
9
- end
10
-
11
- specify "should fail when array inclusion is missing" do
12
- lambda do
13
- [1, 2, 3].should_include(5)
14
- end.should_fail
15
- end
16
-
17
- specify "should fail when enumerable inclusion is missing" do
18
- lambda do
19
- IO.constants.should_include("BLAH")
20
- end.should_fail
21
- end
22
-
23
- specify "should fail when hash inclusion is missing" do
24
- lambda do
25
- {"a" => 1}.should_include("b")
26
- end.should_fail
27
- end
28
-
29
- specify "should fail when string inclusion is missing" do
30
- lambda do
31
- @dummy.should_include("abc")
32
- end.should_fail
33
- end
34
-
35
- specify "should pass when array inclusion is present" do
36
- lambda do
37
- [1, 2, 3].should_include(2)
38
- end.should_pass
39
- end
40
-
41
- specify "should pass when enumerable inclusion is present" do
42
- lambda do
43
- IO.constants.should_include("SEEK_SET")
44
- end.should_pass
45
- end
46
-
47
- specify "should pass when hash inclusion is present" do
48
- lambda do
49
- {"a" => 1}.should_include("a")
50
- end.should_pass
51
- end
52
-
53
- specify "should pass when string inclusion is present" do
54
- lambda do
55
- @dummy.should_include("mm")
56
- end.should_pass
57
- end
58
- end
59
-
@@ -1,25 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_match" do
4
- specify "should pass when objects match" do
5
- "hi aslak".should_match(/aslak/)
6
- end
7
-
8
- specify "should fail objects do not match" do
9
- lambda do
10
- "hi aslak".should_match(/steve/)
11
- end.should_fail
12
- end
13
- end
14
-
15
- context "should_not_match" do
16
- specify "should fail when objects match" do
17
- lambda do
18
- "hi aslak".should_not_match(/aslak/)
19
- end.should_fail
20
- end
21
-
22
- specify "should pass objects do not match" do
23
- "hi aslak".should_not_match(/steve/)
24
- end
25
- end
@@ -1,15 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_not ==" do
4
- specify "should pass objects are not ==" do
5
- lambda do
6
- "apple".should_not == "cadillac"
7
- end.should_pass
8
- end
9
-
10
- specify "should fail when objects are ==" do
11
- lambda do
12
- "apple".should_not == "apple"
13
- end.should_fail_with "expected not == \"apple\", got \"apple\""
14
- end
15
- end
@@ -1,21 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_not_be_a_kind_of" do
4
- specify "should fail when target is of specified class" do
5
- lambda do
6
- 5.should_not_be_a_kind_of(Fixnum)
7
- end.should_fail
8
- end
9
-
10
- specify "should fail when target is of subclass of specified class" do
11
- lambda do
12
- 5.should_not_be_a_kind_of(Integer)
13
- end.should_fail
14
- end
15
-
16
- specify "should pass when target is not specified class" do
17
- lambda do
18
- 5.should_not_be_a_kind_of(String)
19
- end.should_not_raise
20
- end
21
- end
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_not_be_an_instance_of" do
4
- specify "should fail when target is of specified class" do
5
- lambda { "hello".should_not_be_an_instance_of(String) }.should_fail
6
- end
7
-
8
- specify "should pass when target is not of specified class" do
9
- [].should_not_be_an_instance_of(String)
10
- end
11
- end
@@ -1,68 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Expectations
5
- module Helper
6
- context "should_not_be_arbitrary_predicate" do
7
- specify "should fail when method returns something other than true false or nil" do
8
- mock=HandCodedMock.new(5)
9
- lambda do
10
- mock.should_not_be_funny
11
- end.should_fail
12
- mock.__verify
13
- end
14
-
15
- specify "should fail when predicate accepts args and returns true" do
16
- mock=HandCodedMock.new(true)
17
- lambda do
18
- mock.should_not_be_hungry(1, 2, 3)
19
- end.should_fail
20
- mock.__verify
21
- end
22
-
23
- specify "should fail when predicate returns true" do
24
- mock=HandCodedMock.new(true)
25
- lambda do
26
- mock.should_not_be_funny
27
- end.should_fail
28
- mock.__verify
29
- end
30
-
31
- specify "should pass when predicate accepts args and returns false" do
32
- mock=HandCodedMock.new(false)
33
- lambda do
34
- mock.should_not_be_hungry(1, 2, 3)
35
- end.should_not_raise
36
- mock.__verify
37
- end
38
-
39
- specify "should pass when predicate returns false" do
40
- mock=HandCodedMock.new(false)
41
- mock.should_not_be_funny
42
- mock.__verify
43
- end
44
-
45
- specify "should pass when predicate returns nil" do
46
- mock=HandCodedMock.new(nil)
47
- mock.should_not_be_funny
48
- mock.__verify
49
- end
50
-
51
- specify "should raise NoMethodError when target does not respond to predicate" do
52
- lambda do
53
- 5.should_not_be_funny
54
- end.should_raise(NameError)
55
- end
56
-
57
- specify "should support multi word predicates with should" do
58
- HandCodedMock.new(false).should_not_multi_word_predicate
59
- end
60
-
61
- specify "should support multi word predicates with should be" do
62
- HandCodedMock.new(false).should_not_be_multi_word_predicate
63
- end
64
- end
65
- end
66
- end
67
- end
68
-
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- context "should_not_be" do
4
- specify "should pass when objects are not the same instance" do
5
- "apple".should_not_be("apple")
6
- end
7
-
8
- specify "should fail when objects are the same instance" do
9
- lambda { :apple.should_not_be(:apple) }.should_fail
10
- end
11
- end
@@ -1,24 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- class SomethingExpected
4
- attr_accessor :some_value
5
- end
6
-
7
- context "should_not_change" do
8
- setup do
9
- @instance = SomethingExpected.new
10
- @instance.some_value = 5
11
- end
12
-
13
- specify "should not raise exception when the target is not modified by the block" do
14
- lambda do
15
- lambda {nil}.should_not_change(@instance, :some_value)
16
- end.should_not_raise
17
- end
18
-
19
- specify "should raise exception when the target is modified by the block" do
20
- lambda do
21
- lambda {@instance.some_value = 6}.should_not_change(@instance, :some_value)
22
- end.should_fail_with "some_value should not have changed, but did change from 5 to 6"
23
- end
24
- end