rspec 1.2.8 → 1.2.9

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 (238) hide show
  1. data/History.rdoc +41 -2
  2. data/Manifest.txt +11 -10
  3. data/Rakefile +47 -22
  4. data/Ruby1.9.rdoc +1 -2
  5. data/Upgrade.rdoc +56 -7
  6. data/bin/spec +2 -1
  7. data/cucumber.yml +3 -1
  8. data/examples/failing/README.txt +7 -3
  9. data/examples/failing/failing_implicit_docstrings_example.rb +0 -2
  10. data/examples/failing/mocking_example.rb +0 -2
  11. data/examples/failing/partial_mock_example.rb +0 -2
  12. data/examples/failing/pending_example.rb +0 -2
  13. data/examples/failing/predicate_example.rb +0 -2
  14. data/examples/failing/team_spec.rb +0 -3
  15. data/examples/failing/timeout_behaviour.rb +0 -2
  16. data/examples/passing/custom_formatter.rb +0 -1
  17. data/examples/passing/dynamic_spec.rb +0 -2
  18. data/examples/passing/file_accessor.rb +1 -2
  19. data/examples/passing/file_accessor_spec.rb +1 -2
  20. data/examples/passing/filtered_formatter.rb +0 -1
  21. data/examples/passing/greeter_spec.rb +0 -1
  22. data/examples/passing/helper_method_example.rb +0 -2
  23. data/examples/passing/implicit_docstrings_example.rb +0 -2
  24. data/examples/passing/io_processor_spec.rb +1 -2
  25. data/examples/passing/mocking_example.rb +0 -2
  26. data/examples/passing/nested_classes_example.rb +1 -2
  27. data/examples/passing/options_example.rb +0 -2
  28. data/examples/passing/partial_mock_example.rb +0 -2
  29. data/examples/passing/pending_example.rb +0 -2
  30. data/examples/passing/predicate_example.rb +0 -2
  31. data/examples/passing/shared_example_group_example.rb +0 -2
  32. data/examples/passing/simple_matcher_example.rb +0 -2
  33. data/examples/passing/stack_spec.rb +2 -3
  34. data/examples/passing/stack_spec_with_nested_example_groups.rb +2 -3
  35. data/examples/passing/stubbing_example.rb +0 -2
  36. data/examples/passing/yielding_example.rb +0 -2
  37. data/features/before_and_after_blocks/before_and_after_blocks.feature +4 -4
  38. data/features/command_line/line_number_option.feature +14 -14
  39. data/features/command_line/line_number_option_with_example_with_no_name.feature +2 -2
  40. data/features/example_groups/define_example_attribute.feature +41 -0
  41. data/features/example_groups/example_group_with_should_methods.feature +1 -1
  42. data/features/example_groups/implicit_docstrings.feature +7 -7
  43. data/features/example_groups/nested_groups.feature +2 -2
  44. data/features/expectations/customized_message.feature +4 -4
  45. data/features/expectations/expect_change.feature +4 -4
  46. data/features/expectations/expect_error.feature +4 -4
  47. data/features/extensions/custom_example_group.feature +10 -10
  48. data/features/formatters/custom_formatter.feature +3 -3
  49. data/features/interop/examples_and_tests_together.feature +10 -6
  50. data/features/interop/rspec_output.feature +1 -1
  51. data/features/interop/test_case_with_should_methods.feature +1 -1
  52. data/features/load_paths/add_lib_to_load_path.feature +20 -0
  53. data/features/load_paths/add_spec_to_load_path.feature +20 -0
  54. data/features/matchers/define_diffable_matcher.feature +2 -2
  55. data/features/matchers/define_matcher.feature +19 -19
  56. data/features/matchers/define_matcher_outside_rspec.feature +2 -3
  57. data/features/matchers/define_matcher_with_fluent_interface.feature +2 -2
  58. data/features/matchers/define_wrapped_matcher.feature +29 -0
  59. data/features/mock_framework_integration/use_flexmock.feature +1 -1
  60. data/features/mock_framework_integration/use_mocha.feature +1 -1
  61. data/features/mock_framework_integration/use_rr.feature +1 -1
  62. data/features/mocks/mix_stubs_and_mocks.feature +2 -2
  63. data/features/mocks/stub_implementation.feature +1 -1
  64. data/features/pending/pending_examples.feature +16 -16
  65. data/features/runner/specify_line_number.feature +4 -4
  66. data/features/spec_helper/spec_helper.feature +25 -0
  67. data/features/step_definitions/running_rspec_steps.rb +4 -2
  68. data/features/subject/explicit_subject.feature +2 -2
  69. data/features/subject/implicit_subject.feature +14 -2
  70. data/features/support/env.rb +6 -3
  71. data/lib/spec/adapters/mock_frameworks/mocha.rb +6 -1
  72. data/lib/spec/example/example_group_methods.rb +7 -0
  73. data/lib/spec/example/example_methods.rb +1 -1
  74. data/lib/spec/example/subject.rb +8 -0
  75. data/lib/spec/interop/test.rb +27 -1
  76. data/lib/spec/interop/test/unit/testcase.rb +1 -1
  77. data/lib/spec/matchers/exist.rb +2 -2
  78. data/lib/spec/matchers/extensions/instance_exec.rb +28 -20
  79. data/lib/spec/matchers/matcher.rb +21 -20
  80. data/lib/spec/mocks/argument_matchers.rb +17 -13
  81. data/lib/spec/mocks/error_generator.rb +14 -3
  82. data/lib/spec/mocks/{spec_methods.rb → example_methods.rb} +25 -11
  83. data/lib/spec/mocks/framework.rb +1 -1
  84. data/lib/spec/mocks/methods.rb +15 -0
  85. data/lib/spec/mocks/mock.rb +16 -10
  86. data/lib/spec/mocks/proxy.rb +1 -1
  87. data/lib/spec/rake/spectask.rb +3 -3
  88. data/lib/spec/runner/backtrace_tweaker.rb +41 -22
  89. data/lib/spec/runner/configuration.rb +18 -1
  90. data/lib/spec/runner/differs/default.rb +1 -1
  91. data/lib/spec/runner/drb_command_line.rb +5 -2
  92. data/lib/spec/runner/formatter/base_text_formatter.rb +8 -3
  93. data/lib/spec/runner/option_parser.rb +21 -15
  94. data/lib/spec/runner/options.rb +54 -23
  95. data/lib/spec/version.rb +3 -3
  96. data/resources/helpers/cmdline.rb +0 -1
  97. data/spec/autotest/autotest_helper.rb +4 -6
  98. data/spec/autotest/discover_spec.rb +2 -2
  99. data/spec/autotest/failed_results_re_spec.rb +1 -1
  100. data/spec/autotest/rspec_spec.rb +1 -1
  101. data/spec/spec/dsl/main_spec.rb +1 -1
  102. data/spec/spec/example/example_group_class_definition_spec.rb +1 -1
  103. data/spec/spec/example/example_group_factory_spec.rb +1 -1
  104. data/spec/spec/example/example_group_methods_spec.rb +21 -1
  105. data/spec/spec/example/example_group_proxy_spec.rb +1 -1
  106. data/spec/spec/example/example_group_spec.rb +1 -1
  107. data/spec/spec/example/example_matcher_spec.rb +1 -1
  108. data/spec/spec/example/example_methods_spec.rb +1 -1
  109. data/spec/spec/example/example_proxy_spec.rb +1 -1
  110. data/spec/spec/example/helper_method_spec.rb +1 -1
  111. data/spec/spec/example/nested_example_group_spec.rb +1 -1
  112. data/spec/spec/example/predicate_matcher_spec.rb +1 -1
  113. data/spec/spec/example/shared_example_group_spec.rb +1 -1
  114. data/spec/spec/example/subclassing_example_group_spec.rb +1 -1
  115. data/spec/spec/example/subject_spec.rb +17 -1
  116. data/spec/spec/expectations/differs/default_spec.rb +16 -3
  117. data/spec/spec/expectations/extensions/kernel_spec.rb +1 -1
  118. data/spec/spec/expectations/fail_with_spec.rb +1 -1
  119. data/spec/spec/expectations/handler_spec.rb +1 -1
  120. data/spec/spec/expectations/wrap_expectation_spec.rb +1 -1
  121. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  122. data/spec/spec/interop/test/unit/spec_spec.rb +1 -1
  123. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +2 -2
  124. data/spec/spec/interop/test/unit/testcase_spec.rb +7 -2
  125. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +1 -1
  126. data/spec/spec/matchers/be_close_spec.rb +1 -1
  127. data/spec/spec/matchers/be_instance_of_spec.rb +1 -1
  128. data/spec/spec/matchers/be_kind_of_spec.rb +1 -1
  129. data/spec/spec/matchers/be_spec.rb +13 -1
  130. data/spec/spec/matchers/change_spec.rb +1 -1
  131. data/spec/spec/matchers/compatibility_spec.rb +1 -1
  132. data/spec/spec/matchers/description_generation_spec.rb +1 -1
  133. data/spec/spec/matchers/dsl_spec.rb +1 -1
  134. data/spec/spec/matchers/eql_spec.rb +1 -1
  135. data/spec/spec/matchers/equal_spec.rb +1 -1
  136. data/spec/spec/matchers/exist_spec.rb +6 -2
  137. data/spec/spec/matchers/has_spec.rb +19 -1
  138. data/spec/spec/matchers/have_spec.rb +1 -1
  139. data/spec/spec/matchers/include_spec.rb +1 -1
  140. data/spec/spec/matchers/match_array_spec.rb +1 -1
  141. data/spec/spec/matchers/match_spec.rb +1 -1
  142. data/spec/spec/matchers/matcher_methods_spec.rb +1 -1
  143. data/spec/spec/matchers/matcher_spec.rb +55 -28
  144. data/spec/spec/matchers/matchers_spec.rb +1 -1
  145. data/spec/spec/matchers/operator_matcher_spec.rb +1 -1
  146. data/spec/spec/matchers/raise_error_spec.rb +1 -1
  147. data/spec/spec/matchers/respond_to_spec.rb +1 -1
  148. data/spec/spec/matchers/satisfy_spec.rb +1 -1
  149. data/spec/spec/matchers/simple_matcher_spec.rb +1 -1
  150. data/spec/spec/matchers/throw_symbol_spec.rb +1 -1
  151. data/spec/spec/mocks/any_number_of_times_spec.rb +1 -1
  152. data/spec/spec/mocks/argument_expectation_spec.rb +1 -1
  153. data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  154. data/spec/spec/mocks/at_least_spec.rb +1 -1
  155. data/spec/spec/mocks/at_most_spec.rb +1 -1
  156. data/spec/spec/mocks/bug_report_10260_spec.rb +1 -1
  157. data/spec/spec/mocks/bug_report_10263_spec.rb +1 -1
  158. data/spec/spec/mocks/bug_report_11545_spec.rb +1 -1
  159. data/spec/spec/mocks/bug_report_15719_spec.rb +3 -3
  160. data/spec/spec/mocks/bug_report_496_spec.rb +1 -1
  161. data/spec/spec/mocks/bug_report_600_spec.rb +1 -1
  162. data/spec/spec/mocks/bug_report_7611_spec.rb +1 -1
  163. data/spec/spec/mocks/bug_report_7805_spec.rb +1 -1
  164. data/spec/spec/mocks/bug_report_8165_spec.rb +1 -1
  165. data/spec/spec/mocks/bug_report_8302_spec.rb +1 -1
  166. data/spec/spec/mocks/bug_report_830_spec.rb +1 -1
  167. data/spec/spec/mocks/double_spec.rb +12 -0
  168. data/spec/spec/mocks/failing_argument_matchers_spec.rb +6 -6
  169. data/spec/spec/mocks/hash_including_matcher_spec.rb +1 -1
  170. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +1 -1
  171. data/spec/spec/mocks/mock_ordering_spec.rb +4 -4
  172. data/spec/spec/mocks/mock_space_spec.rb +1 -1
  173. data/spec/spec/mocks/mock_spec.rb +20 -24
  174. data/spec/spec/mocks/multiple_return_value_spec.rb +8 -8
  175. data/spec/spec/mocks/nil_expectation_warning_spec.rb +1 -1
  176. data/spec/spec/mocks/null_object_mock_spec.rb +1 -1
  177. data/spec/spec/mocks/once_counts_spec.rb +1 -1
  178. data/spec/spec/mocks/options_hash_spec.rb +1 -1
  179. data/spec/spec/mocks/partial_mock_spec.rb +1 -1
  180. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +1 -1
  181. data/spec/spec/mocks/passing_argument_matchers_spec.rb +1 -1
  182. data/spec/spec/mocks/precise_counts_spec.rb +1 -1
  183. data/spec/spec/mocks/record_messages_spec.rb +1 -1
  184. data/spec/spec/mocks/stub_chain_spec.rb +1 -1
  185. data/spec/spec/mocks/stub_implementation_spec.rb +1 -1
  186. data/spec/spec/mocks/stub_spec.rb +14 -9
  187. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +2 -2
  188. data/spec/spec/mocks/twice_counts_spec.rb +1 -1
  189. data/spec/spec/mocks/unstub_spec.rb +1 -1
  190. data/spec/spec/package/bin_spec_spec.rb +4 -10
  191. data/spec/spec/rake/spectask_spec.rb +2 -2
  192. data/spec/spec/runner/class_and_argument_parser_spec.rb +1 -1
  193. data/spec/spec/runner/command_line_spec.rb +1 -1
  194. data/spec/spec/runner/configuration_spec.rb +15 -6
  195. data/spec/spec/runner/drb_command_line_spec.rb +1 -1
  196. data/spec/spec/runner/example_group_runner_spec.rb +1 -1
  197. data/spec/spec/runner/formatter/base_formatter_spec.rb +1 -1
  198. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +10 -1
  199. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +1 -1
  200. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +1 -1
  201. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +72 -76
  202. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +50 -50
  203. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +50 -50
  204. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +61 -69
  205. data/spec/spec/runner/formatter/html_formatter_spec.rb +26 -26
  206. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +1 -1
  207. data/spec/spec/runner/formatter/profile_formatter_spec.rb +1 -1
  208. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +13 -9
  209. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +1 -1
  210. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +1 -1
  211. data/spec/spec/runner/formatter/{text_mate_formatted-1.8.4.html → text_mate_formatted-1.8.6-jruby.html} +64 -59
  212. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +46 -46
  213. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +46 -46
  214. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +55 -63
  215. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +3 -3
  216. data/spec/spec/runner/heckle_runner_spec.rb +1 -1
  217. data/spec/spec/runner/heckler_spec.rb +1 -1
  218. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +1 -1
  219. data/spec/spec/runner/line_number_query_spec.rb +10 -1
  220. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +22 -16
  221. data/spec/spec/runner/option_parser_spec.rb +48 -14
  222. data/spec/spec/runner/options_spec.rb +16 -2
  223. data/spec/spec/runner/output_one_time_fixture.rb +1 -1
  224. data/spec/spec/runner/output_one_time_fixture_runner.rb +2 -3
  225. data/spec/spec/runner/output_one_time_spec.rb +6 -7
  226. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +65 -22
  227. data/spec/spec/runner/reporter_spec.rb +1 -1
  228. data/spec/spec/runner_spec.rb +1 -1
  229. data/spec/spec_helper.rb +5 -7
  230. data/spec/{spec → support}/spec_classes.rb +0 -0
  231. metadata +58 -17
  232. data/examples/failing/spec_helper.rb +0 -3
  233. data/examples/passing/spec_helper.rb +0 -3
  234. data/features/heckle/heckle.feature +0 -56
  235. data/spec/rspec_suite.rb +0 -6
  236. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -366
  237. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
  238. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -372
