rspec-core 2.13.1 → 2.14.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. data/Changelog.md +80 -0
  2. data/exe/autospec +1 -1
  3. data/features/README.md +2 -2
  4. data/features/command_line/format_option.feature +8 -14
  5. data/features/command_line/line_number_appended_to_path.feature +4 -4
  6. data/features/command_line/line_number_option.feature +1 -1
  7. data/features/command_line/rake_task.feature +2 -2
  8. data/features/command_line/require_option.feature +43 -0
  9. data/features/command_line/ruby.feature +2 -2
  10. data/features/command_line/warnings_option.feature +27 -0
  11. data/features/configuration/backtrace_clean_patterns.feature +2 -2
  12. data/features/configuration/deprecation_stream.feature +58 -0
  13. data/features/configuration/pattern.feature +8 -0
  14. data/features/configuration/profile.feature +59 -2
  15. data/features/configuration/read_options_from_file.feature +8 -5
  16. data/features/configuration/run_all_when_everything_filtered.feature +20 -4
  17. data/features/example_groups/basic_structure.feature +1 -1
  18. data/features/example_groups/shared_context.feature +1 -1
  19. data/features/example_groups/shared_examples.feature +72 -0
  20. data/features/filtering/exclusion_filters.feature +10 -10
  21. data/features/formatters/custom_formatter.feature +1 -1
  22. data/features/hooks/before_and_after_hooks.feature +19 -19
  23. data/features/mock_framework_integration/use_any_framework.feature +6 -6
  24. data/features/mock_framework_integration/use_flexmock.feature +3 -3
  25. data/features/mock_framework_integration/use_mocha.feature +3 -3
  26. data/features/mock_framework_integration/use_rr.feature +3 -3
  27. data/features/mock_framework_integration/use_rspec.feature +3 -3
  28. data/features/subject/implicit_subject.feature +1 -1
  29. data/lib/rspec/core.rb +20 -3
  30. data/lib/rspec/core/backtrace_cleaner.rb +46 -0
  31. data/lib/rspec/core/backward_compatibility.rb +3 -13
  32. data/lib/rspec/core/configuration.rb +136 -49
  33. data/lib/rspec/core/configuration_options.rb +19 -8
  34. data/lib/rspec/core/deprecation.rb +18 -30
  35. data/lib/rspec/core/example.rb +3 -3
  36. data/lib/rspec/core/example_group.rb +4 -3
  37. data/lib/rspec/core/extensions/kernel.rb +1 -1
  38. data/lib/rspec/core/filter_manager.rb +1 -1
  39. data/lib/rspec/core/formatters.rb +1 -1
  40. data/lib/rspec/core/formatters/base_formatter.rb +10 -1
  41. data/lib/rspec/core/formatters/base_text_formatter.rb +47 -10
  42. data/lib/rspec/core/formatters/deprecation_formatter.rb +35 -0
  43. data/lib/rspec/core/formatters/helpers.rb +12 -5
  44. data/lib/rspec/core/formatters/html_formatter.rb +7 -6
  45. data/lib/rspec/core/formatters/html_printer.rb +13 -12
  46. data/lib/rspec/core/formatters/json_formatter.rb +1 -2
  47. data/lib/rspec/core/formatters/text_mate_formatter.rb +1 -1
  48. data/lib/rspec/core/hooks.rb +9 -0
  49. data/lib/rspec/core/memoized_helpers.rb +19 -8
  50. data/lib/rspec/core/metadata.rb +3 -1
  51. data/lib/rspec/core/mocking/with_flexmock.rb +1 -1
  52. data/lib/rspec/core/mocking/with_rr.rb +1 -1
  53. data/lib/rspec/core/option_parser.rb +6 -2
  54. data/lib/rspec/core/pending.rb +1 -0
  55. data/lib/rspec/core/rake_task.rb +11 -19
  56. data/lib/rspec/core/reporter.rb +33 -4
  57. data/lib/rspec/core/shared_example_group.rb +56 -16
  58. data/lib/rspec/core/shared_example_group/collection.rb +42 -0
  59. data/lib/rspec/core/version.rb +1 -1
  60. data/lib/rspec/core/world.rb +2 -3
  61. data/spec/autotest/rspec_spec.rb +2 -2
  62. data/spec/rspec/core/backtrace_cleaner_spec.rb +68 -0
  63. data/spec/rspec/core/configuration_options_spec.rb +15 -4
  64. data/spec/rspec/core/configuration_spec.rb +202 -19
  65. data/spec/rspec/core/deprecation_spec.rb +41 -0
  66. data/spec/rspec/core/deprecations_spec.rb +10 -12
  67. data/spec/rspec/core/drb_command_line_spec.rb +1 -1
  68. data/spec/rspec/core/example_group_spec.rb +37 -36
  69. data/spec/rspec/core/example_spec.rb +25 -4
  70. data/spec/rspec/core/filter_manager_spec.rb +6 -6
  71. data/spec/rspec/core/formatters/base_text_formatter_spec.rb +101 -36
  72. data/spec/rspec/core/formatters/deprecation_formatter_spec.rb +78 -0
  73. data/spec/rspec/core/formatters/documentation_formatter_spec.rb +2 -2
  74. data/spec/rspec/core/formatters/helpers_spec.rb +23 -7
  75. data/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +20 -14
  76. data/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +69 -169
  77. data/spec/rspec/core/formatters/html_formatted-1.8.7.html +28 -23
  78. data/spec/rspec/core/formatters/html_formatted-1.9.2.html +42 -33
  79. data/spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html +17 -23
  80. data/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +57 -157
  81. data/spec/rspec/core/formatters/html_formatted-1.9.3.html +42 -33
  82. data/spec/rspec/core/formatters/html_formatted-2.0.0.html +42 -33
  83. data/spec/rspec/core/formatters/html_formatter_spec.rb +1 -0
  84. data/spec/rspec/core/formatters/progress_formatter_spec.rb +3 -3
  85. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +11 -14
  86. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html +103 -203
  87. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +30 -25
  88. data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +42 -33
  89. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html +20 -14
  90. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html +103 -203
  91. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +42 -33
  92. data/spec/rspec/core/formatters/text_mate_formatted-2.0.0.html +42 -33
  93. data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +1 -0
  94. data/spec/rspec/core/memoized_helpers_spec.rb +28 -0
  95. data/spec/rspec/core/metadata_spec.rb +8 -3
  96. data/spec/rspec/core/option_parser_spec.rb +8 -0
  97. data/spec/rspec/core/project_initializer_spec.rb +2 -2
  98. data/spec/rspec/core/rake_task_spec.rb +8 -8
  99. data/spec/rspec/core/reporter_spec.rb +26 -6
  100. data/spec/rspec/core/resources/formatter_specs.rb +3 -3
  101. data/spec/rspec/core/shared_context_spec.rb +20 -0
  102. data/spec/rspec/core/shared_example_group/collection_spec.rb +70 -0
  103. data/spec/rspec/core/shared_example_group_spec.rb +4 -4
  104. data/spec/rspec/core/world_spec.rb +1 -3
  105. data/spec/rspec/core_spec.rb +20 -0
  106. data/spec/spec_helper.rb +29 -29
  107. data/spec/support/helper_methods.rb +9 -1
  108. data/spec/support/isolate_load_path_mutation.rb +6 -0
  109. data/spec/support/sandboxed_mock_space.rb +100 -0
  110. metadata +28 -13
  111. data/features/filtering/run_all_when_everything_filtered.feature +0 -46
  112. data/lib/rspec/core/load_path.rb +0 -3
