rspec-core 2.13.1 → 2.14.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.md +80 -0
- data/exe/autospec +1 -1
- data/features/README.md +2 -2
- data/features/command_line/format_option.feature +8 -14
- data/features/command_line/line_number_appended_to_path.feature +4 -4
- data/features/command_line/line_number_option.feature +1 -1
- data/features/command_line/rake_task.feature +2 -2
- data/features/command_line/require_option.feature +43 -0
- data/features/command_line/ruby.feature +2 -2
- data/features/command_line/warnings_option.feature +27 -0
- data/features/configuration/backtrace_clean_patterns.feature +2 -2
- data/features/configuration/deprecation_stream.feature +58 -0
- data/features/configuration/pattern.feature +8 -0
- data/features/configuration/profile.feature +59 -2
- data/features/configuration/read_options_from_file.feature +8 -5
- data/features/configuration/run_all_when_everything_filtered.feature +20 -4
- data/features/example_groups/basic_structure.feature +1 -1
- data/features/example_groups/shared_context.feature +1 -1
- data/features/example_groups/shared_examples.feature +72 -0
- data/features/filtering/exclusion_filters.feature +10 -10
- data/features/formatters/custom_formatter.feature +1 -1
- data/features/hooks/before_and_after_hooks.feature +19 -19
- data/features/mock_framework_integration/use_any_framework.feature +6 -6
- data/features/mock_framework_integration/use_flexmock.feature +3 -3
- data/features/mock_framework_integration/use_mocha.feature +3 -3
- data/features/mock_framework_integration/use_rr.feature +3 -3
- data/features/mock_framework_integration/use_rspec.feature +3 -3
- data/features/subject/implicit_subject.feature +1 -1
- data/lib/rspec/core.rb +20 -3
- data/lib/rspec/core/backtrace_cleaner.rb +46 -0
- data/lib/rspec/core/backward_compatibility.rb +3 -13
- data/lib/rspec/core/configuration.rb +136 -49
- data/lib/rspec/core/configuration_options.rb +19 -8
- data/lib/rspec/core/deprecation.rb +18 -30
- data/lib/rspec/core/example.rb +3 -3
- data/lib/rspec/core/example_group.rb +4 -3
- data/lib/rspec/core/extensions/kernel.rb +1 -1
- data/lib/rspec/core/filter_manager.rb +1 -1
- data/lib/rspec/core/formatters.rb +1 -1
- data/lib/rspec/core/formatters/base_formatter.rb +10 -1
- data/lib/rspec/core/formatters/base_text_formatter.rb +47 -10
- data/lib/rspec/core/formatters/deprecation_formatter.rb +35 -0
- data/lib/rspec/core/formatters/helpers.rb +12 -5
- data/lib/rspec/core/formatters/html_formatter.rb +7 -6
- data/lib/rspec/core/formatters/html_printer.rb +13 -12
- data/lib/rspec/core/formatters/json_formatter.rb +1 -2
- data/lib/rspec/core/formatters/text_mate_formatter.rb +1 -1
- data/lib/rspec/core/hooks.rb +9 -0
- data/lib/rspec/core/memoized_helpers.rb +19 -8
- data/lib/rspec/core/metadata.rb +3 -1
- data/lib/rspec/core/mocking/with_flexmock.rb +1 -1
- data/lib/rspec/core/mocking/with_rr.rb +1 -1
- data/lib/rspec/core/option_parser.rb +6 -2
- data/lib/rspec/core/pending.rb +1 -0
- data/lib/rspec/core/rake_task.rb +11 -19
- data/lib/rspec/core/reporter.rb +33 -4
- data/lib/rspec/core/shared_example_group.rb +56 -16
- data/lib/rspec/core/shared_example_group/collection.rb +42 -0
- data/lib/rspec/core/version.rb +1 -1
- data/lib/rspec/core/world.rb +2 -3
- data/spec/autotest/rspec_spec.rb +2 -2
- data/spec/rspec/core/backtrace_cleaner_spec.rb +68 -0
- data/spec/rspec/core/configuration_options_spec.rb +15 -4
- data/spec/rspec/core/configuration_spec.rb +202 -19
- data/spec/rspec/core/deprecation_spec.rb +41 -0
- data/spec/rspec/core/deprecations_spec.rb +10 -12
- data/spec/rspec/core/drb_command_line_spec.rb +1 -1
- data/spec/rspec/core/example_group_spec.rb +37 -36
- data/spec/rspec/core/example_spec.rb +25 -4
- data/spec/rspec/core/filter_manager_spec.rb +6 -6
- data/spec/rspec/core/formatters/base_text_formatter_spec.rb +101 -36
- data/spec/rspec/core/formatters/deprecation_formatter_spec.rb +78 -0
- data/spec/rspec/core/formatters/documentation_formatter_spec.rb +2 -2
- data/spec/rspec/core/formatters/helpers_spec.rb +23 -7
- data/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +20 -14
- data/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +69 -169
- data/spec/rspec/core/formatters/html_formatted-1.8.7.html +28 -23
- data/spec/rspec/core/formatters/html_formatted-1.9.2.html +42 -33
- data/spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html +17 -23
- data/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +57 -157
- data/spec/rspec/core/formatters/html_formatted-1.9.3.html +42 -33
- data/spec/rspec/core/formatters/html_formatted-2.0.0.html +42 -33
- data/spec/rspec/core/formatters/html_formatter_spec.rb +1 -0
- data/spec/rspec/core/formatters/progress_formatter_spec.rb +3 -3
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +11 -14
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html +103 -203
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +30 -25
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +42 -33
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html +20 -14
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html +103 -203
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +42 -33
- data/spec/rspec/core/formatters/text_mate_formatted-2.0.0.html +42 -33
- data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +1 -0
- data/spec/rspec/core/memoized_helpers_spec.rb +28 -0
- data/spec/rspec/core/metadata_spec.rb +8 -3
- data/spec/rspec/core/option_parser_spec.rb +8 -0
- data/spec/rspec/core/project_initializer_spec.rb +2 -2
- data/spec/rspec/core/rake_task_spec.rb +8 -8
- data/spec/rspec/core/reporter_spec.rb +26 -6
- data/spec/rspec/core/resources/formatter_specs.rb +3 -3
- data/spec/rspec/core/shared_context_spec.rb +20 -0
- data/spec/rspec/core/shared_example_group/collection_spec.rb +70 -0
- data/spec/rspec/core/shared_example_group_spec.rb +4 -4
- data/spec/rspec/core/world_spec.rb +1 -3
- data/spec/rspec/core_spec.rb +20 -0
- data/spec/spec_helper.rb +29 -29
- data/spec/support/helper_methods.rb +9 -1
- data/spec/support/isolate_load_path_mutation.rb +6 -0
- data/spec/support/sandboxed_mock_space.rb +100 -0
- metadata +28 -13
- data/features/filtering/run_all_when_everything_filtered.feature +0 -46
- data/lib/rspec/core/load_path.rb +0 -3
@@ -1,8 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
5
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang='en'>
|
6
3
|
<head>
|
7
4
|
<title>RSpec results</title>
|
8
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
@@ -269,14 +266,14 @@ a {
|
|
269
266
|
</div>
|
270
267
|
|
271
268
|
<div id="display-filters">
|
272
|
-
<input id="passed_checkbox"
|
273
|
-
<input id="failed_checkbox"
|
274
|
-
<input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked onchange="apply_filters()" value="3"
|
269
|
+
<input id="passed_checkbox" name="passed_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="1" /> <label for="passed_checkbox">Passed</label>
|
270
|
+
<input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="2" /> <label for="failed_checkbox">Failed</label>
|
271
|
+
<input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="3" /> <label for="pending_checkbox">Pending</label>
|
275
272
|
</div>
|
276
273
|
|
277
274
|
<div id="summary">
|
278
|
-
<p id="totals"
|
279
|
-
<p id="duration"
|
275
|
+
<p id="totals"> </p>
|
276
|
+
<p id="duration"> </p>
|
280
277
|
</div>
|
281
278
|
</div>
|
282
279
|
|
@@ -319,13 +316,17 @@ a {
|
|
319
316
|
<span class="duration">n.nnnns</span>
|
320
317
|
<div class="failure" id="failure_1">
|
321
318
|
<div class="message"><pre>RSpec::Core::Pending::PendingExampleFixedError</pre></div>
|
322
|
-
<div class="backtrace"><pre
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
319
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/resources/formatter_specs.rb&amp;line=18">./spec/rspec/core/resources/formatter_specs.rb:18</a> :in `block (3 levels) in &lt;top (required)&gt;'
|
320
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=33">./spec/support/sandboxed_mock_space.rb:33</a> :in `block in run'
|
321
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=72">./spec/support/sandboxed_mock_space.rb:72</a> :in `sandboxed'
|
322
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=32">./spec/support/sandboxed_mock_space.rb:32</a> :in `run'
|
323
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=37">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:37</a> :in `block (2 levels) in &lt;module:Formatters&gt;'
|
324
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (5 levels) in &lt;module:Formatters&gt;'
|
325
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `open'
|
326
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (4 levels) in &lt;module:Formatters&gt;'
|
327
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `chdir'
|
328
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `block (3 levels) in &lt;module:Formatters&gt;'
|
329
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=38">./spec/support/sandboxed_mock_space.rb:38</a> :in `sandboxed'</pre></div>
|
329
330
|
<pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">"</span><span class="string">with content that would pass</span><span class="punct">"</span> <span class="keyword">do</span>
|
330
331
|
<span class="linenum">17</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
331
332
|
<span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
|
@@ -358,13 +359,17 @@ expected: 2
|
|
358
359
|
|
359
360
|
(compared using ==)
|
360
361
|
</pre></div>
|
361
|
-
<div class="backtrace"><pre
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
362
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/resources/formatter_specs.rb&amp;line=33">./spec/rspec/core/resources/formatter_specs.rb:33</a> :in `block (2 levels) in &lt;top (required)&gt;'
|
363
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=33">./spec/support/sandboxed_mock_space.rb:33</a> :in `block in run'
|
364
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=72">./spec/support/sandboxed_mock_space.rb:72</a> :in `sandboxed'
|
365
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=32">./spec/support/sandboxed_mock_space.rb:32</a> :in `run'
|
366
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=37">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:37</a> :in `block (2 levels) in &lt;module:Formatters&gt;'
|
367
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (5 levels) in &lt;module:Formatters&gt;'
|
368
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `open'
|
369
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (4 levels) in &lt;module:Formatters&gt;'
|
370
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `chdir'
|
371
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `block (3 levels) in &lt;module:Formatters&gt;'
|
372
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=38">./spec/support/sandboxed_mock_space.rb:38</a> :in `sandboxed'</pre></div>
|
368
373
|
<pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">"</span><span class="string">failing spec</span><span class="punct">"</span> <span class="keyword">do</span>
|
369
374
|
<span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
370
375
|
<span class="offending"><span class="linenum">33</span> <span class="ident">expect</span><span class="punct">(</span><span class="number">1</span><span class="punct">).</span><span class="ident">to</span> <span class="ident">eq</span><span class="punct">(</span><span class="number">2</span><span class="punct">)</span></span>
|
@@ -385,14 +390,18 @@ expected: 2
|
|
385
390
|
<span class="duration">n.nnnns</span>
|
386
391
|
<div class="failure" id="failure_3">
|
387
392
|
<div class="message"><pre>foo</pre></div>
|
388
|
-
<div class="backtrace"><pre>(erb):1:in `<main>'
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
393
|
+
<div class="backtrace"><pre>(erb):1:in `&lt;main&gt;'
|
394
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/resources/formatter_specs.rb&amp;line=41">./spec/rspec/core/resources/formatter_specs.rb:41</a> :in `block (2 levels) in &lt;top (required)&gt;'
|
395
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=33">./spec/support/sandboxed_mock_space.rb:33</a> :in `block in run'
|
396
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=72">./spec/support/sandboxed_mock_space.rb:72</a> :in `sandboxed'
|
397
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=32">./spec/support/sandboxed_mock_space.rb:32</a> :in `run'
|
398
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=37">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:37</a> :in `block (2 levels) in &lt;module:Formatters&gt;'
|
399
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (5 levels) in &lt;module:Formatters&gt;'
|
400
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `open'
|
401
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (4 levels) in &lt;module:Formatters&gt;'
|
402
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `chdir'
|
403
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `block (3 levels) in &lt;module:Formatters&gt;'
|
404
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=38">./spec/support/sandboxed_mock_space.rb:38</a> :in `sandboxed'</pre></div>
|
396
405
|
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
397
406
|
</div>
|
398
407
|
</dd>
|
@@ -402,7 +411,7 @@ expected: 2
|
|
402
411
|
<span class="duration">n.nnnns</span>
|
403
412
|
<div class="failure" id="failure_4">
|
404
413
|
<div class="message"><pre>Exception</pre></div>
|
405
|
-
<div class="backtrace"><pre
|
414
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///foo.html.erb&amp;line=1">/foo.html.erb:1</a> :in `&lt;main&gt;': foo (RuntimeError)</pre></div>
|
406
415
|
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
|
407
416
|
</div>
|
408
417
|
</dd>
|
@@ -1,8 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
5
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang='en'>
|
6
3
|
<head>
|
7
4
|
<title>RSpec results</title>
|
8
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
@@ -269,14 +266,14 @@ a {
|
|
269
266
|
</div>
|
270
267
|
|
271
268
|
<div id="display-filters">
|
272
|
-
<input id="passed_checkbox"
|
273
|
-
<input id="failed_checkbox"
|
274
|
-
<input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked onchange="apply_filters()" value="3"
|
269
|
+
<input id="passed_checkbox" name="passed_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="1" /> <label for="passed_checkbox">Passed</label>
|
270
|
+
<input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="2" /> <label for="failed_checkbox">Failed</label>
|
271
|
+
<input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="3" /> <label for="pending_checkbox">Pending</label>
|
275
272
|
</div>
|
276
273
|
|
277
274
|
<div id="summary">
|
278
|
-
<p id="totals"
|
279
|
-
<p id="duration"
|
275
|
+
<p id="totals"> </p>
|
276
|
+
<p id="duration"> </p>
|
280
277
|
</div>
|
281
278
|
</div>
|
282
279
|
|
@@ -319,13 +316,17 @@ a {
|
|
319
316
|
<span class="duration">n.nnnns</span>
|
320
317
|
<div class="failure" id="failure_1">
|
321
318
|
<div class="message"><pre>RSpec::Core::Pending::PendingExampleFixedError</pre></div>
|
322
|
-
<div class="backtrace"><pre
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
319
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/resources/formatter_specs.rb&amp;line=18">./spec/rspec/core/resources/formatter_specs.rb:18</a> :in `block (3 levels) in &lt;top (required)&gt;&#39;
|
320
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=33">./spec/support/sandboxed_mock_space.rb:33</a> :in `block in run&#39;
|
321
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=72">./spec/support/sandboxed_mock_space.rb:72</a> :in `sandboxed&#39;
|
322
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=32">./spec/support/sandboxed_mock_space.rb:32</a> :in `run&#39;
|
323
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=37">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:37</a> :in `block (2 levels) in &lt;module:Formatters&gt;&#39;
|
324
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (5 levels) in &lt;module:Formatters&gt;&#39;
|
325
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `open&#39;
|
326
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (4 levels) in &lt;module:Formatters&gt;&#39;
|
327
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `chdir&#39;
|
328
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `block (3 levels) in &lt;module:Formatters&gt;&#39;
|
329
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=38">./spec/support/sandboxed_mock_space.rb:38</a> :in `sandboxed&#39;</pre></div>
|
329
330
|
<pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">"</span><span class="string">with content that would pass</span><span class="punct">"</span> <span class="keyword">do</span>
|
330
331
|
<span class="linenum">17</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
331
332
|
<span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
|
@@ -358,13 +359,17 @@ expected: 2
|
|
358
359
|
|
359
360
|
(compared using ==)
|
360
361
|
</pre></div>
|
361
|
-
<div class="backtrace"><pre
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
362
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/resources/formatter_specs.rb&amp;line=33">./spec/rspec/core/resources/formatter_specs.rb:33</a> :in `block (2 levels) in &lt;top (required)&gt;&#39;
|
363
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=33">./spec/support/sandboxed_mock_space.rb:33</a> :in `block in run&#39;
|
364
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=72">./spec/support/sandboxed_mock_space.rb:72</a> :in `sandboxed&#39;
|
365
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=32">./spec/support/sandboxed_mock_space.rb:32</a> :in `run&#39;
|
366
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=37">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:37</a> :in `block (2 levels) in &lt;module:Formatters&gt;&#39;
|
367
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (5 levels) in &lt;module:Formatters&gt;&#39;
|
368
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `open&#39;
|
369
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (4 levels) in &lt;module:Formatters&gt;&#39;
|
370
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `chdir&#39;
|
371
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `block (3 levels) in &lt;module:Formatters&gt;&#39;
|
372
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=38">./spec/support/sandboxed_mock_space.rb:38</a> :in `sandboxed&#39;</pre></div>
|
368
373
|
<pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">"</span><span class="string">failing spec</span><span class="punct">"</span> <span class="keyword">do</span>
|
369
374
|
<span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
370
375
|
<span class="offending"><span class="linenum">33</span> <span class="ident">expect</span><span class="punct">(</span><span class="number">1</span><span class="punct">).</span><span class="ident">to</span> <span class="ident">eq</span><span class="punct">(</span><span class="number">2</span><span class="punct">)</span></span>
|
@@ -385,14 +390,18 @@ expected: 2
|
|
385
390
|
<span class="duration">n.nnnns</span>
|
386
391
|
<div class="failure" id="failure_3">
|
387
392
|
<div class="message"><pre>foo</pre></div>
|
388
|
-
<div class="backtrace"><pre>(erb):1:in `<main>
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
393
|
+
<div class="backtrace"><pre>(erb):1:in `&lt;main&gt;&#39;
|
394
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/resources/formatter_specs.rb&amp;line=41">./spec/rspec/core/resources/formatter_specs.rb:41</a> :in `block (2 levels) in &lt;top (required)&gt;&#39;
|
395
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=33">./spec/support/sandboxed_mock_space.rb:33</a> :in `block in run&#39;
|
396
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=72">./spec/support/sandboxed_mock_space.rb:72</a> :in `sandboxed&#39;
|
397
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=32">./spec/support/sandboxed_mock_space.rb:32</a> :in `run&#39;
|
398
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=37">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:37</a> :in `block (2 levels) in &lt;module:Formatters&gt;&#39;
|
399
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (5 levels) in &lt;module:Formatters&gt;&#39;
|
400
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `open&#39;
|
401
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=59">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:59</a> :in `block (4 levels) in &lt;module:Formatters&gt;&#39;
|
402
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `chdir&#39;
|
403
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&amp;line=58">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:58</a> :in `block (3 levels) in &lt;module:Formatters&gt;&#39;
|
404
|
+
<a href="txmt://open?url=file:///Users/jon/Code/Scratch/rspec-core/spec/support/sandboxed_mock_space.rb&amp;line=38">./spec/support/sandboxed_mock_space.rb:38</a> :in `sandboxed&#39;</pre></div>
|
396
405
|
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
397
406
|
</div>
|
398
407
|
</dd>
|
@@ -402,7 +411,7 @@ expected: 2
|
|
402
411
|
<span class="duration">n.nnnns</span>
|
403
412
|
<div class="failure" id="failure_4">
|
404
413
|
<div class="message"><pre>Exception</pre></div>
|
405
|
-
<div class="backtrace"><pre
|
414
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///foo.html.erb&amp;line=1">/foo.html.erb:1</a> :in `&lt;main&gt;&#39;: foo (RuntimeError)</pre></div>
|
406
415
|
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
|
407
416
|
</div>
|
408
417
|
</dd>
|
@@ -33,6 +33,7 @@ module RSpec
|
|
33
33
|
out.set_encoding("utf-8") if out.respond_to?(:set_encoding)
|
34
34
|
|
35
35
|
command_line = RSpec::Core::CommandLine.new(options)
|
36
|
+
command_line.instance_variable_get("@configuration").backtrace_cleaner.inclusion_patterns = []
|
36
37
|
command_line.run(err, out)
|
37
38
|
out.string.gsub(/\d+\.\d+(s| seconds)/, "n.nnnn\\1")
|
38
39
|
end
|
@@ -254,6 +254,21 @@ module RSpec::Core
|
|
254
254
|
expect(subject_value).to eq(:inner)
|
255
255
|
end
|
256
256
|
|
257
|
+
it 'is not overriden when an inner group defines a new method with the same name' do
|
258
|
+
subject_value = nil
|
259
|
+
|
260
|
+
ExampleGroup.describe do
|
261
|
+
subject(:named) { :outer_subject }
|
262
|
+
|
263
|
+
describe "inner" do
|
264
|
+
let(:named) { :inner_named }
|
265
|
+
example { subject_value = self.subject }
|
266
|
+
end
|
267
|
+
end.run
|
268
|
+
|
269
|
+
expect(subject_value).to be(:outer_subject)
|
270
|
+
end
|
271
|
+
|
257
272
|
context 'when `super` is used' do
|
258
273
|
def should_raise_not_supported_error(&block)
|
259
274
|
ex = nil
|
@@ -508,6 +523,12 @@ module RSpec::Core
|
|
508
523
|
expect("RegexWithCapture1".match(regex_with_capture)[1]).to eq('1')
|
509
524
|
end
|
510
525
|
|
526
|
+
it 'raises a useful error when called without a block' do
|
527
|
+
expect do
|
528
|
+
ExampleGroup.describe { let(:list) }
|
529
|
+
end.to raise_error(/#let or #subject called without a block/)
|
530
|
+
end
|
531
|
+
|
511
532
|
let(:a_value) { "a string" }
|
512
533
|
|
513
534
|
context 'when overriding let in a nested context' do
|
@@ -638,5 +659,12 @@ module RSpec::Core
|
|
638
659
|
end
|
639
660
|
end
|
640
661
|
end
|
662
|
+
|
663
|
+
describe 'Module#define_method' do
|
664
|
+
it 'is still a private method' do
|
665
|
+
a_module = Module.new
|
666
|
+
expect { a_module.define_method(:name) { "implementation" } }.to raise_error NoMethodError
|
667
|
+
end
|
668
|
+
end
|
641
669
|
end
|
642
670
|
|
@@ -207,9 +207,14 @@ module RSpec
|
|
207
207
|
let(:mfe) { metadata.for_example("example description", {:arbitrary => :options}) }
|
208
208
|
let(:line_number) { __LINE__ - 1 }
|
209
209
|
|
210
|
-
it "stores the description" do
|
211
|
-
expect(mfe.fetch(:
|
212
|
-
expect(mfe[:
|
210
|
+
it "stores the description args" do
|
211
|
+
expect(mfe.fetch(:description_args)).to eq ["example description"]
|
212
|
+
expect(mfe[:description_args]).to eq ["example description"]
|
213
|
+
end
|
214
|
+
|
215
|
+
it "ignores nil description args" do
|
216
|
+
expect(metadata.for_example(nil, {}).fetch(:description_args)).to eq []
|
217
|
+
expect(metadata.for_example(nil, {})[:description_args]).to eq []
|
213
218
|
end
|
214
219
|
|
215
220
|
it "stores the full_description (group description + example description)" do
|
@@ -204,5 +204,13 @@ module RSpec::Core
|
|
204
204
|
expect(options[:order]).to eq("rand:123")
|
205
205
|
end
|
206
206
|
end
|
207
|
+
|
208
|
+
describe '--warning' do
|
209
|
+
it 'enables warnings' do
|
210
|
+
options = Parser.parse!(%w[--warnings])
|
211
|
+
expect(options[:warnings]).to eq true
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
207
215
|
end
|
208
216
|
end
|
@@ -21,7 +21,7 @@ module RSpec::Core
|
|
21
21
|
|
22
22
|
it "generates a .rspec" do
|
23
23
|
command_line_config.run
|
24
|
-
expect(File.read('.rspec')).to match
|
24
|
+
expect(File.read('.rspec')).to match(/--color\n--format progress/m)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -47,7 +47,7 @@ module RSpec::Core
|
|
47
47
|
|
48
48
|
it "generates a spec/spec_helper.rb" do
|
49
49
|
command_line_config.run
|
50
|
-
expect(File.read('spec/spec_helper.rb')).to match
|
50
|
+
expect(File.read('spec/spec_helper.rb')).to match(/RSpec\.configure do \|config\|/m)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -40,14 +40,14 @@ module RSpec::Core
|
|
40
40
|
|
41
41
|
context "default" do
|
42
42
|
it "renders rspec" do
|
43
|
-
expect(spec_command).to match
|
43
|
+
expect(spec_command).to match(/^#{ruby} -S rspec/)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
47
|
context "with rcov" do
|
48
48
|
it "renders rcov" do
|
49
49
|
with_rcov do
|
50
|
-
expect(spec_command).to match
|
50
|
+
expect(spec_command).to match(/^#{ruby} -S rcov/)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
@@ -55,7 +55,7 @@ module RSpec::Core
|
|
55
55
|
context "with ruby options" do
|
56
56
|
it "renders them before -S" do
|
57
57
|
task.ruby_opts = "-w"
|
58
|
-
expect(spec_command).to match
|
58
|
+
expect(spec_command).to match(/^#{ruby} -w -S rspec/)
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -63,7 +63,7 @@ module RSpec::Core
|
|
63
63
|
context "with rcov=false (default)" do
|
64
64
|
it "does not add the rcov options to the command" do
|
65
65
|
task.rcov_opts = '--exclude "mocks"'
|
66
|
-
expect(spec_command).not_to match
|
66
|
+
expect(spec_command).not_to match(/--exclude "mocks"/)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -71,13 +71,13 @@ module RSpec::Core
|
|
71
71
|
it "renders them after rcov" do
|
72
72
|
task.rcov = true
|
73
73
|
task.rcov_opts = '--exclude "mocks"'
|
74
|
-
expect(spec_command).to match
|
74
|
+
expect(spec_command).to match(/rcov.*--exclude "mocks"/)
|
75
75
|
end
|
76
76
|
|
77
77
|
it "ensures that -Ispec:lib is in the resulting command" do
|
78
78
|
task.rcov = true
|
79
79
|
task.rcov_opts = '--exclude "mocks"'
|
80
|
-
expect(spec_command).to match
|
80
|
+
expect(spec_command).to match(/rcov.*-Ispec:lib/)
|
81
81
|
end
|
82
82
|
end
|
83
83
|
end
|
@@ -88,13 +88,13 @@ module RSpec::Core
|
|
88
88
|
task.stub(:files_to_run) { "this.rb that.rb" }
|
89
89
|
task.rcov = true
|
90
90
|
task.rspec_opts = "-Ifoo"
|
91
|
-
expect(spec_command).to match
|
91
|
+
expect(spec_command).to match(/this.rb that.rb -- -Ifoo/)
|
92
92
|
end
|
93
93
|
end
|
94
94
|
context "with rcov=false (default)" do
|
95
95
|
it "adds the rspec_opts" do
|
96
96
|
task.rspec_opts = "-Ifoo"
|
97
|
-
expect(spec_command).to match
|
97
|
+
expect(spec_command).to match(/rspec.*-Ifoo/)
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
@@ -3,21 +3,25 @@ require "spec_helper"
|
|
3
3
|
module RSpec::Core
|
4
4
|
describe Reporter do
|
5
5
|
describe "abort" do
|
6
|
-
let(:formatter) { double("formatter")
|
6
|
+
let(:formatter) { double("formatter") }
|
7
7
|
let(:example) { double("example") }
|
8
8
|
let(:reporter) { Reporter.new(formatter) }
|
9
9
|
|
10
10
|
%w[start_dump dump_pending dump_failures dump_summary close].each do |message|
|
11
|
-
it "sends #{message} to the formatter(s)" do
|
12
|
-
formatter.should_receive(message)
|
11
|
+
it "sends #{message} to the formatter(s) that respond to message" do
|
12
|
+
formatter.as_null_object.should_receive(message)
|
13
13
|
reporter.abort(nil)
|
14
14
|
end
|
15
|
+
|
16
|
+
it "doesnt notify formatters about messages they dont implement" do
|
17
|
+
expect { reporter.abort(nil) }.to_not raise_error
|
18
|
+
end
|
15
19
|
end
|
16
20
|
end
|
17
21
|
|
18
22
|
context "given one formatter" do
|
19
23
|
it "passes messages to that formatter" do
|
20
|
-
formatter = double("formatter")
|
24
|
+
formatter = double("formatter", :example_started => nil)
|
21
25
|
example = double("example")
|
22
26
|
reporter = Reporter.new(formatter)
|
23
27
|
|
@@ -69,7 +73,7 @@ module RSpec::Core
|
|
69
73
|
|
70
74
|
context "given multiple formatters" do
|
71
75
|
it "passes messages to all formatters" do
|
72
|
-
formatters =
|
76
|
+
formatters = (1..2).map { double("formatter", :example_started => nil) }
|
73
77
|
example = double("example")
|
74
78
|
reporter = Reporter.new(*formatters)
|
75
79
|
|
@@ -100,12 +104,28 @@ module RSpec::Core
|
|
100
104
|
end
|
101
105
|
end
|
102
106
|
|
107
|
+
describe "#register_listener" do
|
108
|
+
let(:reporter) { Reporter.new }
|
109
|
+
let(:listener) { double("listener", :start => nil) }
|
110
|
+
|
111
|
+
before { reporter.register_listener listener, :start }
|
112
|
+
|
113
|
+
it 'will register the listener to specified notifications' do
|
114
|
+
expect(reporter.registered_listeners :start).to eq [listener]
|
115
|
+
end
|
116
|
+
|
117
|
+
it 'will send notifications when a subscribed event is triggered' do
|
118
|
+
listener.should_receive(:start).with(42)
|
119
|
+
reporter.start 42
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
103
123
|
describe "timing" do
|
104
124
|
it "uses RSpec::Core::Time as to not be affected by changes to time in examples" do
|
105
125
|
formatter = double(:formatter).as_null_object
|
106
126
|
reporter = Reporter.new formatter
|
107
127
|
reporter.start 1
|
108
|
-
Time.stub(:now => Time.utc(2012, 10, 1))
|
128
|
+
Time.stub(:now => ::Time.utc(2012, 10, 1))
|
109
129
|
|
110
130
|
duration = nil
|
111
131
|
formatter.stub(:dump_summary) do |dur, _, _, _|
|