rspec-core 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/History.markdown +11 -0
- data/features/pending/pending_examples.feature +47 -4
- data/lib/rspec/core/configuration_options.rb +1 -0
- data/lib/rspec/core/example.rb +1 -1
- data/lib/rspec/core/example_group.rb +4 -6
- data/lib/rspec/core/extensions/object.rb +0 -1
- data/lib/rspec/core/formatters/text_mate_formatter.rb +3 -1
- data/lib/rspec/core/metadata.rb +8 -26
- data/lib/rspec/core/version.rb +1 -1
- data/rspec-core.gemspec +5 -5
- data/spec/rspec/core/configuration_options_spec.rb +2 -2
- data/spec/rspec/core/example_group_spec.rb +0 -6
- data/spec/rspec/core/formatters/html_formatted-1.8.7.html +34 -21
- data/spec/rspec/core/formatters/html_formatted-1.9.2.html +41 -21
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +44 -28
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +63 -28
- data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +14 -0
- data/spec/rspec/core/metadata_spec.rb +14 -55
- data/spec/rspec/core/pending_example_spec.rb +33 -0
- data/spec/rspec/core/resources/formatter_specs.rb +19 -1
- metadata +52 -43
data/Gemfile
CHANGED
data/History.markdown
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
## rspec-core release history (incomplete)
|
2
2
|
|
3
|
+
### 2.0.1 / 2010-10-18
|
4
|
+
|
5
|
+
[full changelog](http://github.com/rspec/rspec-core/compare/v2.0.0...v2.0.1)
|
6
|
+
|
7
|
+
* Bug fixes
|
8
|
+
* restore color when using spork + autotest
|
9
|
+
* Pending examples without docstrings render the correct message (Josep M. Bach)
|
10
|
+
* Fixed bug where a failure in a spec file ending in anything but _spec.rb would
|
11
|
+
fail in a confusing way.
|
12
|
+
* Support backtrace lines from erb templates in html formatter (Alex Crichton)
|
13
|
+
|
3
14
|
### 2.0.0 / 2010-10-10
|
4
15
|
|
5
16
|
[full changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.rc...v2.0.0)
|
@@ -86,12 +86,55 @@ Feature: pending examples
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
"""
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
89
|
+
When I run "rspec pending_with_xit_spec.rb"
|
90
|
+
Then the exit status should be 0
|
91
|
+
And the output should contain "1 example, 0 failures, 1 pending"
|
92
|
+
And the output should contain:
|
93
93
|
"""
|
94
94
|
Pending:
|
95
95
|
an example is pending using xit
|
96
96
|
"""
|
97
97
|
|
98
|
+
Scenario: example with no docstring and pending method using documentation formatter
|
99
|
+
Given a file named "pending_with_no_docstring_spec.rb" with:
|
100
|
+
"""
|
101
|
+
describe "an example" do
|
102
|
+
it "checks something" do
|
103
|
+
(3+4).should == 7
|
104
|
+
end
|
105
|
+
specify do
|
106
|
+
pending
|
107
|
+
end
|
108
|
+
end
|
109
|
+
"""
|
110
|
+
When I run "rspec pending_with_no_docstring_spec.rb --format documentation"
|
111
|
+
Then the exit status should be 0
|
112
|
+
And the output should contain "2 examples, 0 failures, 1 pending"
|
113
|
+
And the output should contain:
|
114
|
+
"""
|
115
|
+
an example
|
116
|
+
checks something
|
117
|
+
(PENDING: No reason given)
|
118
|
+
"""
|
119
|
+
|
120
|
+
Scenario: pending with no docstring using documentation formatter
|
121
|
+
Given a file named "pending_with_no_docstring_spec.rb" with:
|
122
|
+
"""
|
123
|
+
describe "an example" do
|
124
|
+
it "checks something" do
|
125
|
+
(3+4).should == 7
|
126
|
+
end
|
127
|
+
pending do
|
128
|
+
"string".reverse.should == "gnirts"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
"""
|
132
|
+
When I run "rspec pending_with_no_docstring_spec.rb --format documentation"
|
133
|
+
Then the exit status should be 0
|
134
|
+
And the output should contain "2 examples, 0 failures, 1 pending"
|
135
|
+
And the output should contain:
|
136
|
+
"""
|
137
|
+
an example
|
138
|
+
checks something
|
139
|
+
(PENDING: Not Yet Implemented)
|
140
|
+
"""
|
@@ -28,6 +28,7 @@ module RSpec
|
|
28
28
|
argv << "--color" if options[:color_enabled]
|
29
29
|
argv << "--profile" if options[:profile_examples]
|
30
30
|
argv << "--backtrace" if options[:full_backtrace]
|
31
|
+
argv << "--autotest" if options[:autotest]
|
31
32
|
argv << "--format" << options[:formatter] if options[:formatter]
|
32
33
|
argv << "--line_number" << options[:line_number] if options[:line_number]
|
33
34
|
argv << "--example" << options[:full_description].source if options[:full_description]
|
data/lib/rspec/core/example.rb
CHANGED
@@ -42,7 +42,6 @@ module RSpec
|
|
42
42
|
module_eval(<<-END_RUBY, __FILE__, __LINE__)
|
43
43
|
def self.#{name}(desc=nil, options={}, &block)
|
44
44
|
options.update(:pending => true) unless block
|
45
|
-
options.update(:caller => caller)
|
46
45
|
options.update(#{extra_options.inspect})
|
47
46
|
examples << RSpec::Core::Example.new(self, desc, options, block)
|
48
47
|
examples.last
|
@@ -95,7 +94,7 @@ module RSpec
|
|
95
94
|
end
|
96
95
|
|
97
96
|
def self.descendant_filtered_examples
|
98
|
-
@descendant_filtered_examples ||= filtered_examples + children.
|
97
|
+
@descendant_filtered_examples ||= filtered_examples + children.inject([]){|l,c| l + c.descendant_filtered_examples}
|
99
98
|
end
|
100
99
|
|
101
100
|
def self.metadata
|
@@ -111,7 +110,6 @@ module RSpec
|
|
111
110
|
@_subclass_count += 1
|
112
111
|
args << {} unless args.last.is_a?(Hash)
|
113
112
|
args.last.update(:example_group_block => example_group_block)
|
114
|
-
args.last.update(:caller => caller)
|
115
113
|
|
116
114
|
# TODO 2010-05-05: Because we don't know if const_set is thread-safe
|
117
115
|
child = const_set(
|
@@ -138,7 +136,7 @@ module RSpec
|
|
138
136
|
end
|
139
137
|
|
140
138
|
def self.descendants
|
141
|
-
@_descendants ||= [self] + children.
|
139
|
+
@_descendants ||= [self] + children.inject([]) {|list, c| list + c.descendants}
|
142
140
|
end
|
143
141
|
|
144
142
|
def self.ancestors
|
@@ -216,7 +214,7 @@ An error occurred in an after(:all) hook.
|
|
216
214
|
end
|
217
215
|
|
218
216
|
def self.around_hooks
|
219
|
-
@around_hooks ||= (world.find_hook(:around, :each, self) + ancestors.reverse.
|
217
|
+
@around_hooks ||= (world.find_hook(:around, :each, self) + ancestors.reverse.inject([]){|l,a| l + a.find_hook(:around, :each, self)})
|
220
218
|
end
|
221
219
|
|
222
220
|
def self.run(reporter)
|
@@ -276,7 +274,7 @@ An error occurred in an after(:all) hook.
|
|
276
274
|
def self.declaration_line_numbers
|
277
275
|
@declaration_line_numbers ||= [metadata[:example_group][:line_number]] +
|
278
276
|
examples.collect {|e| e.metadata[:line_number]} +
|
279
|
-
children.
|
277
|
+
children.inject([]) {|l,c| l + c.declaration_line_numbers}
|
280
278
|
end
|
281
279
|
|
282
280
|
def self.top_level_description
|
@@ -7,9 +7,11 @@ module RSpec
|
|
7
7
|
class TextMateFormatter < HtmlFormatter
|
8
8
|
def backtrace_line(line)
|
9
9
|
if line = super(line)
|
10
|
-
line.sub!(/([^:]*\.rb):(\d*)/) do
|
10
|
+
line.sub!(/([^:]*\.e?rb):(\d*)/) do
|
11
11
|
"<a href=\"txmt://open?url=file://#{File.expand_path($1)}&line=#{$2}\">#{$1}:#{$2}</a> "
|
12
12
|
end
|
13
|
+
|
14
|
+
line
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
data/lib/rspec/core/metadata.rb
CHANGED
@@ -32,9 +32,7 @@ module RSpec
|
|
32
32
|
self[:example_group][:full_description] = full_description_from(*args)
|
33
33
|
|
34
34
|
self[:example_group][:block] = user_metadata.delete(:example_group_block)
|
35
|
-
self[:example_group][:
|
36
|
-
self[:example_group][:file_path] = file_path_from(self[:example_group], user_metadata.delete(:file_path))
|
37
|
-
self[:example_group][:line_number] = line_number_from(self[:example_group], user_metadata.delete(:line_number))
|
35
|
+
self[:example_group][:file_path], self[:example_group][:line_number] = file_and_line_number_from(caller)
|
38
36
|
self[:example_group][:location] = location_from(self[:example_group])
|
39
37
|
|
40
38
|
update(user_metadata)
|
@@ -70,11 +68,7 @@ EOM
|
|
70
68
|
store(:description, description.to_s)
|
71
69
|
store(:full_description, "#{self[:example_group][:full_description]} #{self[:description]}")
|
72
70
|
store(:execution_result, {})
|
73
|
-
|
74
|
-
if self[:caller]
|
75
|
-
store(:file_path, file_path_from(self))
|
76
|
-
store(:line_number, line_number_from(self))
|
77
|
-
end
|
71
|
+
self[:file_path], self[:line_number] = file_and_line_number_from(caller)
|
78
72
|
self[:location] = location_from(self)
|
79
73
|
update(options)
|
80
74
|
end
|
@@ -153,31 +147,19 @@ EOM
|
|
153
147
|
end
|
154
148
|
end
|
155
149
|
|
156
|
-
def
|
157
|
-
|
158
|
-
|
159
|
-
|
150
|
+
def file_and_line_number_from(list)
|
151
|
+
entry = first_caller_from_outside_rspec_from_caller(list)
|
152
|
+
entry =~ /(.+?):(\d+)(|:\d+)/
|
153
|
+
return [$1, $2.to_i]
|
160
154
|
end
|
161
155
|
|
162
|
-
def
|
163
|
-
|
164
|
-
line_number = file_and_line_number(metadata)[1] if file_and_line_number(metadata)
|
165
|
-
line_number && line_number.to_i
|
156
|
+
def first_caller_from_outside_rspec_from_caller(list)
|
157
|
+
list.detect {|l| l !~ /\/lib\/rspec\/core/}
|
166
158
|
end
|
167
159
|
|
168
160
|
def location_from(metadata)
|
169
161
|
"#{metadata[:file_path]}:#{metadata[:line_number]}"
|
170
162
|
end
|
171
|
-
|
172
|
-
def file_and_line_number(metadata)
|
173
|
-
entry = candidate_entries_from_caller(metadata).first
|
174
|
-
entry && entry.match(/(.+?):(\d+)(|:\d+)/)[1..2]
|
175
|
-
end
|
176
|
-
|
177
|
-
def candidate_entries_from_caller(metadata)
|
178
|
-
metadata[:caller].grep(/\_spec\.rb:/i)
|
179
|
-
end
|
180
|
-
|
181
163
|
end
|
182
164
|
end
|
183
165
|
end
|
data/lib/rspec/core/version.rb
CHANGED
data/rspec-core.gemspec
CHANGED
@@ -33,11 +33,11 @@ Gem::Specification.new do |s|
|
|
33
33
|
**************************************************
|
34
34
|
}
|
35
35
|
|
36
|
-
s.add_development_dependency "rspec-expectations", "
|
37
|
-
s.add_development_dependency "rspec-mocks", "
|
38
|
-
s.add_development_dependency "cucumber", "
|
39
|
-
s.add_development_dependency "autotest", "
|
40
|
-
s.add_development_dependency "syntax", "
|
36
|
+
s.add_development_dependency "rspec-expectations", "~> 2.0.1"
|
37
|
+
s.add_development_dependency "rspec-mocks", "~> 2.0.1"
|
38
|
+
s.add_development_dependency "cucumber", "~> 0.9.2"
|
39
|
+
s.add_development_dependency "autotest", "~> 4.2.9"
|
40
|
+
s.add_development_dependency "syntax", "~> 1.0.0"
|
41
41
|
s.add_development_dependency "flexmock"
|
42
42
|
s.add_development_dependency "mocha"
|
43
43
|
s.add_development_dependency "rr"
|
@@ -191,8 +191,8 @@ describe RSpec::Core::ConfigurationOptions do
|
|
191
191
|
it "renders all the original arguments except --drb" do
|
192
192
|
File.stub(:exist?) { true }
|
193
193
|
IO.stub(:read) { "--drb --color" }
|
194
|
-
config_options_object(*%w[ --format s --line_number 1 --example pattern --profile --backtrace ]).
|
195
|
-
drb_argv.should eq(%w[ --color --profile --backtrace --format s --line_number 1 --example pattern ])
|
194
|
+
config_options_object(*%w[ --autotest --format s --line_number 1 --example pattern --profile --backtrace ]).
|
195
|
+
drb_argv.should eq(%w[ --color --profile --backtrace --autotest --format s --line_number 1 --example pattern ])
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
@@ -186,12 +186,6 @@ module RSpec::Core
|
|
186
186
|
ExampleGroup.describe(Object, nil, 'foo' => 'bar') { }.metadata.should include({ "foo" => 'bar' })
|
187
187
|
end
|
188
188
|
|
189
|
-
it "adds the caller to metadata" do
|
190
|
-
ExampleGroup.describe(Object) { }.metadata[:example_group][:caller].any? {|f|
|
191
|
-
f =~ /#{__FILE__}/
|
192
|
-
}.should be_true
|
193
|
-
end
|
194
|
-
|
195
189
|
it "adds the the file_path to metadata" do
|
196
190
|
ExampleGroup.describe(Object) { }.metadata[:example_group][:file_path].should == __FILE__
|
197
191
|
end
|
@@ -184,7 +184,7 @@ a {
|
|
184
184
|
<dt id="example_group_1">pending spec with no implementation</dt>
|
185
185
|
<script type="text/javascript">makeYellow('rspec-header');</script>
|
186
186
|
<script type="text/javascript">makeYellow('example_group_1');</script>
|
187
|
-
<script type="text/javascript">moveProgressBar('
|
187
|
+
<script type="text/javascript">moveProgressBar('14.2');</script>
|
188
188
|
<dd class="spec not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not Yet Implemented)</span></dd>
|
189
189
|
</dl>
|
190
190
|
</div>
|
@@ -198,7 +198,7 @@ a {
|
|
198
198
|
<dt id="example_group_3">with content that would fail</dt>
|
199
199
|
<script type="text/javascript">makeYellow('rspec-header');</script>
|
200
200
|
<script type="text/javascript">makeYellow('example_group_3');</script>
|
201
|
-
<script type="text/javascript">moveProgressBar('
|
201
|
+
<script type="text/javascript">moveProgressBar('28.5');</script>
|
202
202
|
<dd class="spec not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: No reason given)</span></dd>
|
203
203
|
</dl>
|
204
204
|
</div>
|
@@ -207,24 +207,18 @@ a {
|
|
207
207
|
<dt id="example_group_4">with content that would pass</dt>
|
208
208
|
<script type="text/javascript">makeRed('rspec-header');</script>
|
209
209
|
<script type="text/javascript">makeRed('example_group_4');</script>
|
210
|
-
<script type="text/javascript">moveProgressBar('
|
210
|
+
<script type="text/javascript">moveProgressBar('42.8');</script>
|
211
211
|
<dd class="spec pending_fixed">
|
212
212
|
<span class="failed_spec_name">fails</span>
|
213
213
|
<div class="failure" id="failure_0">
|
214
214
|
<div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
|
215
|
-
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:
|
216
|
-
./spec/spec_helper.rb:31:in `run'
|
217
|
-
./spec/spec_helper.rb:31:in `run'
|
215
|
+
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:18
|
218
216
|
./spec/rspec/core/formatters/html_formatter_spec.rb:24
|
219
217
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46
|
220
218
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
|
221
219
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46
|
222
220
|
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
|
223
|
-
./spec/rspec/core/formatters/html_formatter_spec.rb:45
|
224
|
-
./spec/spec_helper.rb:82
|
225
|
-
./spec/spec_helper.rb:54:in `instance_eval'
|
226
|
-
./spec/spec_helper.rb:54:in `sandboxed'
|
227
|
-
./spec/spec_helper.rb:82</pre></div>
|
221
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:45</pre></div>
|
228
222
|
<pre class="ruby"><code><span class="linenum">11</span> <span class="keyword">rescue</span> <span class="constant">Exception</span> <span class="punct">=></span> <span class="ident">e</span>
|
229
223
|
<span class="linenum">12</span> <span class="keyword">end</span>
|
230
224
|
<span class="offending"><span class="linenum">13</span> <span class="keyword">raise</span> <span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Core</span><span class="punct">::</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>
|
@@ -237,7 +231,7 @@ a {
|
|
237
231
|
<div class="example_group">
|
238
232
|
<dl>
|
239
233
|
<dt id="example_group_5">passing spec</dt>
|
240
|
-
<script type="text/javascript">moveProgressBar('
|
234
|
+
<script type="text/javascript">moveProgressBar('57.1');</script>
|
241
235
|
<dd class="spec passed"><span class="passed_spec_name">passes</span></dd>
|
242
236
|
</dl>
|
243
237
|
</div>
|
@@ -245,7 +239,7 @@ a {
|
|
245
239
|
<dl>
|
246
240
|
<dt id="example_group_6">failing spec</dt>
|
247
241
|
<script type="text/javascript">makeRed('example_group_6');</script>
|
248
|
-
<script type="text/javascript">moveProgressBar('
|
242
|
+
<script type="text/javascript">moveProgressBar('71.4');</script>
|
249
243
|
<dd class="spec failed">
|
250
244
|
<span class="failed_spec_name">fails</span>
|
251
245
|
<div class="failure" id="failure_0">
|
@@ -255,18 +249,13 @@ expected 2
|
|
255
249
|
|
256
250
|
(compared using ==)
|
257
251
|
</pre></div>
|
258
|
-
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:
|
259
|
-
./spec/spec_helper.rb:31:in `run'
|
252
|
+
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33
|
260
253
|
./spec/rspec/core/formatters/html_formatter_spec.rb:24
|
261
254
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46
|
262
255
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
|
263
256
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46
|
264
257
|
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
|
265
|
-
./spec/rspec/core/formatters/html_formatter_spec.rb:45
|
266
|
-
./spec/spec_helper.rb:82
|
267
|
-
./spec/spec_helper.rb:54:in `instance_eval'
|
268
|
-
./spec/spec_helper.rb:54:in `sandboxed'
|
269
|
-
./spec/spec_helper.rb:82</pre></div>
|
258
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:45</pre></div>
|
270
259
|
<pre class="ruby"><code><span class="linenum">27</span> <span class="keyword">end</span>
|
271
260
|
<span class="linenum">28</span>
|
272
261
|
<span class="offending"><span class="linenum">29</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>
|
@@ -275,8 +264,32 @@ expected 2
|
|
275
264
|
</dd>
|
276
265
|
</dl>
|
277
266
|
</div>
|
267
|
+
<div class="example_group">
|
268
|
+
<dl>
|
269
|
+
<dt id="example_group_7">a failing spec with odd backtraces</dt>
|
270
|
+
<script type="text/javascript">makeRed('example_group_7');</script>
|
271
|
+
<script type="text/javascript">moveProgressBar('85.7');</script>
|
272
|
+
<dd class="spec failed">
|
273
|
+
<span class="failed_spec_name">fails with a backtrace that has no file</span>
|
274
|
+
<div class="failure" id="failure_0">
|
275
|
+
<div class="message"><pre>foo</pre></div>
|
276
|
+
<div class="backtrace"><pre>(erb):1</pre></div>
|
277
|
+
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
278
|
+
</div>
|
279
|
+
</dd>
|
280
|
+
<script type="text/javascript">moveProgressBar('100.0');</script>
|
281
|
+
<dd class="spec failed">
|
282
|
+
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
|
283
|
+
<div class="failure" id="failure_0">
|
284
|
+
<div class="message"><pre>Exception</pre></div>
|
285
|
+
<div class="backtrace"><pre>/foo.html.erb:1:in `<main>': foo (RuntimeError)</pre></div>
|
286
|
+
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
|
287
|
+
</div>
|
288
|
+
</dd>
|
289
|
+
</dl>
|
290
|
+
</div>
|
278
291
|
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
|
279
|
-
<script type="text/javascript">document.getElementById('totals').innerHTML = "
|
292
|
+
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
280
293
|
</div>
|
281
294
|
</div>
|
282
295
|
</body>
|
@@ -184,7 +184,7 @@ a {
|
|
184
184
|
<dt id="example_group_1">pending spec with no implementation</dt>
|
185
185
|
<script type="text/javascript">makeYellow('rspec-header');</script>
|
186
186
|
<script type="text/javascript">makeYellow('example_group_1');</script>
|
187
|
-
<script type="text/javascript">moveProgressBar('
|
187
|
+
<script type="text/javascript">moveProgressBar('14.2');</script>
|
188
188
|
<dd class="spec not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not Yet Implemented)</span></dd>
|
189
189
|
</dl>
|
190
190
|
</div>
|
@@ -198,7 +198,7 @@ a {
|
|
198
198
|
<dt id="example_group_3">with content that would fail</dt>
|
199
199
|
<script type="text/javascript">makeYellow('rspec-header');</script>
|
200
200
|
<script type="text/javascript">makeYellow('example_group_3');</script>
|
201
|
-
<script type="text/javascript">moveProgressBar('
|
201
|
+
<script type="text/javascript">moveProgressBar('28.5');</script>
|
202
202
|
<dd class="spec not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: No reason given)</span></dd>
|
203
203
|
</dl>
|
204
204
|
</div>
|
@@ -207,24 +207,18 @@ a {
|
|
207
207
|
<dt id="example_group_4">with content that would pass</dt>
|
208
208
|
<script type="text/javascript">makeRed('rspec-header');</script>
|
209
209
|
<script type="text/javascript">makeRed('example_group_4');</script>
|
210
|
-
<script type="text/javascript">moveProgressBar('
|
210
|
+
<script type="text/javascript">moveProgressBar('42.8');</script>
|
211
211
|
<dd class="spec pending_fixed">
|
212
212
|
<span class="failed_spec_name">fails</span>
|
213
213
|
<div class="failure" id="failure_0">
|
214
214
|
<div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
|
215
|
-
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:
|
216
|
-
./spec/spec_helper.rb:31:in `run'
|
217
|
-
./spec/spec_helper.rb:31:in `run'
|
215
|
+
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:18:in `block (3 levels) in <top (required)>'
|
218
216
|
./spec/rspec/core/formatters/html_formatter_spec.rb:24:in `block (2 levels) in <module:Formatters>'
|
219
217
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `block (5 levels) in <module:Formatters>'
|
220
218
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
|
221
219
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `block (4 levels) in <module:Formatters>'
|
222
220
|
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
|
223
|
-
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `block (3 levels) in <module:Formatters>'
|
224
|
-
./spec/spec_helper.rb:82:in `block (3 levels) in <top (required)>'
|
225
|
-
./spec/spec_helper.rb:54:in `instance_eval'
|
226
|
-
./spec/spec_helper.rb:54:in `sandboxed'
|
227
|
-
./spec/spec_helper.rb:82:in `block (2 levels) in <top (required)>'</pre></div>
|
221
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `block (3 levels) in <module:Formatters>'</pre></div>
|
228
222
|
<pre class="ruby"><code><span class="linenum">11</span> <span class="keyword">rescue</span> <span class="constant">Exception</span> <span class="punct">=></span> <span class="ident">e</span>
|
229
223
|
<span class="linenum">12</span> <span class="keyword">end</span>
|
230
224
|
<span class="offending"><span class="linenum">13</span> <span class="keyword">raise</span> <span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Core</span><span class="punct">::</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>
|
@@ -237,7 +231,7 @@ a {
|
|
237
231
|
<div class="example_group">
|
238
232
|
<dl>
|
239
233
|
<dt id="example_group_5">passing spec</dt>
|
240
|
-
<script type="text/javascript">moveProgressBar('
|
234
|
+
<script type="text/javascript">moveProgressBar('57.1');</script>
|
241
235
|
<dd class="spec passed"><span class="passed_spec_name">passes</span></dd>
|
242
236
|
</dl>
|
243
237
|
</div>
|
@@ -245,7 +239,7 @@ a {
|
|
245
239
|
<dl>
|
246
240
|
<dt id="example_group_6">failing spec</dt>
|
247
241
|
<script type="text/javascript">makeRed('example_group_6');</script>
|
248
|
-
<script type="text/javascript">moveProgressBar('
|
242
|
+
<script type="text/javascript">moveProgressBar('71.4');</script>
|
249
243
|
<dd class="spec failed">
|
250
244
|
<span class="failed_spec_name">fails</span>
|
251
245
|
<div class="failure" id="failure_0">
|
@@ -255,18 +249,13 @@ expected 2
|
|
255
249
|
|
256
250
|
(compared using ==)
|
257
251
|
</pre></div>
|
258
|
-
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:
|
259
|
-
./spec/spec_helper.rb:31:in `run'
|
252
|
+
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33:in `block (2 levels) in <top (required)>'
|
260
253
|
./spec/rspec/core/formatters/html_formatter_spec.rb:24:in `block (2 levels) in <module:Formatters>'
|
261
254
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `block (5 levels) in <module:Formatters>'
|
262
255
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
|
263
256
|
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `block (4 levels) in <module:Formatters>'
|
264
257
|
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
|
265
|
-
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `block (3 levels) in <module:Formatters>'
|
266
|
-
./spec/spec_helper.rb:82:in `block (3 levels) in <top (required)>'
|
267
|
-
./spec/spec_helper.rb:54:in `instance_eval'
|
268
|
-
./spec/spec_helper.rb:54:in `sandboxed'
|
269
|
-
./spec/spec_helper.rb:82:in `block (2 levels) in <top (required)>'</pre></div>
|
258
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `block (3 levels) in <module:Formatters>'</pre></div>
|
270
259
|
<pre class="ruby"><code><span class="linenum">27</span> <span class="keyword">end</span>
|
271
260
|
<span class="linenum">28</span>
|
272
261
|
<span class="offending"><span class="linenum">29</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>
|
@@ -275,8 +264,39 @@ expected 2
|
|
275
264
|
</dd>
|
276
265
|
</dl>
|
277
266
|
</div>
|
267
|
+
<div class="example_group">
|
268
|
+
<dl>
|
269
|
+
<dt id="example_group_7">a failing spec with odd backtraces</dt>
|
270
|
+
<script type="text/javascript">makeRed('example_group_7');</script>
|
271
|
+
<script type="text/javascript">moveProgressBar('85.7');</script>
|
272
|
+
<dd class="spec failed">
|
273
|
+
<span class="failed_spec_name">fails with a backtrace that has no file</span>
|
274
|
+
<div class="failure" id="failure_0">
|
275
|
+
<div class="message"><pre>foo</pre></div>
|
276
|
+
<div class="backtrace"><pre>(erb):1:in `<main>'
|
277
|
+
./spec/rspec/core/resources/formatter_specs.rb:41:in `block (2 levels) in <top (required)>'
|
278
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:24:in `block (2 levels) in <module:Formatters>'
|
279
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `block (5 levels) in <module:Formatters>'
|
280
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
|
281
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `block (4 levels) in <module:Formatters>'
|
282
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
|
283
|
+
./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `block (3 levels) in <module:Formatters>'</pre></div>
|
284
|
+
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
285
|
+
</div>
|
286
|
+
</dd>
|
287
|
+
<script type="text/javascript">moveProgressBar('100.0');</script>
|
288
|
+
<dd class="spec failed">
|
289
|
+
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
|
290
|
+
<div class="failure" id="failure_0">
|
291
|
+
<div class="message"><pre>Exception</pre></div>
|
292
|
+
<div class="backtrace"><pre>/foo.html.erb:1:in `<main>': foo (RuntimeError)</pre></div>
|
293
|
+
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
|
294
|
+
</div>
|
295
|
+
</dd>
|
296
|
+
</dl>
|
297
|
+
</div>
|
278
298
|
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
|
279
|
-
<script type="text/javascript">document.getElementById('totals').innerHTML = "
|
299
|
+
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
280
300
|
</div>
|
281
301
|
</div>
|
282
302
|
</body>
|