@@ -0,0 +1,78 @@
1
+ require 'spec_helper'
2
+ require 'rspec/core/formatters/deprecation_formatter'
3
+ require 'tempfile'
4
+
5
+ module RSpec::Core::Formatters
6
+ describe DeprecationFormatter do
7
+ describe "#deprecation" do
8
+ let(:deprecation_stream) { StringIO.new }
9
+ let(:summary_stream) { StringIO.new }
10
+ let(:formatter) { DeprecationFormatter.new deprecation_stream, summary_stream }
11
+
12
+ it "includes the method" do
13
+ formatter.deprecation(:deprecated => "i_am_deprecated")
14
+ deprecation_stream.rewind
15
+ expect(deprecation_stream.read).to match(/i_am_deprecated is deprecated/)
16
+ end
17
+
18
+ it "includes the replacement" do
19
+ formatter.deprecation(:replacement => "use_me")
20
+ deprecation_stream.rewind
21
+ expect(deprecation_stream.read).to match(/Use use_me instead/)
22
+ end
23
+
24
+ it "includes the call site if provided" do
25
+ formatter.deprecation(:call_site => "somewhere")
26
+ deprecation_stream.rewind
27
+ expect(deprecation_stream.read).to match(/Called from somewhere/)
28
+ end
29
+
30
+ it "prints a message if provided, ignoring other data" do
31
+ formatter.deprecation(:message => "this message", :deprecated => "x", :replacement => "y", :call_site => "z")
32
+ deprecation_stream.rewind
33
+ expect(deprecation_stream.read).to eq "this message"
34
+ end
35
+ end
36
+
37
+ describe "#deprecation_summary" do
38
+ it "is printed when deprecations go to a file" do
39
+ file = File.open("#{Dir.tmpdir}/deprecation_summary_example_output", "w")
40
+ summary_stream = StringIO.new
41
+ formatter = DeprecationFormatter.new file, summary_stream
42
+ formatter.deprecation(:deprecated => 'i_am_deprecated')
43
+ formatter.deprecation_summary
44
+ summary_stream.rewind
45
+ expect(summary_stream.read).to match(/1 deprecation logged to .*deprecation_summary_example_output/)
46
+ end
47
+
48
+ it "pluralizes for more than one deprecation" do
49
+ file = File.open("#{Dir.tmpdir}/deprecation_summary_example_output", "w")
50
+ summary_stream = StringIO.new
51
+ formatter = DeprecationFormatter.new file, summary_stream
52
+ formatter.deprecation(:deprecated => 'i_am_deprecated')
53
+ formatter.deprecation(:deprecated => 'i_am_deprecated_also')
54
+ formatter.deprecation_summary
55
+ summary_stream.rewind
56
+ expect(summary_stream.read).to match(/2 deprecations/)
57
+ end
58
+
59
+ it "is not printed when there are no deprecations" do
60
+ file = File.open("#{Dir.tmpdir}/deprecation_summary_example_output", "w")
61
+ summary_stream = StringIO.new
62
+ formatter = DeprecationFormatter.new file, summary_stream
63
+ formatter.deprecation_summary
64
+ summary_stream.rewind
65
+ expect(summary_stream.read).to eq ""
66
+ end
67
+
68
+ it "is not printed when deprecations go to an IO instance" do
69
+ summary_stream = StringIO.new
70
+ formatter = DeprecationFormatter.new StringIO.new, summary_stream
71
+ formatter.deprecation(:deprecated => 'i_am_deprecated')
72
+ formatter.deprecation_summary
73
+ summary_stream.rewind
74
+ expect(summary_stream.read).to eq ""
75
+ end
76
+ end
77
+ end
78
+ end
@@ -23,8 +23,8 @@ module RSpec::Core::Formatters
23
23
 
