rspec 1.1.11 → 1.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (269) hide show
  1. data/.autotest +4 -0
  2. data/History.txt +55 -0
  3. data/Manifest.txt +102 -122
  4. data/README.txt +30 -12
  5. data/Rakefile +10 -10
  6. data/TODO.txt +10 -2
  7. data/{failing_examples → examples/failing}/README.txt +0 -0
  8. data/{failing_examples → examples/failing}/diffing_spec.rb +0 -0
  9. data/{failing_examples → examples/failing}/failing_autogenerated_docstrings_example.rb +0 -0
  10. data/{failing_examples/failure_in_teardown.rb → examples/failing/failure_in_after.rb} +1 -1
  11. data/{failing_examples/failure_in_setup.rb → examples/failing/failure_in_before.rb} +1 -1
  12. data/{failing_examples → examples/failing}/mocking_example.rb +0 -0
  13. data/{failing_examples → examples/failing}/mocking_with_flexmock.rb +0 -0
  14. data/{failing_examples → examples/failing}/mocking_with_mocha.rb +0 -0
  15. data/{failing_examples → examples/failing}/mocking_with_rr.rb +0 -0
  16. data/{failing_examples → examples/failing}/partial_mock_example.rb +0 -0
  17. data/{failing_examples → examples/failing}/predicate_example.rb +5 -0
  18. data/{failing_examples → examples/failing}/raising_example.rb +0 -0
  19. data/{failing_examples → examples/failing}/spec_helper.rb +1 -1
  20. data/{failing_examples → examples/failing}/syntax_error_example.rb +0 -0
  21. data/{failing_examples → examples/failing}/team_spec.rb +0 -0
  22. data/{failing_examples → examples/failing}/timeout_behaviour.rb +0 -0
  23. data/examples/{pure → passing}/autogenerated_docstrings_example.rb +6 -0
  24. data/examples/{pure → passing}/before_and_after_example.rb +0 -0
  25. data/examples/{pure → passing}/behave_as_example.rb +0 -0
  26. data/examples/{pure → passing}/custom_expectation_matchers.rb +0 -0
  27. data/examples/{pure → passing}/custom_formatter.rb +1 -1
  28. data/examples/{pure → passing}/dynamic_spec.rb +2 -2
  29. data/examples/{pure → passing}/file_accessor.rb +0 -0
  30. data/examples/{pure → passing}/file_accessor_spec.rb +0 -0
  31. data/examples/{pure → passing}/greeter_spec.rb +0 -0
  32. data/examples/{pure → passing}/helper_method_example.rb +0 -0
  33. data/examples/{pure → passing}/io_processor.rb +0 -0
  34. data/examples/{pure → passing}/io_processor_spec.rb +0 -0
  35. data/examples/{pure → passing}/legacy_spec.rb +0 -0
  36. data/examples/{pure → passing}/mocking_example.rb +0 -0
  37. data/examples/{pure/multi_threaded_behaviour_runner.rb → passing/multi_threaded_example_group_runner.rb} +1 -3
  38. data/examples/{pure → passing}/nested_classes_example.rb +0 -0
  39. data/examples/{pure → passing}/partial_mock_example.rb +0 -0
  40. data/examples/{pure → passing}/pending_example.rb +0 -0
  41. data/examples/{pure → passing}/predicate_example.rb +0 -0
  42. data/examples/{pure → passing}/priority.txt +0 -0
  43. data/examples/{pure → passing}/shared_example_group_example.rb +0 -0
  44. data/examples/{pure → passing}/shared_stack_examples.rb +1 -3
  45. data/examples/passing/simple_matcher_example.rb +31 -0
  46. data/examples/{pure → passing}/spec_helper.rb +0 -0
  47. data/examples/{pure → passing}/stack.rb +0 -0
  48. data/examples/{pure → passing}/stack_spec.rb +3 -2
  49. data/examples/{pure → passing}/stack_spec_with_nested_example_groups.rb +0 -0
  50. data/examples/{pure → passing}/stubbing_example.rb +0 -0
  51. data/examples/{pure → passing}/yielding_example.rb +0 -0
  52. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +86 -0
  53. data/features/before_and_after_blocks/before_and_after_blocks.feature +168 -0
  54. data/{stories/example_groups/autogenerated_docstrings → features/example_groups/autogenerated_docstrings.feature} +5 -5
  55. data/{stories/example_groups/example_group_with_should_methods → features/example_groups/example_group_with_should_methods.feature} +3 -3
  56. data/{stories/example_groups/nested_groups → features/example_groups/nested_groups.feature} +4 -4
  57. data/{stories/example_groups/output → features/example_groups/output.feature} +3 -8
  58. data/{stories/interop/examples_and_tests_together → features/interop/examples_and_tests_together.feature} +5 -4
  59. data/features/interop/test_but_not_test_unit.feature +14 -0
  60. data/{stories/interop/test_case_with_should_methods → features/interop/test_case_with_should_methods.feature} +2 -2
  61. data/{stories/mock_framework_integration/use_flexmock.story → features/mock_framework_integration/use_flexmock.feature} +1 -1
  62. data/features/step_definitions/running_rspec.rb +54 -0
  63. data/features/support/env.rb +26 -0
  64. data/{stories/resources → features/support}/helpers/cmdline.rb +0 -0
  65. data/{stories/resources → features/support}/helpers/story_helper.rb +1 -1
  66. data/{stories/resources → features/support}/matchers/smart_match.rb +0 -0
  67. data/{plugins → lib/adapters}/mock_frameworks/flexmock.rb +1 -1
  68. data/{plugins → lib/adapters}/mock_frameworks/mocha.rb +1 -1
  69. data/{plugins → lib/adapters}/mock_frameworks/rr.rb +1 -1
  70. data/{plugins → lib/adapters}/mock_frameworks/rspec.rb +2 -2
  71. data/lib/autotest/rspec.rb +4 -3
  72. data/lib/spec.rb +2 -27
  73. data/lib/spec/dsl.rb +1 -0
  74. data/lib/spec/{extensions → dsl}/main.rb +10 -10
  75. data/lib/spec/example.rb +175 -1
  76. data/lib/spec/example/before_and_after_hooks.rb +30 -24
  77. data/lib/spec/example/example_group.rb +1 -0
  78. data/lib/spec/example/example_group_factory.rb +26 -9
  79. data/lib/spec/example/example_group_methods.rb +138 -113
  80. data/lib/spec/example/example_methods.rb +88 -25
  81. data/lib/spec/example/shared_example_group.rb +28 -21
  82. data/lib/spec/expectations.rb +22 -18
  83. data/lib/spec/expectations/handler.rb +16 -36
  84. data/lib/spec/interop/test/unit/testcase.rb +19 -17
  85. data/lib/spec/interop/test/unit/testresult.rb +1 -1
  86. data/lib/spec/interop/test/unit/testsuite_adapter.rb +1 -1
  87. data/lib/spec/matchers.rb +7 -28
  88. data/lib/spec/matchers/be.rb +103 -116
  89. data/lib/spec/matchers/be_close.rb +6 -22
  90. data/lib/spec/matchers/eql.rb +7 -25
  91. data/lib/spec/matchers/equal.rb +7 -25
  92. data/lib/spec/matchers/errors.rb +5 -0
  93. data/lib/spec/matchers/exist.rb +8 -14
  94. data/lib/spec/matchers/generated_descriptions.rb +48 -0
  95. data/lib/spec/matchers/has.rb +12 -28
  96. data/lib/spec/matchers/include.rb +12 -9
  97. data/lib/spec/matchers/match.rb +8 -27
  98. data/lib/spec/matchers/match_array.rb +79 -0
  99. data/lib/spec/matchers/method_missing.rb +9 -0
  100. data/lib/spec/matchers/operator_matcher.rb +39 -48
  101. data/lib/spec/matchers/raise_error.rb +4 -8
  102. data/lib/spec/matchers/respond_to.rb +33 -8
  103. data/lib/spec/matchers/throw_symbol.rb +49 -17
  104. data/lib/spec/matchers/wrap_expectation.rb +55 -0
  105. data/lib/spec/mocks/argument_constraints.rb +77 -5
  106. data/lib/spec/mocks/message_expectation.rb +7 -7
  107. data/lib/spec/mocks/proxy.rb +14 -12
  108. data/lib/spec/rake/spectask.rb +4 -6
  109. data/lib/spec/ruby.rb +9 -0
  110. data/lib/spec/runner.rb +37 -162
  111. data/lib/spec/runner/backtrace_tweaker.rb +5 -3
  112. data/lib/spec/runner/class_and_arguments_parser.rb +7 -9
  113. data/lib/spec/runner/command_line.rb +6 -8
  114. data/lib/spec/{example → runner}/configuration.rb +46 -47
  115. data/lib/spec/runner/example_group_runner.rb +15 -4
  116. data/lib/spec/runner/formatter/base_text_formatter.rb +4 -3
  117. data/lib/spec/runner/formatter/html_formatter.rb +14 -11
  118. data/lib/spec/runner/formatter/nested_text_formatter.rb +2 -2
  119. data/lib/spec/runner/heckle_runner.rb +58 -56
  120. data/lib/spec/runner/option_parser.rb +8 -4
  121. data/lib/spec/runner/options.rb +29 -14
  122. data/lib/spec/runner/reporter.rb +1 -1
  123. data/lib/spec/runner/spec_parser.rb +11 -9
  124. data/lib/spec/story/runner.rb +40 -42
  125. data/lib/spec/story/runner/story_runner.rb +10 -6
  126. data/lib/spec/story/world.rb +66 -70
  127. data/lib/spec/version.rb +4 -2
  128. data/{rake_tasks → resources/rake}/examples.rake +0 -0
  129. data/{rake_tasks → resources/rake}/examples_with_rcov.rake +0 -0
  130. data/{rake_tasks → resources/rake}/failing_examples_with_html.rake +0 -0
  131. data/{rake_tasks → resources/rake}/verify_rcov.rake +0 -0
  132. data/{stories/resources → resources}/spec/example_group_with_should_methods.rb +1 -1
  133. data/{stories/resources → resources}/spec/simple_spec.rb +1 -1
  134. data/resources/spec/spec_with_flexmock.rb +19 -0
  135. data/{stories/resources → resources}/test/spec_and_test_together.rb +1 -1
  136. data/resources/test/spec_including_test_but_not_unit.rb +11 -0
  137. data/{stories/resources → resources}/test/test_case_with_should_methods.rb +2 -2
  138. data/rspec.gemspec +16 -6
  139. data/spec/autotest/autotest_helper.rb +2 -2
  140. data/spec/autotest/discover_spec.rb +4 -15
  141. data/spec/autotest/failed_results_re_spec.rb +24 -0
  142. data/spec/autotest/rspec_spec.rb +2 -38
  143. data/spec/spec/dsl/main_spec.rb +88 -0
  144. data/spec/spec/example/example_group_class_definition_spec.rb +6 -2
  145. data/spec/spec/example/example_group_factory_spec.rb +50 -10
  146. data/spec/spec/example/example_group_methods_spec.rb +210 -160
  147. data/spec/spec/example/example_group_spec.rb +44 -52
  148. data/spec/spec/example/example_matcher_spec.rb +6 -23
  149. data/spec/spec/example/example_methods_spec.rb +176 -54
  150. data/spec/spec/example/helper_method_spec.rb +24 -0
  151. data/spec/spec/example/pending_module_spec.rb +2 -8
  152. data/spec/spec/example/shared_example_group_spec.rb +56 -80
  153. data/spec/spec/expectations/extensions/object_spec.rb +0 -50
  154. data/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  155. data/spec/spec/interop/test/unit/spec_spec.rb +1 -5
  156. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +4 -0
  157. data/spec/spec/matchers/be_close_spec.rb +12 -10
  158. data/spec/spec/matchers/be_spec.rb +62 -7
  159. data/spec/spec/matchers/description_generation_spec.rb +19 -0
  160. data/spec/spec/matchers/eql_spec.rb +7 -6
  161. data/spec/spec/matchers/equal_spec.rb +7 -6
  162. data/spec/spec/matchers/handler_spec.rb +4 -43
  163. data/spec/spec/matchers/has_spec.rb +1 -1
  164. data/spec/spec/matchers/have_spec.rb +23 -18
  165. data/spec/spec/matchers/include_spec.rb +24 -0
  166. data/spec/spec/matchers/match_array_spec.rb +83 -0
  167. data/spec/spec/matchers/matcher_methods_spec.rb +1 -13
  168. data/spec/spec/matchers/raise_error_spec.rb +18 -0
  169. data/spec/spec/matchers/respond_to_spec.rb +71 -9
  170. data/spec/spec/matchers/throw_symbol_spec.rb +85 -43
  171. data/spec/spec/mocks/bug_report_11545_spec.rb +4 -5
  172. data/spec/spec/mocks/bug_report_496.rb +11 -9
  173. data/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  174. data/spec/spec/mocks/hash_including_matcher_spec.rb +39 -2
  175. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  176. data/spec/spec/mocks/mock_spec.rb +5 -6
  177. data/spec/spec/mocks/nil_expectation_warning_spec.rb +2 -2
  178. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +18 -3
  179. data/spec/spec/mocks/stub_spec.rb +6 -0
  180. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +14 -0
  181. data/spec/spec/runner/command_line_spec.rb +4 -4
  182. data/spec/spec/runner/configuration_spec.rb +301 -0
  183. data/spec/spec/runner/drb_command_line_spec.rb +4 -4
  184. data/spec/spec/runner/example_group_runner_spec.rb +33 -0
  185. data/spec/spec/runner/formatter/base_formatter_spec.rb +13 -102
  186. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +23 -0
  187. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +5 -5
  188. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +3 -3
  189. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +6 -6
  190. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +9 -9
  191. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +6 -6
  192. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +10 -10
  193. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +39 -30
  194. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +379 -0
  195. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +379 -0
  196. data/spec/spec/runner/formatter/html_formatter_spec.rb +14 -13
  197. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +5 -5
  198. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +7 -17
  199. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +18 -17
  200. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +5 -5
  201. data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +6 -6
  202. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +33 -30
  203. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +373 -0
  204. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +373 -0
  205. data/spec/spec/runner/heckler_spec.rb +16 -9
  206. data/spec/spec/runner/option_parser_spec.rb +3 -18
  207. data/spec/spec/runner/options_spec.rb +27 -8
  208. data/spec/spec/runner/reporter_spec.rb +5 -5
  209. data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  210. data/spec/spec/runner/resources/utf8_encoded.rb +7 -0
  211. data/spec/spec/runner/spec_parser_spec.rb +85 -79
  212. data/spec/spec/spec_spec.rb +21 -0
  213. data/spec/spec_helper.rb +9 -1
  214. data/story_server/prototype/javascripts/prototype.js +1 -1
  215. metadata +119 -131
  216. data/examples/stories/adder.rb +0 -13
  217. data/examples/stories/addition +0 -34
  218. data/examples/stories/addition.rb +0 -9
  219. data/examples/stories/calculator.rb +0 -65
  220. data/examples/stories/game-of-life/.loadpath +0 -5
  221. data/examples/stories/game-of-life/README.txt +0 -21
  222. data/examples/stories/game-of-life/behaviour/everything.rb +0 -6
  223. data/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
  224. data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
  225. data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
  226. data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
  227. data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
  228. data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
  229. data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
  230. data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
  231. data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
  232. data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
  233. data/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
  234. data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
  235. data/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
  236. data/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
  237. data/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
  238. data/examples/stories/game-of-life/life.rb +0 -3
  239. data/examples/stories/game-of-life/life/game.rb +0 -23
  240. data/examples/stories/game-of-life/life/grid.rb +0 -43
  241. data/examples/stories/helper.rb +0 -9
  242. data/examples/stories/steps/addition_steps.rb +0 -18
  243. data/lib/spec/adapters.rb +0 -1
  244. data/lib/spec/adapters/ruby_engine.rb +0 -26
  245. data/lib/spec/adapters/ruby_engine/mri.rb +0 -8
  246. data/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
  247. data/lib/spec/extensions.rb +0 -4
  248. data/lib/spec/extensions/class.rb +0 -24
  249. data/lib/spec/extensions/metaclass.rb +0 -7
  250. data/lib/spec/extensions/object.rb +0 -6
  251. data/spec/spec/adapters/ruby_engine_spec.rb +0 -16
  252. data/spec/spec/example/configuration_spec.rb +0 -296
  253. data/spec/spec/example/example_runner_spec.rb +0 -194
  254. data/spec/spec/extensions/main_spec.rb +0 -71
  255. data/stories/all.rb +0 -5
  256. data/stories/configuration/before_blocks.story +0 -21
  257. data/stories/configuration/stories.rb +0 -7
  258. data/stories/example_groups/stories.rb +0 -7
  259. data/stories/helper.rb +0 -6
  260. data/stories/interop/stories.rb +0 -7
  261. data/stories/mock_framework_integration/stories.rb +0 -7
  262. data/stories/pending_stories/README +0 -3
  263. data/stories/resources/spec/before_blocks_example.rb +0 -32
  264. data/stories/resources/spec/spec_with_flexmock.rb +0 -18
  265. data/stories/resources/steps/running_rspec.rb +0 -50
  266. data/stories/resources/stories/failing_story.rb +0 -15
  267. data/stories/stories/multiline_steps.story +0 -23
  268. data/stories/stories/steps/multiline_steps.rb +0 -13
  269. data/stories/stories/stories.rb +0 -6
