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.
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>