24
24
  examples.each {|e| formatter.example_failed(e) }
25
25
 
26
- expect(output.string).to match /first example \(FAILED - 1\)/m
27
- expect(output.string).to match /second example \(FAILED - 2\)/m
26
+ expect(output.string).to match(/first example \(FAILED - 1\)/m)
27
+ expect(output.string).to match(/second example \(FAILED - 2\)/m)
28
28
  end
29
29
 
30
30
  it "represents nested group using hierarchy tree" do
@@ -5,21 +5,33 @@ describe RSpec::Core::Formatters::Helpers do
5
5
  let(:helper) { Object.new.extend(RSpec::Core::Formatters::Helpers) }
6
6
 
7
7
  describe "format duration" do
8
+ context '< 1' do
9
+ it "returns '0.xxxxx seconds' formatted string" do
10
+ expect(helper.format_duration(0.123456)).to eq("0.12346 seconds")
11
+ end
12
+ end
13
+
14
+ context '> 1 and < 60' do
15
+ it "returns 'xx.xx seconds' formatted string" do
16
+ expect(helper.format_duration(45.51)).to eq("45.51 seconds")
17
+ end
18
+ end
19
+
8
20
  context '> 60 and < 120' do
9
- it "returns 'x minute xx seconds' formatted string" do
21
+ it "returns 'x minute xx.xx seconds' formatted string" do
10
22
  expect(helper.format_duration(70.14)).to eq("1 minute 10.14 seconds")
11
23
  end
12
24
  end
13
25
 
14
- context '> 120' do
15
- it "returns 'x minutes xx seconds' formatted string" do
16
- expect(helper.format_duration(135.14)).to eq("2 minutes 15.14 seconds")
26
+ context '> 120 and < 300' do
27
+ it "returns 'x minutes xx.x seconds' formatted string" do
28
+ expect(helper.format_duration(135.14)).to eq("2 minutes 15.1 seconds")
17
29
  end
18
30
  end
19
31
 
20
- context '< 60' do
21
- it "returns 'xx seconds' formatted string" do
22
- expect(helper.format_duration(45.5)).to eq("45.5 seconds")
32
+ context '> 300' do
33
+ it "returns 'x minutes xx seconds' formatted string" do
34
+ expect(helper.format_duration(335.14)).to eq("5 minutes 35 seconds")
23
35
  end
24
36
  end
25
37
 
@@ -37,6 +49,10 @@ describe RSpec::Core::Formatters::Helpers do
37
49
  end
38
50
 
39
51
  describe "format seconds" do
52
+ it "uses passed in precision if specified unless result is 0" do
53
+ expect(helper.format_seconds(0.01234, 2)).to eq("0.01")
54
+ end
55
+
40
56
  context "sub second times" do
41
57
  it "returns 5 digits of precision" do
42
58
  expect(helper.format_seconds(0.000006)).to eq("0.00001")
