rspec 1.2.8 → 1.2.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|