@@ -190,51 +190,47 @@ a {
190
190
  <dd class="spec failed">
191
191
  <span class="failed_spec_name">should fail when expected message not received</span>
192
192
  <div class="failure" id="failure_1">
193
- <div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div>
194
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb&line=13">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:13</a> :in `block (2 levels) in <top (required)>'
195
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
196
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
197
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
198
- <pre class="ruby"><code><span class="linenum">11</span> it "should fail when expected message not received" do
199
- <span class="linenum">12</span> mock = mock("poke me")
200
- <span class="offending"><span class="linenum">13</span> mock.should_receive(:poke)</span>
201
- <span class="linenum">14</span> end
202
- <span class="linenum">15</span>
203
- <span class="linenum">16</span><span class="comment"># gem install syntax to get syntax highlighting</span></code></pre>
193
+ <div class="message"><pre>Mock &quot;poke me&quot; expected :poke with (any args) once, but received it 0 times</pre></div>
194
+ <div class="backtrace"><pre><a href="txmt://open?url=file://./examples/failing/mocking_example.rb&line=11">./examples/failing/mocking_example.rb:11</a> :in `block (2 levels) in <top (required)>'
195
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
196
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
197
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
198
+ <pre class="ruby"><code><span class="linenum">9</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should fail when expected message not received</span><span class="punct">&quot;</span> <span class="keyword">do</span>
199
+ <span class="linenum">10</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">poke me</span><span class="punct">&quot;)</span>
200
+ <span class="offending"><span class="linenum">11</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span>
201
+ <span class="linenum">12</span> <span class="keyword">end</span>
202
+ <span class="linenum">13</span> </code></pre>
204
203
  </div>
205
204
  </dd>
206
205
  <script type="text/javascript">moveProgressBar('17.6');</script>
207
206
  <dd class="spec failed">
208
207
  <span class="failed_spec_name">should fail when messages are received out of order</span>
209
208
  <div class="failure" id="failure_2">
210
- <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div>
211
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb&line=22">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:22</a> :in `block (2 levels) in <top (required)>'
212
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
213
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
214
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
215
- <pre class="ruby"><code><span class="linenum">20</span> mock.should_receive(:three).ordered
216
- <span class="linenum">21</span> mock.one
217
- <span class="offending"><span class="linenum">22</span> mock.three</span>
218
- <span class="linenum">23</span> mock.two
219
- <span class="linenum">24</span> end
220
- <span class="linenum">25</span><span class="comment"># gem install syntax to get syntax highlighting</span></code></pre>
209
+ <div class="message"><pre>Mock &quot;one two three&quot; received :three out of order</pre></div>
210
+ <div class="backtrace"><pre><a href="txmt://open?url=file://./examples/failing/mocking_example.rb&line=20">./examples/failing/mocking_example.rb:20</a> :in `block (2 levels) in <top (required)>'
211
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
212
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
213
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
214
+ <pre class="ruby"><code><span class="linenum">18</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span>
215
+ <span class="linenum">19</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
216
+ <span class="offending"><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
217
+ <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">two</span>
218
+ <span class="linenum">22</span> <span class="keyword">end</span></code></pre>
221
219
  </div>
222
220
  </dd>
223
221
  <script type="text/javascript">moveProgressBar('23.5');</script>
224
222
  <dd class="spec failed">
225
223
  <span class="failed_spec_name">should get yelled at when sending unexpected messages</span>
226
224
  <div class="failure" id="failure_3">
227
- <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (no args) 0 times, but received it once</pre></div>
228
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb&line=29">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:29</a> :in `block (2 levels) in <top (required)>'
229
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
230
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
231
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
232
- <pre class="ruby"><code><span class="linenum">27</span> mock = mock("don't talk to me")
233
- <span class="linenum">28</span> mock.should_not_receive(:any_message_at_all)
234
- <span class="offending"><span class="linenum">29</span> mock.any_message_at_all</span>
235
- <span class="linenum">30</span> end
236
- <span class="linenum">31</span>
237
- <span class="linenum">32</span><span class="comment"># gem install syntax to get syntax highlighting</span></code></pre>
225
+ <div class="message"><pre>Mock &quot;don't talk to me&quot; expected :any_message_at_all with (no args) 0 times, but received it once</pre></div>
226
+ <div class="backtrace"><pre><a href="txmt://open?url=file://./examples/failing/mocking_example.rb&line=27">./examples/failing/mocking_example.rb:27</a> :in `block (2 levels) in <top (required)>'
227
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
228
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
229
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
230
+ <pre class="ruby"><code><span class="linenum">25</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">don't talk to me</span><span class="punct">&quot;)</span>
231
+ <span class="linenum">26</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span>
232
+ <span class="offending"><span class="linenum">27</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span></span>
233
+ <span class="linenum">28</span> <span class="keyword">end</span></code></pre>
238
234
  </div>
239
235
  </dd>
240
236
  <script type="text/javascript">moveProgressBar('29.4');</script>
@@ -242,16 +238,15 @@ a {
242
238
  <span class="failed_spec_name">has a bug we need to fix</span>
243
239
  <div class="failure" id="failure_4">
244
240
  <div class="message"><pre>Expected pending 'here is the bug' to fail. No Error was raised.</pre></div>
245
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb&line=33">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:33</a> :in `block (2 levels) in <top (required)>'
246
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
247
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
248
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
249
- <pre class="ruby"><code><span class="linenum">31</span>
250
- <span class="linenum">32</span> it "has a bug we need to fix" do
251
- <span class="offending"><span class="linenum">33</span> pending "here is the bug" do</span>
252
- <span class="linenum">34</span> # Actually, no. It's fixed. This will fail because it passes :-)
253
- <span class="linenum">35</span> mock = mock("Bug")
254
- <span class="linenum">36</span><span class="comment"># gem install syntax to get syntax highlighting</span></code></pre>
241
+ <div class="backtrace"><pre><a href="txmt://open?url=file://./examples/failing/mocking_example.rb&line=31">./examples/failing/mocking_example.rb:31</a> :in `block (2 levels) in <top (required)>'
242
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
243
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
244
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
245
+ <pre class="ruby"><code><span class="linenum">29</span>
246
+ <span class="linenum">30</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">has a bug we need to fix</span><span class="punct">&quot;</span> <span class="keyword">do</span>
247
+ <span class="offending"><span class="linenum">31</span> <span class="ident">pending</span> <span class="punct">&quot;</span><span class="string">here is the bug</span><span class="punct">&quot;</span> <span class="keyword">do</span></span>
248
+ <span class="linenum">32</span> <span class="comment"># Actually, no. It's fixed. This will fail because it passes :-)</span>
249
+ <span class="linenum">33</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">Bug</span><span class="punct">&quot;)</span></code></pre>
255
250
  </div>
256
251
  </dd>
257
252
  </dl>
@@ -274,16 +269,14 @@ a {
274
269
  +behavior driven development
275
270
  framework for Ruby
276
271
  </pre></div>
277
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/diffing_spec.rb&line=13">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/diffing_spec.rb:13</a> :in `block (2 levels) in <top (required)>'
278
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
279
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
280
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
281
- <pre class="ruby"><code><span class="linenum">11</span>framework for Ruby
282
- <span class="linenum">12</span>EOF
283
- <span class="offending"><span class="linenum">13</span> usa.should == uk</span>
284
- <span class="linenum">14</span> end
285
- <span class="linenum">15</span>
286
- <span class="linenum">16</span><span class="comment"># gem install syntax to get syntax highlighting</span></code></pre>
272
+ <div class="backtrace"><pre><a href="txmt://open?url=file://./examples/failing/diffing_spec.rb&line=13">./examples/failing/diffing_spec.rb:13</a> :in `block (2 levels) in <top (required)>'
273
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
274
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
275
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
276
+ <pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span>
277
+ <span class="linenum">12</span><span class="constant">EOF</span>
278
+ <span class="offending"><span class="linenum">13</span> <span class="ident">usa</span><span class="punct">.</span><span class="ident">should</span> <span class="punct">==</span> <span class="ident">uk</span></span>
279
+ <span class="linenum">14</span> <span class="keyword">end</span></code></pre>
287
280
  </div>
288
281
  </dd>
289
282
  <script type="text/javascript">moveProgressBar('41.1');</script>
@@ -304,16 +297,15 @@ species=giraffe
304
297
 
305
298
  (compared using eql?)
306
299
  </pre></div>
307
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/diffing_spec.rb&line=34">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/diffing_spec.rb:34</a> :in `block (2 levels) in <top (required)>'
308
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
309
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
310
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
311
- <pre class="ruby"><code><span class="linenum">32</span> expected = Animal.new "bob", "giraffe"
312
- <span class="linenum">33</span> actual = Animal.new "bob", "tortoise"
313
- <span class="offending"><span class="linenum">34</span> expected.should eql(actual)</span>
314
- <span class="linenum">35</span> end
315
- <span class="linenum">36</span>end
316
- <span class="linenum">37</span><span class="comment"># gem install syntax to get syntax highlighting</span></code></pre>
300
+ <div class="backtrace"><pre><a href="txmt://open?url=file://./examples/failing/diffing_spec.rb&line=34">./examples/failing/diffing_spec.rb:34</a> :in `block (2 levels) in <top (required)>'
301
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=49">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:49</a> :in `block (4 levels) in <module:Formatter>'
302
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `chdir'
303
+ <a href="txmt://open?url=file://./spec/spec/runner/formatter/text_mate_formatter_spec.rb&line=45">./spec/spec/runner/formatter/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatter>'</pre></div>
304
+ <pre class="ruby"><code><span class="linenum">32</span> <span class="ident">expected</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">giraffe</span><span class="punct">&quot;</span>
305
+ <span class="linenum">33</span> <span class="ident">actual</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">tortoise</span><span class="punct">&quot;</span>
306
+ <span class="offending"><span class="linenum">34</span> <span class="ident">expected</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eql</span><span class="punct">(</span><span class="ident">actual</span><span class="punct">)</span></span>
307
+ <span class="linenum">35</span> <span class="keyword">end</span>
308
+ <span class="linenum">36</span><span class="keyword">end</span></code></pre>
317
309
  </div>
318
310
  </dd>
319
311
  </dl>
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  begin # See rescue all the way at the bottom
4
4
 
@@ -38,8 +38,8 @@ module Spec
38
38
  end
39
39
  end
40
40
 
41
- # # Uncomment this spec temporarily in order to overwrite the expected with actual.
42
- # # Use with care!!!
41
+ # Uncomment this spec temporarily in order to overwrite the expected with actual.
42
+ # Use with care!!!
43
43
  # describe "functional spec file generator" do
44
44
  # it "generates a new comparison file" do
45
45
  # Dir.chdir(root) do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
  unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM} || Spec::Ruby.version.to_f == 1.9
3
3
  require 'spec/runner/heckle_runner'
4
4
 
@@ -1,5 +1,5 @@
1
1
  if Spec::Ruby.version.to_f < 1.9
2
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+ require 'spec_helper'
3
3
  unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
4
4
  require 'spec/runner/heckle_runner'
5
5
 
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe "c" do
4
4
 
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe "LineNumberQuery" do
4
4
  with_sandboxed_options do
@@ -87,6 +87,15 @@ describe "LineNumberQuery" do
87
87
  end
88
88
  end
89
89
 
90
+ it "should handle paths which contain colons and backslashes" do
91
+ fixture =
92
+ { "c:\\somepath\\somefile.rb:999:in 'method'" => "c:\\somepath\\somefile.rb",
93
+ ".\\somepath\\somefile:999" => ".\\somepath\\somefile" }
94
+ fixture.each_pair do |input, expected|
95
+ parser.send(:parse_location, input ).should == [expected, 999]
96
+ end
97
+ end
98
+
90
99
  it "ignores example group base classes which have no location" do
91
100
  options = stub('options', :example_groups => [
92
101
  stub('example_group', :location => nil)
@@ -1,14 +1,26 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
5
- describe "NoisyBacktraceTweaker" do
5
+ describe NoisyBacktraceTweaker do
6
6
  before(:each) do
7
7
  @error = RuntimeError.new
8
8
  @tweaker = NoisyBacktraceTweaker.new
9
9
  end
10
-
11
- it "should leave anything in lib spec dir" do
10
+
11
+ it "gracefully handles nil backtrace" do
12
+ lambda do
13
+ @tweaker.tweak_backtrace(@error)
14
+ end.should_not raise_error
15
+ end
16
+
17
+ it "cleans up double slashes" do
18
+ @error.set_backtrace(["/a//b/c//d.rb"])
19
+ @tweaker.tweak_backtrace(@error)
20
+ @error.backtrace.should include("/a/b/c/d.rb")
21
+ end
22
+
23
+ it "preserves lines in lib/spec" do
12
24
  ["expectations", "mocks", "runner", "stubs"].each do |child|
13
25
  @error.set_backtrace(["/lib/spec/#{child}/anything.rb"])
14
26
  @tweaker.tweak_backtrace(@error)
@@ -16,30 +28,24 @@ module Spec
16
28
  end
17
29
  end
18
30
 
19
- it "should leave anything in spec dir" do
31
+ it "preserves lines in spec/" do
20
32
  @error.set_backtrace(["/lib/spec/expectations/anything.rb"])
21
33
  @tweaker.tweak_backtrace(@error)
22
34
  @error.backtrace.should_not be_empty
23
35
  end
24
36
 
25
- it "should leave bin spec" do
37
+ it "preserves lines in bin/spec" do
26
38
  @error.set_backtrace(["bin/spec:"])
27
39
  @tweaker.tweak_backtrace(@error)
28
40
  @error.backtrace.should_not be_empty
29
41
  end
30
42
 
31
- it "should not barf on nil backtrace" do
32
- lambda do
33
- @tweaker.tweak_backtrace(@error)
34
- end.should_not raise_error
35
- end
36
-
37
- it "should clean up double slashes" do
38
- @error.set_backtrace(["/a//b/c//d.rb"])
43
+ it "ignores custom patterns" do
44
+ @tweaker.ignore_patterns(/custom_pattern/)
45
+ @error.set_backtrace(["custom_pattern"])
39
46
  @tweaker.tweak_backtrace(@error)
40
- @error.backtrace.should include("/a/b/c/d.rb")
47
+ @error.backtrace.should_not be_empty
41
48
  end
42
-
43
49
  end
44
50
  end
45
51
  end
@@ -1,7 +1,9 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
- require File.dirname(__FILE__) + '/resources/custom_example_group_runner'
1
+ require 'spec_helper'
2
+ require 'spec/runner/resources/custom_example_group_runner'
3
+ require 'fakefs/safe'
4
+ require 'fakefs/spec_helpers'
3
5
 
4
- describe "OptionParser" do
6
+ describe "OptionParser" do
5
7
  before(:each) do
6
8
  @out = StringIO.new
7
9
  @err = StringIO.new
@@ -13,6 +15,22 @@ describe "OptionParser" do
13
15
  @parser.options
14
16
  end
15
17
 
18
+ # FIXME - this entire file should run w/ fakefs
19
+ describe "with fakefs" do
20
+ extend FakeFS::SpecHelpers
21
+ use_fakefs
22
+
23
+ it "should not use colour by default" do
24
+ options = parse([])
25
+ options.colour.should == false
26
+ end
27
+
28
+ it "should use progress bar formatter by default" do
29
+ options = parse([])
30
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
31
+ end
32
+ end
33
+
16
34
  it "should leave the submitted argv alone" do
17
35
  args = ["--pattern", "foo"]
18
36
  @parser.order!(args)
@@ -74,11 +92,6 @@ describe "OptionParser" do
74
92
  options.verbose.should be_nil
75
93
  end
76
94
 
77
- it "should not use colour by default" do
78
- options = parse([])
79
- options.colour.should == false
80
- end
81
-
82
95
  it "should print help to stdout if no args and spec_comand?" do
83
96
  Spec::Runner::OptionParser.stub!(:spec_command?).and_return(true)
84
97
  options = parse([])
@@ -185,7 +198,7 @@ describe "OptionParser" do
185
198
  FileUtils.rm 'test.html' if File.exist?('test.html')
186
199
  options = parse(["--format", "html:test.html"])
187
200
  options.formatters # creates the file
188
- File.should be_exist('test.html')
201
+ File.should exist('test.html')
189
202
  options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
190
203
  options.formatters[0].close
191
204
  FileUtils.rm 'test.html'
@@ -206,11 +219,6 @@ describe "OptionParser" do
206
219
  options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker)
207
220
  end
208
221
 
209
- it "should use progress bar formatter by default" do
210
- options = parse([])
211
- options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
212
- end
213
-
214
222
  it "should use specdoc formatter when format is s" do
215
223
  options = parse(["--format", "s"])
216
224
  options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
@@ -508,4 +516,30 @@ describe "OptionParser" do
508
516
  options = parse(["--autospec"])
509
517
  options.autospec.should be(true)
510
518
  end
519
+
520
+ describe "implicitly loading spec/spec.opts" do
521
+ extend FakeFS::SpecHelpers
522
+ use_fakefs
523
+ it "uses spec/spec.opts if present" do
524
+ File.open('spec/spec.opts', 'w') { |f| f.write "--colour" }
525
+ options = parse(['ignore.rb'])
526
+ options.colour.should be(true)
527
+ end
528
+
529
+ it "does not try to load spec/spec.opts if not present" do
530
+ FileUtils.rm 'spec/spec.opts'
531
+ options = parse(['ignore.rb'])
532
+ options.colour.should be(false)
533
+ end
534
+
535
+ it "uses specified opts if supplied" do
536
+ options = nil
537
+ File.open("spec/spec.opts",'w') { |f| f.write "" }
538
+ File.open("spec/alternate.opts",'w') { |f| f.write "--colour" }
539
+ options = parse(['-O','spec/alternate.opts'])
540
+ options.colour.should be(true)
541
+ end
542
+ end
543
+
544
+
511
545
  end
@@ -1,5 +1,5 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
- require File.dirname(__FILE__) + '/resources/custom_example_group_runner'
1
+ require 'spec_helper'
2
+ require 'spec/runner/resources/custom_example_group_runner'
3
3
 
4
4
  module Spec
5
5
  module Runner
@@ -107,6 +107,12 @@ module Spec
107
107
  it "should default to QuietBacktraceTweaker" do
108
108
  @options.backtrace_tweaker.class.should == QuietBacktraceTweaker
109
109
  end
110
+
111
+ it "adds custom ignored backtrace patterns" do
112
+ Spec::Runner.configuration.stub!(:ignored_backtrace_patterns).and_return([/custom_pattern/])
113
+ @options.run_examples
114
+ @options.backtrace_tweaker.ignored_patterns.should include(/custom_pattern/)
115
+ end
110
116
  end
111
117
 
112
118
  describe "#dry_run" do
@@ -528,6 +534,14 @@ module Spec
528
534
  end
529
535
  end
530
536
  end
537
+
538
+ describe "#add_dir_from_project_root_to_load_path" do
539
+ it "handles nil gracefully" do
540
+ load_path = double().as_null_object
541
+ @options.stub(:project_root).and_return(nil)
542
+ @options.add_dir_from_project_root_to_load_path(nil,load_path)
543
+ end
544
+ end
531
545
  end
532
546
  end
533
547
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe "Running an Example" do
4
4
  it "should not output twice" do
@@ -1,8 +1,7 @@
1
- dir = File.dirname(__FILE__)
2
- require "#{dir}/../../spec_helper"
1
+ require "spec_helper"
3
2
 
4
3
  triggering_double_output = Spec::Runner.options
5
4
  options = Spec::Runner::OptionParser.parse(
6
- ["#{dir}/output_one_time_fixture.rb"], $stderr, $stdout
5
+ [File.dirname(__FILE__) + "/output_one_time_fixture.rb"], $stderr, $stdout
7
6
  )
8
7
  Spec::Runner::CommandLine.run(options)
@@ -1,15 +1,14 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
+ require 'ruby_forker'
2
3
 
3
4
  module Spec
4
5
  module Runner
5
6
  describe CommandLine do
7
+ include RubyForker
6
8
  it "should not output twice" do
7
- dir = File.dirname(__FILE__)
8
- Dir.chdir("#{dir}/../../..") do
9
- output =`ruby #{dir}/output_one_time_fixture_runner.rb`
10
- output.should include("1 example, 0 failures")
11
- output.should_not include("0 examples, 0 failures")
12
- end
9
+ output = ruby "-Ilib bin/spec spec/spec/runner/output_one_time_fixture_runner.rb"
10
+ output.should include("1 example, 0 failures")
11
+ output.should_not include("0 examples, 0 failures")
13
12
  end
14
13
  end
15
14
  end