@@ -1,8 +1,5 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html
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" name="passed_checkbox" type="checkbox" checked onchange="apply_filters()" value="1"> <label for="passed_checkbox">Passed</label>
273
- <input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked onchange="apply_filters()" value="2"> <label for="failed_checkbox">Failed</label>
274
- <input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked onchange="apply_filters()" value="3"> <label for="pending_checkbox">Pending</label>
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">&nbsp;</p>
279
- <p id="duration">&nbsp;</p>
275
+ <p id="totals">&#160;</p>
276
+ <p id="duration">&#160;</p>
280
277
  </div>
281
278
  </div>
282
279
 
@@ -319,7 +316,10 @@ 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>./spec/rspec/core/resources/formatter_specs.rb:18:in `(root)'</pre></div>
319
+ <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:18:in `(root)'
320
+ ./spec/support/sandboxed_mock_space.rb:33:in `sandboxed'
321
+ ./spec/support/sandboxed_mock_space.rb:72:in `sandboxed'
322
+ ./spec/support/sandboxed_mock_space.rb:32:in `sandboxed'</pre></div>
323
323
  <pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">&quot;</span><span class="string">with content that would pass</span><span class="punct">&quot;</span> <span class="keyword">do</span>
324
324
  <span class="linenum">17</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">fails</span><span class="punct">&quot;</span> <span class="keyword">do</span>
325
325
  <span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
@@ -352,7 +352,10 @@ expected: 2
352
352
 
353
353
  (compared using ==)
354
354
  </pre></div>
355
- <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33:in `(root)'</pre></div>
355
+ <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33:in `(root)'
356
+ ./spec/support/sandboxed_mock_space.rb:33:in `sandboxed'
357
+ ./spec/support/sandboxed_mock_space.rb:72:in `sandboxed'
358
+ ./spec/support/sandboxed_mock_space.rb:32:in `sandboxed'</pre></div>
356
359
  <pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">&quot;</span><span class="string">failing spec</span><span class="punct">&quot;</span> <span class="keyword">do</span>
357
360
  <span class="linenum">32</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">fails</span><span class="punct">&quot;</span> <span class="keyword">do</span>
358
361
  <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>
@@ -374,7 +377,10 @@ expected: 2
374
377
  <div class="failure" id="failure_3">
375
378
  <div class="message"><pre>foo</pre></div>
376
379
  <div class="backtrace"><pre>(erb):1:in `result'
377
- ./spec/rspec/core/resources/formatter_specs.rb:41:in `(root)'</pre></div>
380
+ ./spec/rspec/core/resources/formatter_specs.rb:41:in `(root)'
381
+ ./spec/support/sandboxed_mock_space.rb:33:in `sandboxed'
382
+ ./spec/support/sandboxed_mock_space.rb:72:in `sandboxed'
383
+ ./spec/support/sandboxed_mock_space.rb:32:in `sandboxed'</pre></div>
378
384
  <pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
379
385
  </div>
380
386
  </dd>
@@ -384,7 +390,7 @@ expected: 2
384
390
  <span class="duration">n.nnnns</span>
385
391
  <div class="failure" id="failure_4">
386
392
  <div class="message"><pre>Exception</pre></div>
387
- <div class="backtrace"><pre>/foo.html.erb:1:in `<main>': foo (RuntimeError)</pre></div>
393
+ <div class="backtrace"><pre>/foo.html.erb:1:in `&lt;main&gt;': foo (RuntimeError)</pre></div>
388
394
  <pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
389
395
  </div>
390
396
  </dd>
@@ -1,8 +1,5 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html
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" name="passed_checkbox" type="checkbox" checked onchange="apply_filters()" value="1"> <label for="passed_checkbox">Passed</label>
273
- <input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked onchange="apply_filters()" value="2"> <label for="failed_checkbox">Failed</label>
274
- <input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked onchange="apply_filters()" value="3"> <label for="pending_checkbox">Pending</label>
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">&nbsp;</p>
279
- <p id="duration">&nbsp;</p>
275
+ <p id="totals">&#160;</p>
276
+ <p id="duration">&#160;</p>
280
277
  </div>
281
278
  </div>
282
279
 
@@ -319,73 +316,39 @@ 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>./lib/rspec/core/pending.rb:102:in `pending'
323
- ./spec/rspec/core/resources/formatter_specs.rb:18:in `__script__'
319
+ <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:18:in `__script__'
324
320
  kernel/common/eval18.rb:45:in `instance_eval'
325
- ./lib/rspec/core/example.rb:114:in `run'
326
- ./lib/rspec/core/example.rb:254:in `with_around_each_hooks'
327
- ./lib/rspec/core/example.rb:111:in `run'
328
- ./lib/rspec/core/example_group.rb:388:in `run_examples'
321
+ ./spec/support/sandboxed_mock_space.rb:33:in `run'
322
+ ./spec/support/sandboxed_mock_space.rb:72:in `sandboxed'
323
+ ./spec/support/sandboxed_mock_space.rb:32:in `run'
329
324
  kernel/bootstrap/array18.rb:18:in `map'
