rspec 1.1.11 → 1.1.12

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 (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