@@ -0,0 +1,4 @@
1
+ Autotest.add_hook :initialize do |at|
2
+ at.add_exception("spec/interop/test/unit/resources")
3
+ at.add_exception("spec/spec/runner/drb_command_line_spec.rb")
4
+ end
@@ -1,3 +1,58 @@
1
+ === Version 1.1.12 / 2009-01-11
2
+
3
+ WARNING: there was a stub/mock bug in 1.1.11 that allowed a structure that was
4
+ not intended:
5
+
6
+ obj.stub!(:msg)
7
+ obj.msg
8
+ obj.should_receive(:msg)
9
+
10
+ That would pass in 1.1.11, but should not have been allowed to, since the
11
+ message is received before the expectation is set. This was reported (#637)
12
+ and fixed for release 1.1.12, but may cause unexpected failures if you had
13
+ examples set up as above.
14
+
15
+ WARNING: mock.should_receive(:msg).with(an_instance_of(klass)) now correctly uses instance_of? instead of kind_of?. This may break some existing code examples, but the fix is to just use kind_of instead of an_instance_of
16
+
17
+ * 3 deprecations
18
+
19
+ * deprecated ExampleMethods#implementation_backtrace - use ExampleMethods#backtrace instead
20
+ * deprecated ExampleGroupMethods#example_group_backtrace - use ExampleGroupMethods#backtrace instead
21
+ * deprecated Spec::Example::BehaviourRunner class (likely that nobody is using this)
22
+
23
+ * 6 major enhancements
24
+
25
+ * it { should matcher } - support for implicit receiver of #should (Joe Ferris of thoughtbot)
26
+ * subject { ... } - works in conjunction with implicit receiver of #should
27
+ * wrap_expectation (for wrapping multiple expectations and/or t/u assertions)
28
+ * added array.should =~ [1,2,3] # passes if array contains exactly the same elements in any order (Jeff Dean and Pat Maddox)
29
+ * hash_including mock argument matcher can now accept just keys, key/value pairs, or both (David Krmpotic)
30
+ * added hash_not_including mock argument matcher (David Krmpotic). Closes #634.
31
+
32
+ * 9 minor enhancements
33
+
34
+ * should throw_symbol accepts an optional argument: should throw_symbol(:sym, arg)
35
+ * fixed --line for jruby (Zach Moazeni)
36
+ * assorted small changes to support Ruby 1.9 (got a way to go)
37
+ * removed all instances of class << self - I do know who I am
38
+ * SpecParser can't handle backtrace paths with colons (John-Mason P. Shackelford). Closes #505.
39
+ * html formatter (and subsequently the textmate formatter) header fills in completely when running a single example
40
+ * config.include now accepts an array of types (config.include(Helpers, :type => [:view, :controller]))
41
+ * added be_a and be_an expectation matchers
42
+ * added instance_of and kind_of mock argument matchers
43
+
44
+ * 9 bug fixes
45
+
46
+ * fixed bug where {:a => 1, :b => 2}.should include(:a, :b) failed (Yossef Mendelssohn)
47
+ * only try to load Test::Unit if Test::Unit is defined (not just Test)
48
+ * Allow stubs on parent and child classes simultaneously (Jim Lindley). Fixes #600.
49
+ * BaseTextFormatter will now create the directory in a WHERE string (Adam Anderson). Fixes #616.
50
+ * Removed incorrect -S flag on autospec commands. Added explicit spec command for ruby to run, guarantee running rspec (raggi). Closes #507.
51
+ * Check whether test/unit has really been loaded before calling a method it defines (Brian Donovan). Closes #503.
52
+ * Fix spec_path for shared groups (Zach Dennis). Closes #615.
53
+ * stubbed message expectation not verified if it has been called *before* the expectation (Matthias Hennemeyer). Closes #637.
54
+ * stubs calculate return value by executing block passed to #and_return (hint from Aisha Fenton). Closes #642.
55
+
1
56
  === Version 1.1.11 / 2008-10-24
2
57
 
3
58
  * 1 major enhancement
@@ -1,3 +1,4 @@
1
+ .autotest
1
2
  History.txt
2
3
  License.txt
3
4
  Manifest.txt
@@ -6,88 +7,78 @@ Rakefile
6
7
  TODO.txt
7
8
  bin/autospec
8
9
  bin/spec
9
- examples/pure/autogenerated_docstrings_example.rb
10
- examples/pure/before_and_after_example.rb
11
- examples/pure/behave_as_example.rb
12
- examples/pure/custom_expectation_matchers.rb
13
- examples/pure/custom_formatter.rb
14
- examples/pure/dynamic_spec.rb
15
- examples/pure/file_accessor.rb
16
- examples/pure/file_accessor_spec.rb
17
- examples/pure/greeter_spec.rb
18
- examples/pure/helper_method_example.rb
19
- examples/pure/io_processor.rb
20
- examples/pure/io_processor_spec.rb
21
- examples/pure/legacy_spec.rb
22
- examples/pure/mocking_example.rb
23
- examples/pure/multi_threaded_behaviour_runner.rb
24
- examples/pure/nested_classes_example.rb
25
- examples/pure/partial_mock_example.rb
26
- examples/pure/pending_example.rb
27
- examples/pure/predicate_example.rb
28
- examples/pure/priority.txt
29
- examples/pure/shared_example_group_example.rb
30
- examples/pure/shared_stack_examples.rb
31
- examples/pure/spec_helper.rb
32
- examples/pure/stack.rb
33
- examples/pure/stack_spec.rb
34
- examples/pure/stack_spec_with_nested_example_groups.rb
35
- examples/pure/stubbing_example.rb
36
- examples/pure/yielding_example.rb
37
- examples/stories/adder.rb
38
- examples/stories/addition
39
- examples/stories/addition.rb
40
- examples/stories/calculator.rb
41
- examples/stories/game-of-life/.loadpath
42
- examples/stories/game-of-life/README.txt
43
- examples/stories/game-of-life/behaviour/everything.rb
44
- examples/stories/game-of-life/behaviour/examples/examples.rb
45
- examples/stories/game-of-life/behaviour/examples/game_behaviour.rb
46
- examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb
47
- examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story
48
- examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story
49
- examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story
50
- examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story
51
- examples/stories/game-of-life/behaviour/stories/ICanKillACell.story
52
- examples/stories/game-of-life/behaviour/stories/TheGridWraps.story
53
- examples/stories/game-of-life/behaviour/stories/create_a_cell.rb
54
- examples/stories/game-of-life/behaviour/stories/helper.rb
55
- examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb
56
- examples/stories/game-of-life/behaviour/stories/steps.rb
57
- examples/stories/game-of-life/behaviour/stories/stories.rb
58
- examples/stories/game-of-life/behaviour/stories/stories.txt
59
- examples/stories/game-of-life/life.rb
60
- examples/stories/game-of-life/life/game.rb
61
- examples/stories/game-of-life/life/grid.rb
62
- examples/stories/helper.rb
63
- examples/stories/steps/addition_steps.rb
64
- failing_examples/README.txt
65
- failing_examples/diffing_spec.rb
66
- failing_examples/failing_autogenerated_docstrings_example.rb
67
- failing_examples/failure_in_setup.rb
68
- failing_examples/failure_in_teardown.rb
69
- failing_examples/mocking_example.rb
70
- failing_examples/mocking_with_flexmock.rb
71
- failing_examples/mocking_with_mocha.rb
72
- failing_examples/mocking_with_rr.rb
73
- failing_examples/partial_mock_example.rb
74
- failing_examples/predicate_example.rb
75
- failing_examples/raising_example.rb
76
- failing_examples/spec_helper.rb
77
- failing_examples/syntax_error_example.rb
78
- failing_examples/team_spec.rb
79
- failing_examples/timeout_behaviour.rb
10
+ examples/failing/README.txt
11
+ examples/failing/diffing_spec.rb
12
+ examples/failing/failing_autogenerated_docstrings_example.rb
13
+ examples/failing/failure_in_after.rb
14
+ examples/failing/failure_in_before.rb
15
+ examples/failing/mocking_example.rb
16
+ examples/failing/mocking_with_flexmock.rb
17
+ examples/failing/mocking_with_mocha.rb
18
+ examples/failing/mocking_with_rr.rb
19
+ examples/failing/partial_mock_example.rb
20
+ examples/failing/predicate_example.rb
21
+ examples/failing/raising_example.rb
22
+ examples/failing/spec_helper.rb
23
+ examples/failing/syntax_error_example.rb
24
+ examples/failing/team_spec.rb
25
+ examples/failing/timeout_behaviour.rb
26
+ examples/passing/autogenerated_docstrings_example.rb
27
+ examples/passing/before_and_after_example.rb
28
+ examples/passing/behave_as_example.rb
29
+ examples/passing/custom_expectation_matchers.rb
30
+ examples/passing/custom_formatter.rb
31
+ examples/passing/dynamic_spec.rb
32
+ examples/passing/file_accessor.rb
33
+ examples/passing/file_accessor_spec.rb
34
+ examples/passing/greeter_spec.rb
35
+ examples/passing/helper_method_example.rb
36
+ examples/passing/io_processor.rb
37
+ examples/passing/io_processor_spec.rb
38
+ examples/passing/legacy_spec.rb
39
+ examples/passing/mocking_example.rb
40
+ examples/passing/multi_threaded_example_group_runner.rb
41
+ examples/passing/nested_classes_example.rb
42
+ examples/passing/partial_mock_example.rb
43
+ examples/passing/pending_example.rb
44
+ examples/passing/predicate_example.rb
45
+ examples/passing/priority.txt
46
+ examples/passing/shared_example_group_example.rb
47
+ examples/passing/shared_stack_examples.rb
48
+ examples/passing/simple_matcher_example.rb
49
+ examples/passing/spec_helper.rb
50
+ examples/passing/stack.rb
51
+ examples/passing/stack_spec.rb
52
+ examples/passing/stack_spec_with_nested_example_groups.rb
53
+ examples/passing/stubbing_example.rb
54
+ examples/passing/yielding_example.rb
55
+ examples/ruby1.9.compatibility/access_to_constants_spec.rb
56
+ features/before_and_after_blocks/before_and_after_blocks.feature
57
+ features/example_groups/autogenerated_docstrings.feature
58
+ features/example_groups/example_group_with_should_methods.feature
59
+ features/example_groups/nested_groups.feature
60
+ features/example_groups/output.feature
61
+ features/interop/examples_and_tests_together.feature
62
+ features/interop/test_but_not_test_unit.feature
63
+ features/interop/test_case_with_should_methods.feature
64
+ features/mock_framework_integration/use_flexmock.feature
65
+ features/step_definitions/running_rspec.rb
66
+ features/support/env.rb
67
+ features/support/helpers/cmdline.rb
68
+ features/support/helpers/story_helper.rb
69
+ features/support/matchers/smart_match.rb
80
70
  init.rb
71
+ lib/adapters/mock_frameworks/flexmock.rb
72
+ lib/adapters/mock_frameworks/mocha.rb
73
+ lib/adapters/mock_frameworks/rr.rb
74
+ lib/adapters/mock_frameworks/rspec.rb
81
75
  lib/autotest/discover.rb
82
76
  lib/autotest/rspec.rb
83
77
  lib/spec.rb
84
- lib/spec/adapters.rb
85
- lib/spec/adapters/ruby_engine.rb
86
- lib/spec/adapters/ruby_engine/mri.rb
87
- lib/spec/adapters/ruby_engine/rubinius.rb
78
+ lib/spec/dsl.rb
79
+ lib/spec/dsl/main.rb
88
80
  lib/spec/example.rb
89
81
  lib/spec/example/before_and_after_hooks.rb
90
- lib/spec/example/configuration.rb
91
82
  lib/spec/example/errors.rb
92
83
  lib/spec/example/example_group.rb
93
84
  lib/spec/example/example_group_factory.rb
@@ -104,11 +95,6 @@ lib/spec/expectations/extensions.rb
104
95
  lib/spec/expectations/extensions/object.rb
105
96
  lib/spec/expectations/extensions/string_and_symbol.rb
106
97
  lib/spec/expectations/handler.rb
107
- lib/spec/extensions.rb
108
- lib/spec/extensions/class.rb
109
- lib/spec/extensions/main.rb
110
- lib/spec/extensions/metaclass.rb
111
- lib/spec/extensions/object.rb
112
98
  lib/spec/interop/test.rb
113
99
  lib/spec/interop/test/unit/autorunner.rb
114
100
  lib/spec/interop/test/unit/testcase.rb
@@ -121,17 +107,22 @@ lib/spec/matchers/be_close.rb
121
107
  lib/spec/matchers/change.rb
122
108
  lib/spec/matchers/eql.rb
123
109
  lib/spec/matchers/equal.rb
110
+ lib/spec/matchers/errors.rb
124
111
  lib/spec/matchers/exist.rb
112
+ lib/spec/matchers/generated_descriptions.rb
125
113
  lib/spec/matchers/has.rb
126
114
  lib/spec/matchers/have.rb
127
115
  lib/spec/matchers/include.rb
128
116
  lib/spec/matchers/match.rb
117
+ lib/spec/matchers/match_array.rb
118
+ lib/spec/matchers/method_missing.rb
129
119
  lib/spec/matchers/operator_matcher.rb
130
120
  lib/spec/matchers/raise_error.rb
131
121
  lib/spec/matchers/respond_to.rb
132
122
  lib/spec/matchers/satisfy.rb
133
123
  lib/spec/matchers/simple_matcher.rb
134
124
  lib/spec/matchers/throw_symbol.rb
125
+ lib/spec/matchers/wrap_expectation.rb
135
126
  lib/spec/mocks.rb
136
127
  lib/spec/mocks/argument_constraints.rb
137
128
  lib/spec/mocks/argument_expectation.rb
@@ -149,10 +140,12 @@ lib/spec/mocks/space.rb
149
140
  lib/spec/mocks/spec_methods.rb
150
141
  lib/spec/rake/spectask.rb
151
142
  lib/spec/rake/verify_rcov.rb
143
+ lib/spec/ruby.rb
152
144
  lib/spec/runner.rb
153
145
  lib/spec/runner/backtrace_tweaker.rb
154
146
  lib/spec/runner/class_and_arguments_parser.rb
155
147
  lib/spec/runner/command_line.rb
148
+ lib/spec/runner/configuration.rb
156
149
  lib/spec/runner/drb_command_line.rb
157
150
  lib/spec/runner/example_group_runner.rb
158
151
  lib/spec/runner/formatter/base_formatter.rb
@@ -195,32 +188,34 @@ lib/spec/story/step_mother.rb
195
188
  lib/spec/story/story.rb
196
189
  lib/spec/story/world.rb
197
190
  lib/spec/version.rb
198
- plugins/mock_frameworks/flexmock.rb
199
- plugins/mock_frameworks/mocha.rb
200
- plugins/mock_frameworks/rr.rb
201
- plugins/mock_frameworks/rspec.rb
202
- rake_tasks/examples.rake
203
- rake_tasks/examples_with_rcov.rake
204
- rake_tasks/failing_examples_with_html.rake
205
- rake_tasks/verify_rcov.rake
191
+ resources/rake/examples.rake
192
+ resources/rake/examples_with_rcov.rake
193
+ resources/rake/failing_examples_with_html.rake
194
+ resources/rake/verify_rcov.rake
195
+ resources/spec/example_group_with_should_methods.rb
196
+ resources/spec/simple_spec.rb
197
+ resources/spec/spec_with_flexmock.rb
198
+ resources/test/spec_and_test_together.rb
199
+ resources/test/spec_including_test_but_not_unit.rb
200
+ resources/test/test_case_with_should_methods.rb
206
201
  rspec.gemspec
207
202
  spec/README.jruby
208
203
  spec/autotest/autotest_helper.rb
209
204
  spec/autotest/autotest_matchers.rb
210
205
  spec/autotest/discover_spec.rb
206
+ spec/autotest/failed_results_re_spec.rb
211
207
  spec/autotest/rspec_spec.rb
212
208
  spec/rspec_suite.rb
213
209
  spec/ruby_forker.rb
214
210
  spec/spec.opts
215
- spec/spec/adapters/ruby_engine_spec.rb
216
- spec/spec/example/configuration_spec.rb
211
+ spec/spec/dsl/main_spec.rb
217
212
  spec/spec/example/example_group_class_definition_spec.rb
218
213
  spec/spec/example/example_group_factory_spec.rb
219
214
  spec/spec/example/example_group_methods_spec.rb
220
215
  spec/spec/example/example_group_spec.rb
221
216
  spec/spec/example/example_matcher_spec.rb
222
217
  spec/spec/example/example_methods_spec.rb
223
- spec/spec/example/example_runner_spec.rb
218
+ spec/spec/example/helper_method_spec.rb
224
219
  spec/spec/example/nested_example_group_spec.rb
225
220
  spec/spec/example/pending_module_spec.rb
226
221
  spec/spec/example/predicate_matcher_spec.rb
@@ -229,7 +224,7 @@ spec/spec/example/subclassing_example_group_spec.rb
229
224
  spec/spec/expectations/differs/default_spec.rb
230
225
  spec/spec/expectations/extensions/object_spec.rb
231
226
  spec/spec/expectations/fail_with_spec.rb
232
- spec/spec/extensions/main_spec.rb
227
+ spec/spec/expectations/wrap_expectation_spec.rb
233
228
  spec/spec/interop/test/unit/resources/spec_that_fails.rb
234
229
  spec/spec/interop/test/unit/resources/spec_that_passes.rb
235
230
  spec/spec/interop/test/unit/resources/spec_with_errors.rb
@@ -253,6 +248,7 @@ spec/spec/matchers/handler_spec.rb
253
248
  spec/spec/matchers/has_spec.rb
254
249
  spec/spec/matchers/have_spec.rb
255
250
  spec/spec/matchers/include_spec.rb
251
+ spec/spec/matchers/match_array_spec.rb
256
252
  spec/spec/matchers/match_spec.rb
257
253
  spec/spec/matchers/matcher_methods_spec.rb
258
254
  spec/spec/matchers/mock_constraint_matchers_spec.rb
@@ -271,12 +267,14 @@ spec/spec/mocks/bug_report_10263_spec.rb
271
267
  spec/spec/mocks/bug_report_11545_spec.rb
272
268
  spec/spec/mocks/bug_report_15719_spec.rb
273
269
  spec/spec/mocks/bug_report_496.rb
270
+ spec/spec/mocks/bug_report_600_spec.rb
274
271
  spec/spec/mocks/bug_report_7611_spec.rb
275
272
  spec/spec/mocks/bug_report_7805_spec.rb
276
273
  spec/spec/mocks/bug_report_8165_spec.rb
277
274
  spec/spec/mocks/bug_report_8302_spec.rb
278
275
  spec/spec/mocks/failing_mock_argument_constraints_spec.rb
279
276
  spec/spec/mocks/hash_including_matcher_spec.rb
277
+ spec/spec/mocks/hash_not_including_matcher_spec.rb
280
278
  spec/spec/mocks/mock_ordering_spec.rb
281
279
  spec/spec/mocks/mock_space_spec.rb
282
280
  spec/spec/mocks/mock_spec.rb
@@ -291,15 +289,19 @@ spec/spec/mocks/passing_mock_argument_constraints_spec.rb
291
289
  spec/spec/mocks/precise_counts_spec.rb
292
290
  spec/spec/mocks/record_messages_spec.rb
293
291
  spec/spec/mocks/stub_spec.rb
292
+ spec/spec/mocks/stubbed_message_expectations_spec.rb
294
293
  spec/spec/mocks/twice_counts_spec.rb
295
294
  spec/spec/package/bin_spec_spec.rb
296
295
  spec/spec/runner/class_and_argument_parser_spec.rb
297
296
  spec/spec/runner/command_line_spec.rb
297
+ spec/spec/runner/configuration_spec.rb
298
298
  spec/spec/runner/drb_command_line_spec.rb
299
299
  spec/spec/runner/empty_file.txt
300
+ spec/spec/runner/example_group_runner_spec.rb
300
301
  spec/spec/runner/examples.txt
301
302
  spec/spec/runner/failed.txt
302
303
  spec/spec/runner/formatter/base_formatter_spec.rb
304
+ spec/spec/runner/formatter/base_text_formatter_spec.rb
303
305
  spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb
304
306
  spec/spec/runner/formatter/failing_examples_formatter_spec.rb
305
307
  spec/spec/runner/formatter/html_formatted-1.8.4.html
@@ -307,6 +309,8 @@ spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html
307
309
  spec/spec/runner/formatter/html_formatted-1.8.5.html
308
310
  spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html
309
311
  spec/spec/runner/formatter/html_formatted-1.8.6.html
312
+ spec/spec/runner/formatter/html_formatted-1.8.7.html
313
+ spec/spec/runner/formatter/html_formatted-1.9.1.html
310
314
  spec/spec/runner/formatter/html_formatter_spec.rb
311
315
  spec/spec/runner/formatter/nested_text_formatter_spec.rb
312
316
  spec/spec/runner/formatter/profile_formatter_spec.rb
@@ -319,6 +323,8 @@ spec/spec/runner/formatter/story/plain_text_formatter_spec.rb
319
323
  spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb
320
324
  spec/spec/runner/formatter/text_mate_formatted-1.8.4.html
321
325
  spec/spec/runner/formatter/text_mate_formatted-1.8.6.html
326
+ spec/spec/runner/formatter/text_mate_formatted-1.8.7.html
327
+ spec/spec/runner/formatter/text_mate_formatted-1.9.1.html
322
328
  spec/spec/runner/heckle_runner_spec.rb
323
329
  spec/spec/runner/heckler_spec.rb
324
330
  spec/spec/runner/noisy_backtrace_tweaker_spec.rb
@@ -332,6 +338,8 @@ spec/spec/runner/reporter_spec.rb
332
338
  spec/spec/runner/resources/a_bar.rb
333
339
  spec/spec/runner/resources/a_foo.rb
334
340
  spec/spec/runner/resources/a_spec.rb
341
+ spec/spec/runner/resources/custom_example_group_runner.rb
342
+ spec/spec/runner/resources/utf8_encoded.rb
335
343
  spec/spec/runner/spec.opts
336
344
  spec/spec/runner/spec_drb.opts
337
345
  spec/spec/runner/spec_parser/spec_parser_fixture.rb
@@ -339,6 +347,7 @@ spec/spec/runner/spec_parser_spec.rb
339
347
  spec/spec/runner/spec_spaced.opts
340
348
  spec/spec/runner_spec.rb
341
349
  spec/spec/spec_classes.rb
350
+ spec/spec/spec_spec.rb
342
351
  spec/spec/story/builders.rb
343
352
  spec/spec/story/extensions/main_spec.rb
344
353
  spec/spec/story/extensions_spec.rb
@@ -358,35 +367,6 @@ spec/spec/story/story_helper.rb
358
367
  spec/spec/story/story_spec.rb
359
368
  spec/spec/story/world_spec.rb
360
369
  spec/spec_helper.rb
361
- stories/all.rb
362
- stories/configuration/before_blocks.story
363
- stories/configuration/stories.rb
364
- stories/example_groups/autogenerated_docstrings
365
- stories/example_groups/example_group_with_should_methods
366
- stories/example_groups/nested_groups
367
- stories/example_groups/output
368
- stories/example_groups/stories.rb
369
- stories/helper.rb
370
- stories/interop/examples_and_tests_together
371
- stories/interop/stories.rb
372
- stories/interop/test_case_with_should_methods
373
- stories/mock_framework_integration/stories.rb
374
- stories/mock_framework_integration/use_flexmock.story
375
- stories/pending_stories/README
376
- stories/resources/helpers/cmdline.rb
377
- stories/resources/helpers/story_helper.rb
378
- stories/resources/matchers/smart_match.rb
379
- stories/resources/spec/before_blocks_example.rb
380
- stories/resources/spec/example_group_with_should_methods.rb
381
- stories/resources/spec/simple_spec.rb
382
- stories/resources/spec/spec_with_flexmock.rb
383
- stories/resources/steps/running_rspec.rb
384
- stories/resources/stories/failing_story.rb
385
- stories/resources/test/spec_and_test_together.rb
386
- stories/resources/test/test_case_with_should_methods.rb
387
- stories/stories/multiline_steps.story
388
- stories/stories/steps/multiline_steps.rb
389
- stories/stories/stories.rb
390
370
  story_server/prototype/javascripts/builder.js
391
371
  story_server/prototype/javascripts/controls.js
392
372
  story_server/prototype/javascripts/dragdrop.js
data/README.txt CHANGED
@@ -1,31 +1,49 @@
1
1
  = RSpec
2
2
 
3
3
  * http://rspec.info
4
- * http://rspec.info/rdoc/
5
4
  * http://rubyforge.org/projects/rspec
6
5
  * http://github.com/dchelimsky/rspec/wikis
7
6
  * mailto:rspec-devel@rubyforge.org
8
7
 
9
8
  == DESCRIPTION:
10
9
 
11
- RSpec is a Behaviour Driven Development framework with tools to express User
12
- Stories with Executable Scenarios and Executable Examples at the code level.
10
+ RSpec is a Behaviour Driven Development framework for writing executable code
11
+ examples.
13
12
 
14
13
  == FEATURES:
15
14
 
16
- * Spec::Story provides a framework for expressing User Stories and Scenarios
17
- * Spec::Example provides a framework for expressing Isolated Examples
18
- * Spec::Matchers provides Expression Matchers for use with Spec::Expectations and Spec::Mocks.
15
+ * Spec::Example provides a framework for expressing executable code examples
16
+ * Spec::Expectations adds #should and #should_not to every object
17
+ * Spec::Matchers provides Expression Matchers for use with #should and #should_not
18
+ * Spec::Mocks is a full featured mocking/stubbing library
19
19
 
20
20
  == SYNOPSIS:
21
21
 
22
- Spec::Expectations supports setting expectations on your objects so you
23
- can do things like:
24
-
25
- result.should equal(expected_result)
22
+ describe Account do
23
+ context "transfering money" do
24
+ it "deposits transfer amount to the other account" do
25
+ source = Account.new(50, :USD)
26
+ target = mock('target account')
27
+ target.should_receive(:deposit).with(Money.new(5, :USD))
28
+ source.transfer(5, :USD).to(target)
29
+ end
30
+
31
+ it "reduces its balance by the transfer amount" do
32
+ source = Account.new(50, :USD)
33
+ target = stub('target account')
34
+ source.transfer(5, :USD).to(target)
35
+ source.balance.should == Money.new(45, :USD)
36
+ end
37
+ end
38
+ end
26
39
 
27
- Spec::Mocks supports creating Mock Objects, Stubs, and adding Mock/Stub
28
- behaviour to your existing objects.
40
+ $ spec spec/account_spec.rb --format nested
41
+ Account
42
+ transfering money
43
+ deposits transfer amount to the other account
44
+ reduces its balance by the transfer amount
45
+
46
+ 2 examples, 0 failures
29
47
 
30
48
  == INSTALL:
31
49