330
- ./lib/rspec/core/example_group.rb:384:in `run_examples'
331
- ./lib/rspec/core/example_group.rb:369:in `orig_run (run)'
332
- ./spec/spec_helper.rb:53:in `run'
333
- ./lib/rspec/core/example_group.rb:370:in `run'
334
325
  kernel/bootstrap/array18.rb:18:in `map'
335
- ./lib/rspec/core/example_group.rb:370:in `orig_run (run)'
336
- ./spec/spec_helper.rb:53:in `run'
337
- ./lib/rspec/core/command_line.rb:28:in `run'
338
326
  kernel/bootstrap/array18.rb:18:in `map'
339
- ./lib/rspec/core/command_line.rb:28:in `run'
340
- ./lib/rspec/core/reporter.rb:34:in `report'
341
- ./lib/rspec/core/command_line.rb:25:in `run'
342
- ./spec/rspec/core/formatters/html_formatter_spec.rb:36:in `Formatters'
343
- ./lib/rspec/core/let.rb:93:in `let'
344
- kernel/common/hash18.rb:196:in `fetch'
345
- ./lib/rspec/core/let.rb:93:in `let'
346
- ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
327
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:37:in `Formatters'
328
+ kernel/common/hash18.rb:195:in `fetch'
329
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:59:in `Formatters'
347
330
  kernel/common/io.rb:217:in `open'
348
- ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
331
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:59:in `Formatters'
349
332
  kernel/common/dir.rb:92:in `chdir'
350
- ./spec/rspec/core/formatters/html_formatter_spec.rb:57:in `Formatters'
333
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
351
334
  kernel/common/eval18.rb:45:in `instance_eval'
352
- ./lib/rspec/core/example.rb:114:in `run'
353
- ./lib/rspec/core/example.rb:179:in `run'
354
- ./spec/spec_helper.rb:102:in `__script__'
335
+ kernel/bootstrap/proc.rb:22:in `call'
355
336
  kernel/common/eval18.rb:45:in `instance_eval'
356
- ./spec/spec_helper.rb:59:in `sandboxed'
357
- ./spec/spec_helper.rb:102:in `__script__'
358
- kernel/common/eval18.rb:106:in `instance_exec'
359
- ./lib/rspec/core/extensions/instance_eval_with_args.rb:16:in `instance_eval_with_args'
360
- ./lib/rspec/core/example.rb:247:in `instance_eval_with_args'
361
- ./lib/rspec/core/hooks.rb:93:in `run'
362
- ./lib/rspec/core/hooks.rb:91:in `run'
363
- ./lib/rspec/core/hooks.rb:424:in `run_hook'
364
- ./lib/rspec/core/example_group.rb:327:in `run_around_each_hooks'
365
- ./lib/rspec/core/example.rb:256:in `with_around_each_hooks'
366
- ./lib/rspec/core/example.rb:111:in `run'
367
- ./lib/rspec/core/example_group.rb:388:in `run_examples'
337
+ ./spec/support/sandboxed_mock_space.rb:38:in `sandboxed'
338
+ kernel/common/eval18.rb:104:in `instance_exec'
339
+ kernel/bootstrap/proc.rb:22:in `call'
368
340
  kernel/bootstrap/array18.rb:18:in `map'
369
- ./lib/rspec/core/example_group.rb:384:in `run_examples'
370
- ./lib/rspec/core/example_group.rb:369:in `run'
371
- ./lib/rspec/core/example_group.rb:370:in `run'
372
341
  kernel/bootstrap/array18.rb:18:in `map'
373
- ./lib/rspec/core/example_group.rb:370:in `run'
374
- ./lib/rspec/core/command_line.rb:28:in `run'
375
342
  kernel/bootstrap/array18.rb:18:in `map'
