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.
- data/History.rdoc +41 -2
- data/Manifest.txt +11 -10
- data/Rakefile +47 -22
- data/Ruby1.9.rdoc +1 -2
- data/Upgrade.rdoc +56 -7
- data/bin/spec +2 -1
- data/cucumber.yml +3 -1
- data/examples/failing/README.txt +7 -3
- data/examples/failing/failing_implicit_docstrings_example.rb +0 -2
- data/examples/failing/mocking_example.rb +0 -2
- data/examples/failing/partial_mock_example.rb +0 -2
- data/examples/failing/pending_example.rb +0 -2
- data/examples/failing/predicate_example.rb +0 -2
- data/examples/failing/team_spec.rb +0 -3
- data/examples/failing/timeout_behaviour.rb +0 -2
- data/examples/passing/custom_formatter.rb +0 -1
- data/examples/passing/dynamic_spec.rb +0 -2
- data/examples/passing/file_accessor.rb +1 -2
- data/examples/passing/file_accessor_spec.rb +1 -2
- data/examples/passing/filtered_formatter.rb +0 -1
- data/examples/passing/greeter_spec.rb +0 -1
- data/examples/passing/helper_method_example.rb +0 -2
- data/examples/passing/implicit_docstrings_example.rb +0 -2
- data/examples/passing/io_processor_spec.rb +1 -2
- data/examples/passing/mocking_example.rb +0 -2
- data/examples/passing/nested_classes_example.rb +1 -2
- data/examples/passing/options_example.rb +0 -2
- data/examples/passing/partial_mock_example.rb +0 -2
- data/examples/passing/pending_example.rb +0 -2
- data/examples/passing/predicate_example.rb +0 -2
- data/examples/passing/shared_example_group_example.rb +0 -2
- data/examples/passing/simple_matcher_example.rb +0 -2
- data/examples/passing/stack_spec.rb +2 -3
- data/examples/passing/stack_spec_with_nested_example_groups.rb +2 -3
- data/examples/passing/stubbing_example.rb +0 -2
- data/examples/passing/yielding_example.rb +0 -2
- data/features/before_and_after_blocks/before_and_after_blocks.feature +4 -4
- data/features/command_line/line_number_option.feature +14 -14
- data/features/command_line/line_number_option_with_example_with_no_name.feature +2 -2
- data/features/example_groups/define_example_attribute.feature +41 -0
- data/features/example_groups/example_group_with_should_methods.feature +1 -1
- data/features/example_groups/implicit_docstrings.feature +7 -7
- data/features/example_groups/nested_groups.feature +2 -2
- data/features/expectations/customized_message.feature +4 -4
- data/features/expectations/expect_change.feature +4 -4
- data/features/expectations/expect_error.feature +4 -4
- data/features/extensions/custom_example_group.feature +10 -10
- data/features/formatters/custom_formatter.feature +3 -3
- data/features/interop/examples_and_tests_together.feature +10 -6
- data/features/interop/rspec_output.feature +1 -1
- data/features/interop/test_case_with_should_methods.feature +1 -1
- data/features/load_paths/add_lib_to_load_path.feature +20 -0
- data/features/load_paths/add_spec_to_load_path.feature +20 -0
- data/features/matchers/define_diffable_matcher.feature +2 -2
- data/features/matchers/define_matcher.feature +19 -19
- data/features/matchers/define_matcher_outside_rspec.feature +2 -3
- data/features/matchers/define_matcher_with_fluent_interface.feature +2 -2
- data/features/matchers/define_wrapped_matcher.feature +29 -0
- data/features/mock_framework_integration/use_flexmock.feature +1 -1
- data/features/mock_framework_integration/use_mocha.feature +1 -1
- data/features/mock_framework_integration/use_rr.feature +1 -1
- data/features/mocks/mix_stubs_and_mocks.feature +2 -2
- data/features/mocks/stub_implementation.feature +1 -1
- data/features/pending/pending_examples.feature +16 -16
- data/features/runner/specify_line_number.feature +4 -4
- data/features/spec_helper/spec_helper.feature +25 -0
- data/features/step_definitions/running_rspec_steps.rb +4 -2
- data/features/subject/explicit_subject.feature +2 -2
- data/features/subject/implicit_subject.feature +14 -2
- data/features/support/env.rb +6 -3
- data/lib/spec/adapters/mock_frameworks/mocha.rb +6 -1
- data/lib/spec/example/example_group_methods.rb +7 -0
- data/lib/spec/example/example_methods.rb +1 -1
- data/lib/spec/example/subject.rb +8 -0
- data/lib/spec/interop/test.rb +27 -1
- data/lib/spec/interop/test/unit/testcase.rb +1 -1
- data/lib/spec/matchers/exist.rb +2 -2
- data/lib/spec/matchers/extensions/instance_exec.rb +28 -20
- data/lib/spec/matchers/matcher.rb +21 -20
- data/lib/spec/mocks/argument_matchers.rb +17 -13
- data/lib/spec/mocks/error_generator.rb +14 -3
- data/lib/spec/mocks/{spec_methods.rb → example_methods.rb} +25 -11
- data/lib/spec/mocks/framework.rb +1 -1
- data/lib/spec/mocks/methods.rb +15 -0
- data/lib/spec/mocks/mock.rb +16 -10
- data/lib/spec/mocks/proxy.rb +1 -1
- data/lib/spec/rake/spectask.rb +3 -3
- data/lib/spec/runner/backtrace_tweaker.rb +41 -22
- data/lib/spec/runner/configuration.rb +18 -1
- data/lib/spec/runner/differs/default.rb +1 -1
- data/lib/spec/runner/drb_command_line.rb +5 -2
- data/lib/spec/runner/formatter/base_text_formatter.rb +8 -3
- data/lib/spec/runner/option_parser.rb +21 -15
- data/lib/spec/runner/options.rb +54 -23
- data/lib/spec/version.rb +3 -3
- data/resources/helpers/cmdline.rb +0 -1
- data/spec/autotest/autotest_helper.rb +4 -6
- data/spec/autotest/discover_spec.rb +2 -2
- data/spec/autotest/failed_results_re_spec.rb +1 -1
- data/spec/autotest/rspec_spec.rb +1 -1
- data/spec/spec/dsl/main_spec.rb +1 -1
- data/spec/spec/example/example_group_class_definition_spec.rb +1 -1
- data/spec/spec/example/example_group_factory_spec.rb +1 -1
- data/spec/spec/example/example_group_methods_spec.rb +21 -1
- data/spec/spec/example/example_group_proxy_spec.rb +1 -1
- data/spec/spec/example/example_group_spec.rb +1 -1
- data/spec/spec/example/example_matcher_spec.rb +1 -1
- data/spec/spec/example/example_methods_spec.rb +1 -1
- data/spec/spec/example/example_proxy_spec.rb +1 -1
- data/spec/spec/example/helper_method_spec.rb +1 -1
- data/spec/spec/example/nested_example_group_spec.rb +1 -1
- data/spec/spec/example/predicate_matcher_spec.rb +1 -1
- data/spec/spec/example/shared_example_group_spec.rb +1 -1
- data/spec/spec/example/subclassing_example_group_spec.rb +1 -1
- data/spec/spec/example/subject_spec.rb +17 -1
- data/spec/spec/expectations/differs/default_spec.rb +16 -3
- data/spec/spec/expectations/extensions/kernel_spec.rb +1 -1
- data/spec/spec/expectations/fail_with_spec.rb +1 -1
- data/spec/spec/expectations/handler_spec.rb +1 -1
- data/spec/spec/expectations/wrap_expectation_spec.rb +1 -1
- data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
- data/spec/spec/interop/test/unit/spec_spec.rb +1 -1
- data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +2 -2
- data/spec/spec/interop/test/unit/testcase_spec.rb +7 -2
- data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +1 -1
- data/spec/spec/matchers/be_close_spec.rb +1 -1
- data/spec/spec/matchers/be_instance_of_spec.rb +1 -1
- data/spec/spec/matchers/be_kind_of_spec.rb +1 -1
- data/spec/spec/matchers/be_spec.rb +13 -1
- data/spec/spec/matchers/change_spec.rb +1 -1
- data/spec/spec/matchers/compatibility_spec.rb +1 -1
- data/spec/spec/matchers/description_generation_spec.rb +1 -1
- data/spec/spec/matchers/dsl_spec.rb +1 -1
- data/spec/spec/matchers/eql_spec.rb +1 -1
- data/spec/spec/matchers/equal_spec.rb +1 -1
- data/spec/spec/matchers/exist_spec.rb +6 -2
- data/spec/spec/matchers/has_spec.rb +19 -1
- data/spec/spec/matchers/have_spec.rb +1 -1
- data/spec/spec/matchers/include_spec.rb +1 -1
- data/spec/spec/matchers/match_array_spec.rb +1 -1
- data/spec/spec/matchers/match_spec.rb +1 -1
- data/spec/spec/matchers/matcher_methods_spec.rb +1 -1
- data/spec/spec/matchers/matcher_spec.rb +55 -28
- data/spec/spec/matchers/matchers_spec.rb +1 -1
- data/spec/spec/matchers/operator_matcher_spec.rb +1 -1
- data/spec/spec/matchers/raise_error_spec.rb +1 -1
- data/spec/spec/matchers/respond_to_spec.rb +1 -1
- data/spec/spec/matchers/satisfy_spec.rb +1 -1
- data/spec/spec/matchers/simple_matcher_spec.rb +1 -1
- data/spec/spec/matchers/throw_symbol_spec.rb +1 -1
- data/spec/spec/mocks/any_number_of_times_spec.rb +1 -1
- data/spec/spec/mocks/argument_expectation_spec.rb +1 -1
- data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
- data/spec/spec/mocks/at_least_spec.rb +1 -1
- data/spec/spec/mocks/at_most_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_10260_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_10263_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_11545_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_15719_spec.rb +3 -3
- data/spec/spec/mocks/bug_report_496_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_600_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_7611_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_7805_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_8165_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_8302_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_830_spec.rb +1 -1
- data/spec/spec/mocks/double_spec.rb +12 -0
- data/spec/spec/mocks/failing_argument_matchers_spec.rb +6 -6
- data/spec/spec/mocks/hash_including_matcher_spec.rb +1 -1
- data/spec/spec/mocks/hash_not_including_matcher_spec.rb +1 -1
- data/spec/spec/mocks/mock_ordering_spec.rb +4 -4
- data/spec/spec/mocks/mock_space_spec.rb +1 -1
- data/spec/spec/mocks/mock_spec.rb +20 -24
- data/spec/spec/mocks/multiple_return_value_spec.rb +8 -8
- data/spec/spec/mocks/nil_expectation_warning_spec.rb +1 -1
- data/spec/spec/mocks/null_object_mock_spec.rb +1 -1
- data/spec/spec/mocks/once_counts_spec.rb +1 -1
- data/spec/spec/mocks/options_hash_spec.rb +1 -1
- data/spec/spec/mocks/partial_mock_spec.rb +1 -1
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +1 -1
- data/spec/spec/mocks/passing_argument_matchers_spec.rb +1 -1
- data/spec/spec/mocks/precise_counts_spec.rb +1 -1
- data/spec/spec/mocks/record_messages_spec.rb +1 -1
- data/spec/spec/mocks/stub_chain_spec.rb +1 -1
- data/spec/spec/mocks/stub_implementation_spec.rb +1 -1
- data/spec/spec/mocks/stub_spec.rb +14 -9
- data/spec/spec/mocks/stubbed_message_expectations_spec.rb +2 -2
- data/spec/spec/mocks/twice_counts_spec.rb +1 -1
- data/spec/spec/mocks/unstub_spec.rb +1 -1
- data/spec/spec/package/bin_spec_spec.rb +4 -10
- data/spec/spec/rake/spectask_spec.rb +2 -2
- data/spec/spec/runner/class_and_argument_parser_spec.rb +1 -1
- data/spec/spec/runner/command_line_spec.rb +1 -1
- data/spec/spec/runner/configuration_spec.rb +15 -6
- data/spec/spec/runner/drb_command_line_spec.rb +1 -1
- data/spec/spec/runner/example_group_runner_spec.rb +1 -1
- data/spec/spec/runner/formatter/base_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/base_text_formatter_spec.rb +10 -1
- data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +72 -76
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +50 -50
- data/spec/spec/runner/formatter/html_formatted-1.8.7.html +50 -50
- data/spec/spec/runner/formatter/html_formatted-1.9.1.html +61 -69
- data/spec/spec/runner/formatter/html_formatter_spec.rb +26 -26
- data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/profile_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +13 -9
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +1 -1
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/{text_mate_formatted-1.8.4.html → text_mate_formatted-1.8.6-jruby.html} +64 -59
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +46 -46
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +46 -46
- data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +55 -63
- data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +3 -3
- data/spec/spec/runner/heckle_runner_spec.rb +1 -1
- data/spec/spec/runner/heckler_spec.rb +1 -1
- data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +1 -1
- data/spec/spec/runner/line_number_query_spec.rb +10 -1
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +22 -16
- data/spec/spec/runner/option_parser_spec.rb +48 -14
- data/spec/spec/runner/options_spec.rb +16 -2
- data/spec/spec/runner/output_one_time_fixture.rb +1 -1
- data/spec/spec/runner/output_one_time_fixture_runner.rb +2 -3
- data/spec/spec/runner/output_one_time_spec.rb +6 -7
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +65 -22
- data/spec/spec/runner/reporter_spec.rb +1 -1
- data/spec/spec/runner_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -7
- data/spec/{spec → support}/spec_classes.rb +0 -0
- metadata +58 -17
- data/examples/failing/spec_helper.rb +0 -3
- data/examples/passing/spec_helper.rb +0 -3
- data/features/heckle/heckle.feature +0 -56
- data/spec/rspec_suite.rb +0 -6
- data/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -366
- data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
- 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
|
|
194
|
-
<div class="backtrace"><pre><a href="txmt://open?url=file
|
|
195
|
-
<a href="txmt://open?url=file
|
|
196
|
-
<a href="txmt://open?url=file
|
|
197
|
-
<a href="txmt://open?url=file
|
|
198
|
-
<pre class="ruby"><code><span class="linenum">
|
|
199
|
-
<span class="linenum">
|
|
200
|
-
<span class="offending"><span class="linenum">
|
|
201
|
-
<span class="linenum">
|
|
202
|
-
<span class="linenum">
|
|
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 "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://./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">"</span><span class="string">should fail when expected message not received</span><span class="punct">"</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">("</span><span class="string">poke me</span><span class="punct">")</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
|
|
211
|
-
<div class="backtrace"><pre><a href="txmt://open?url=file
|
|
212
|
-
<a href="txmt://open?url=file
|
|
213
|
-
<a href="txmt://open?url=file
|
|
214
|
-
<a href="txmt://open?url=file
|
|
215
|
-
<pre class="ruby"><code><span class="linenum">
|
|
216
|
-
<span class="linenum">
|
|
217
|
-
<span class="offending"><span class="linenum">
|
|
218
|
-
<span class="linenum">
|
|
219
|
-
<span class="linenum">
|
|
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 "one two three" 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
|
|
228
|
-
<div class="backtrace"><pre><a href="txmt://open?url=file
|
|
229
|
-
<a href="txmt://open?url=file
|
|
230
|
-
<a href="txmt://open?url=file
|
|
231
|
-
<a href="txmt://open?url=file
|
|
232
|
-
<pre class="ruby"><code><span class="linenum">
|
|
233
|
-
<span class="linenum">
|
|
234
|
-
<span class="offending"><span class="linenum">
|
|
235
|
-
<span class="linenum">
|
|
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 "don't talk to me" 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">("</span><span class="string">don't talk to me</span><span class="punct">")</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
|
|
246
|
-
<a href="txmt://open?url=file
|
|
247
|
-
<a href="txmt://open?url=file
|
|
248
|
-
<a href="txmt://open?url=file
|
|
249
|
-
<pre class="ruby"><code><span class="linenum">
|
|
250
|
-
<span class="linenum">
|
|
251
|
-
<span class="offending"><span class="linenum">
|
|
252
|
-
<span class="linenum">
|
|
253
|
-
<span class="linenum">
|
|
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">"</span><span class="string">has a bug we need to fix</span><span class="punct">"</span> <span class="keyword">do</span>
|
|
247
|
+
<span class="offending"><span class="linenum">31</span> <span class="ident">pending</span> <span class="punct">"</span><span class="string">here is the bug</span><span class="punct">"</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">("</span><span class="string">Bug</span><span class="punct">")</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
|
|
278
|
-
<a href="txmt://open?url=file
|
|
279
|
-
<a href="txmt://open?url=file
|
|
280
|
-
<a href="txmt://open?url=file
|
|
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
|
|
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
|
|
308
|
-
<a href="txmt://open?url=file
|
|
309
|
-
<a href="txmt://open?url=file
|
|
310
|
-
<a href="txmt://open?url=file
|
|
311
|
-
<pre class="ruby"><code><span class="linenum">32</span> expected = Animal
|
|
312
|
-
<span class="linenum">33</span> actual = Animal
|
|
313
|
-
<span class="offending"><span class="linenum">34</span> expected
|
|
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">"</span><span class="string">bob</span><span class="punct">",</span> <span class="punct">"</span><span class="string">giraffe</span><span class="punct">"</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">"</span><span class="string">bob</span><span class="punct">",</span> <span class="punct">"</span><span class="string">tortoise</span><span class="punct">"</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
|
|
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
|
-
#
|
|
42
|
-
#
|
|
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
|
|
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
|
|
1
|
+
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
module Spec
|
|
4
4
|
module Runner
|
|
5
|
-
describe
|
|
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 "
|
|
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 "
|
|
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 "
|
|
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 "
|
|
32
|
-
|
|
33
|
-
|
|
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.
|
|
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
|
|
2
|
-
require
|
|
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
|
|
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
|
|
2
|
-
require
|
|
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,8 +1,7 @@
|
|
|
1
|
-
|
|
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
|
-
["
|
|
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
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|