376
- ./lib/rspec/core/command_line.rb:28:in `run'
377
- ./lib/rspec/core/reporter.rb:34:in `report'
378
- ./lib/rspec/core/command_line.rb:25:in `run'
379
- ./lib/rspec/core/runner.rb:77:in `run'
380
- ./lib/rspec/core/runner.rb:17:in `autorun'
381
- kernel/loader.rb:697:in `run_at_exits'
382
- kernel/loader.rb:717:in `epilogue'
383
- kernel/loader.rb:850:in `main'</pre></div>
384
- <pre class="ruby"><code><span class="linenum">100</span> <span class="ident">teardown_mocks_for_rspec</span>
385
- <span class="linenum">101</span> <span class="keyword">end</span>
386
- <span class="offending"><span class="linenum">102</span> <span class="keyword">raise</span> <span class="constant">PendingExampleFixedError</span><span class="punct">.</span><span class="ident">new</span> <span class="keyword">if</span> <span class="ident">result</span></span>
387
- <span class="linenum">103</span> <span class="keyword">end</span>
388
- <span class="linenum">104</span> <span class="keyword">raise</span> <span class="constant">PendingDeclaredInExample</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">)</span></code></pre>
343
+ kernel/bootstrap/proc.rb:22:in `call'
344
+ kernel/loader.rb:698:in `run_at_exits'
345
+ kernel/loader.rb:718:in `epilogue'
346
+ kernel/loader.rb:851:in `main'</pre></div>
347
+ <pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">&quot;</span><span class="string">with content that would pass</span><span class="punct">&quot;</span> <span class="keyword">do</span>
348
+ <span class="linenum">17</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">fails</span><span class="punct">&quot;</span> <span class="keyword">do</span>
349
+ <span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
350
+ <span class="linenum">19</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">1</span><span class="punct">)</span>
351
+ <span class="linenum">20</span> <span class="keyword">end</span></code></pre>
389
352
  </div>
390
353
  </dd>
391
354
  </dl>
@@ -413,70 +376,38 @@ expected: 2
413
376
 
414
377
  (compared using ==)
415
378
  </pre></div>
416
- <div class="backtrace"><pre>/Users/alindeman/workspace/rspec-dev/repos/rspec-expectations/lib/rspec/expectations/fail_with.rb:33:in `fail_with'
417
- /Users/alindeman/workspace/rspec-dev/repos/rspec-expectations/lib/rspec/expectations/handler.rb:31:in `handle_matcher'
418
- /Users/alindeman/workspace/rspec-dev/repos/rspec-expectations/lib/rspec/expectations/expectation_target.rb:34:in `to'
419
- ./spec/rspec/core/resources/formatter_specs.rb:33:in `__script__'
379
+ <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33:in `__script__'
420
380
  kernel/common/eval18.rb:45:in `instance_eval'
421
- ./lib/rspec/core/example.rb:114:in `run'
422
- ./lib/rspec/core/example.rb:254:in `with_around_each_hooks'
423
- ./lib/rspec/core/example.rb:111:in `run'
424
- ./lib/rspec/core/example_group.rb:388:in `run_examples'
381
+ ./spec/support/sandboxed_mock_space.rb:33:in `run'
382
+ ./spec/support/sandboxed_mock_space.rb:72:in `sandboxed'
383
+ ./spec/support/sandboxed_mock_space.rb:32:in `run'
425
384
  kernel/bootstrap/array18.rb:18:in `map'
426
- ./lib/rspec/core/example_group.rb:384:in `run_examples'
427
- ./lib/rspec/core/example_group.rb:369:in `orig_run (run)'
428
- ./spec/spec_helper.rb:53:in `run'
429
- ./lib/rspec/core/command_line.rb:28:in `run'
430
385
  kernel/bootstrap/array18.rb:18:in `map'
431
- ./lib/rspec/core/command_line.rb:28:in `run'
432
- ./lib/rspec/core/reporter.rb:34:in `report'
433
- ./lib/rspec/core/command_line.rb:25:in `run'
434
- ./spec/rspec/core/formatters/html_formatter_spec.rb:36:in `Formatters'
435
- ./lib/rspec/core/let.rb:93:in `let'
436
- kernel/common/hash18.rb:196:in `fetch'
437
- ./lib/rspec/core/let.rb:93:in `let'
438
- ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
386
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:37:in `Formatters'
387
+ kernel/common/hash18.rb:195:in `fetch'
388
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:59:in `Formatters'
439
389
  kernel/common/io.rb:217:in `open'
440
- ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
390
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:59:in `Formatters'
441
391
  kernel/common/dir.rb:92:in `chdir'
442
- ./spec/rspec/core/formatters/html_formatter_spec.rb:57:in `Formatters'
392
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
443
393
  kernel/common/eval18.rb:45:in `instance_eval'
444
- ./lib/rspec/core/example.rb:114:in `run'
445
- ./lib/rspec/core/example.rb:179:in `run'
446
- ./spec/spec_helper.rb:102:in `__script__'
394
+ kernel/bootstrap/proc.rb:22:in `call'
447
395
  kernel/common/eval18.rb:45:in `instance_eval'
448
- ./spec/spec_helper.rb:59:in `sandboxed'
449
- ./spec/spec_helper.rb:102:in `__script__'
450
- kernel/common/eval18.rb:106:in `instance_exec'
451
- ./lib/rspec/core/extensions/instance_eval_with_args.rb:16:in `instance_eval_with_args'
452
- ./lib/rspec/core/example.rb:247:in `instance_eval_with_args'
453
- ./lib/rspec/core/hooks.rb:93:in `run'
454
- ./lib/rspec/core/hooks.rb:91:in `run'
455
- ./lib/rspec/core/hooks.rb:424:in `run_hook'
456
- ./lib/rspec/core/example_group.rb:327:in `run_around_each_hooks'
457
- ./lib/rspec/core/example.rb:256:in `with_around_each_hooks'
458
- ./lib/rspec/core/example.rb:111:in `run'
459
- ./lib/rspec/core/example_group.rb:388:in `run_examples'
396
+ ./spec/support/sandboxed_mock_space.rb:38:in `sandboxed'
397
+ kernel/common/eval18.rb:104:in `instance_exec'
398
+ kernel/bootstrap/proc.rb:22:in `call'
460
399
  kernel/bootstrap/array18.rb:18:in `map'
461
- ./lib/rspec/core/example_group.rb:384:in `run_examples'
462
- ./lib/rspec/core/example_group.rb:369:in `run'
463
- ./lib/rspec/core/example_group.rb:370:in `run'
464
400
  kernel/bootstrap/array18.rb:18:in `map'
465
- ./lib/rspec/core/example_group.rb:370:in `run'
466
- ./lib/rspec/core/command_line.rb:28:in `run'
467
401
  kernel/bootstrap/array18.rb:18:in `map'
468
- ./lib/rspec/core/command_line.rb:28:in `run'
469
- ./lib/rspec/core/reporter.rb:34:in `report'
470
- ./lib/rspec/core/command_line.rb:25:in `run'
471
- ./lib/rspec/core/runner.rb:77:in `run'
472
- ./lib/rspec/core/runner.rb:17:in `autorun'
473
- kernel/loader.rb:697:in `run_at_exits'
474
- kernel/loader.rb:717:in `epilogue'
475
- kernel/loader.rb:850:in `main'</pre></div>
476
- <pre class="ruby"><code><span class="linenum">31</span> <span class="keyword">end</span>
477
- <span class="linenum">32</span>
478
- <span class="offending"><span class="linenum">33</span> <span class="keyword">raise</span><span class="punct">(</span><span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Expectations</span><span class="punct">::</span><span class="constant">ExpectationNotMetError</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">))</span></span>
479
- <span class="linenum">34</span> <span class="keyword">end</span></code></pre>
402
+ kernel/bootstrap/proc.rb:22:in `call'
403
+ kernel/loader.rb:698:in `run_at_exits'
404
+ kernel/loader.rb:718:in `epilogue'
405
+ kernel/loader.rb:851:in `main'</pre></div>
406
+ <pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">&quot;</span><span class="string">failing spec</span><span class="punct">&quot;</span> <span class="keyword">do</span>
407
+ <span class="linenum">32</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">fails</span><span class="punct">&quot;</span> <span class="keyword">do</span>
408
+ <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>
409
+ <span class="linenum">34</span> <span class="keyword">end</span>
410
+ <span class="linenum">35</span><span class="keyword">end</span></code></pre>
480
411
  </div>
481
412
  </dd>
482
413
  </dl>
@@ -495,64 +426,34 @@ kernel/loader.rb:850:in `main'</pre></div>
495
426
  <div class="backtrace"><pre>(erb):1:in `__script__'
496
427
  kernel/common/block_environment.rb:75:in `call_on_instance'
497
428
  kernel/common/eval.rb:75:in `eval'
498
- /Users/alindeman/.rvm/rubies/rbx-2.0.0-rc1/lib/18/erb.rb:719:in `result'
429
+ /Users/jon/.rvm/rubies/rbx-head/lib/18/erb.rb:719:in `result'
499
430
  ./spec/rspec/core/resources/formatter_specs.rb:41:in `__script__'
500
431
  kernel/common/eval18.rb:45:in `instance_eval'
501
- ./lib/rspec/core/example.rb:114:in `run'
502
- ./lib/rspec/core/example.rb:254:in `with_around_each_hooks'
503
- ./lib/rspec/core/example.rb:111:in `run'
504
- ./lib/rspec/core/example_group.rb:388:in `run_examples'
432
+ ./spec/support/sandboxed_mock_space.rb:33:in `run'
433
+ ./spec/support/sandboxed_mock_space.rb:72:in `sandboxed'
434
+ ./spec/support/sandboxed_mock_space.rb:32:in `run'
505
435
  kernel/bootstrap/array18.rb:18:in `map'
506
- ./lib/rspec/core/example_group.rb:384:in `run_examples'
507
- ./lib/rspec/core/example_group.rb:369:in `orig_run (run)'
508
- ./spec/spec_helper.rb:53:in `run'
509
- ./lib/rspec/core/command_line.rb:28:in `run'
510
436
  kernel/bootstrap/array18.rb:18:in `map'
511
- ./lib/rspec/core/command_line.rb:28:in `run'
512
- ./lib/rspec/core/reporter.rb:34:in `report'
513
- ./lib/rspec/core/command_line.rb:25:in `run'
514
- ./spec/rspec/core/formatters/html_formatter_spec.rb:36:in `Formatters'
515
- ./lib/rspec/core/let.rb:93:in `let'
516
- kernel/common/hash18.rb:196:in `fetch'
517
- ./lib/rspec/core/let.rb:93:in `let'
518
- ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
437
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:37:in `Formatters'
438
+ kernel/common/hash18.rb:195:in `fetch'
439
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:59:in `Formatters'
519
440
  kernel/common/io.rb:217:in `open'
520
- ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
441
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:59:in `Formatters'
521
442
  kernel/common/dir.rb:92:in `chdir'
522
- ./spec/rspec/core/formatters/html_formatter_spec.rb:57:in `Formatters'
443
+ ./spec/rspec/core/formatters/html_formatter_spec.rb:58:in `Formatters'
523
444
  kernel/common/eval18.rb:45:in `instance_eval'
524
- ./lib/rspec/core/example.rb:114:in `run'
525
- ./lib/rspec/core/example.rb:179:in `run'
526
- ./spec/spec_helper.rb:102:in `__script__'
445
+ kernel/bootstrap/proc.rb:22:in `call'
527
446
  kernel/common/eval18.rb:45:in `instance_eval'
528
- ./spec/spec_helper.rb:59:in `sandboxed'
529
- ./spec/spec_helper.rb:102:in `__script__'
530
- kernel/common/eval18.rb:106:in `instance_exec'
531
- ./lib/rspec/core/extensions/instance_eval_with_args.rb:16:in `instance_eval_with_args'
532
- ./lib/rspec/core/example.rb:247:in `instance_eval_with_args'
533
- ./lib/rspec/core/hooks.rb:93:in `run'
534
- ./lib/rspec/core/hooks.rb:91:in `run'
535
- ./lib/rspec/core/hooks.rb:424:in `run_hook'
536
- ./lib/rspec/core/example_group.rb:327:in `run_around_each_hooks'
537
- ./lib/rspec/core/example.rb:256:in `with_around_each_hooks'
538
- ./lib/rspec/core/example.rb:111:in `run'
539
- ./lib/rspec/core/example_group.rb:388:in `run_examples'
447
+ ./spec/support/sandboxed_mock_space.rb:38:in `sandboxed'
448
+ kernel/common/eval18.rb:104:in `instance_exec'
449
+ kernel/bootstrap/proc.rb:22:in `call'
540
450
  kernel/bootstrap/array18.rb:18:in `map'
541
- ./lib/rspec/core/example_group.rb:384:in `run_examples'
542
- ./lib/rspec/core/example_group.rb:369:in `run'
543
- ./lib/rspec/core/example_group.rb:370:in `run'
544
451
  kernel/bootstrap/array18.rb:18:in `map'
545
- ./lib/rspec/core/example_group.rb:370:in `run'
546
- ./lib/rspec/core/command_line.rb:28:in `run'
547
452
  kernel/bootstrap/array18.rb:18:in `map'
548
- ./lib/rspec/core/command_line.rb:28:in `run'
549
- ./lib/rspec/core/reporter.rb:34:in `report'
550
- ./lib/rspec/core/command_line.rb:25:in `run'
551
- ./lib/rspec/core/runner.rb:77:in `run'
552
- ./lib/rspec/core/runner.rb:17:in `autorun'
553
- kernel/loader.rb:697:in `run_at_exits'
554
- kernel/loader.rb:717:in `epilogue'
555
- kernel/loader.rb:850:in `main'</pre></div>
453
+ kernel/bootstrap/proc.rb:22:in `call'
454
+ kernel/loader.rb:698:in `run_at_exits'
455
+ kernel/loader.rb:718:in `epilogue'
456
+ kernel/loader.rb:851:in `main'</pre></div>
556
457
  <pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
557
458
  </div>
558
459
  </dd>
@@ -562,8 +463,7 @@ kernel/loader.rb:850:in `main'</pre></div>
562
463
  <span class="duration">n.nnnns</span>
563
464
  <div class="failure" id="failure_4">
564
465
  <div class="message"><pre>Exception</pre></div>
565
- <div class="backtrace"><pre>/foo.html.erb:1:in `<main>': foo (RuntimeError)
566
- from /lib/ruby/1.9.1/erb.rb:753:in `eval'</pre></div>
466
+ <div class="backtrace"><pre>/foo.html.erb:1:in `&lt;main&gt;': foo (RuntimeError)</pre></div>
567
467
  <pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
568
468
  </div>
569
469
  </dd>