rspec-core 2.0.0 → 2.0.1
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.
- 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
@@ -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,22 +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><a href="txmt://open?url=file:///Users/
|
216
|
-
<a href="txmt://open?url=file:///Users/
|
217
|
-
<a href="txmt://open?url=file:///Users/
|
218
|
-
<a href="txmt://open?url=file:///Users/
|
219
|
-
<a href="txmt://open?url=file:///Users/
|
220
|
-
<a href="txmt://open?url=file:///Users/
|
221
|
-
<a href="txmt://open?url=file:///Users/
|
222
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=73">./spec/spec_helper.rb:73</a>
|
223
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=49">./spec/spec_helper.rb:49</a> :in `instance_eval'
|
224
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=49">./spec/spec_helper.rb:49</a> :in `sandboxed'
|
225
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=73">./spec/spec_helper.rb:73</a> </pre></div>
|
215
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=18">./spec/rspec/core/resources/formatter_specs.rb:18</a>
|
216
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a>
|
217
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
|
218
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
|
219
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
|
220
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
|
221
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> </pre></div>
|
226
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>
|
227
223
|
<span class="linenum">12</span> <span class="keyword">end</span>
|
228
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>
|
@@ -235,7 +231,7 @@ a {
|
|
235
231
|
<div class="example_group">
|
236
232
|
<dl>
|
237
233
|
<dt id="example_group_5">passing spec</dt>
|
238
|
-
<script type="text/javascript">moveProgressBar('
|
234
|
+
<script type="text/javascript">moveProgressBar('57.1');</script>
|
239
235
|
<dd class="spec passed"><span class="passed_spec_name">passes</span></dd>
|
240
236
|
</dl>
|
241
237
|
</div>
|
@@ -243,7 +239,7 @@ a {
|
|
243
239
|
<dl>
|
244
240
|
<dt id="example_group_6">failing spec</dt>
|
245
241
|
<script type="text/javascript">makeRed('example_group_6');</script>
|
246
|
-
<script type="text/javascript">moveProgressBar('
|
242
|
+
<script type="text/javascript">moveProgressBar('71.4');</script>
|
247
243
|
<dd class="spec failed">
|
248
244
|
<span class="failed_spec_name">fails</span>
|
249
245
|
<div class="failure" id="failure_0">
|
@@ -253,17 +249,13 @@ expected 2
|
|
253
249
|
|
254
250
|
(compared using ==)
|
255
251
|
</pre></div>
|
256
|
-
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/
|
257
|
-
<a href="txmt://open?url=file:///Users/
|
258
|
-
<a href="txmt://open?url=file:///Users/
|
259
|
-
<a href="txmt://open?url=file:///Users/
|
260
|
-
<a href="txmt://open?url=file:///Users/
|
261
|
-
<a href="txmt://open?url=file:///Users/
|
262
|
-
<a href="txmt://open?url=file:///Users/
|
263
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=73">./spec/spec_helper.rb:73</a>
|
264
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=49">./spec/spec_helper.rb:49</a> :in `instance_eval'
|
265
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=49">./spec/spec_helper.rb:49</a> :in `sandboxed'
|
266
|
-
<a href="txmt://open?url=file:///Users/dchelimsky/projects/ruby/rspec2/repos/rspec-core/spec/spec_helper.rb&line=73">./spec/spec_helper.rb:73</a> </pre></div>
|
252
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=33">./spec/rspec/core/resources/formatter_specs.rb:33</a>
|
253
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a>
|
254
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
|
255
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
|
256
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
|
257
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
|
258
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> </pre></div>
|
267
259
|
<pre class="ruby"><code><span class="linenum">27</span> <span class="keyword">end</span>
|
268
260
|
<span class="linenum">28</span>
|
269
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>
|
@@ -272,8 +264,32 @@ expected 2
|
|
272
264
|
</dd>
|
273
265
|
</dl>
|
274
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><a href="txmt://open?url=file:///foo.html.erb&line=1">/foo.html.erb:1</a> :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>
|
275
291
|
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
|
276
|
-
<script type="text/javascript">document.getElementById('totals').innerHTML = "
|
292
|
+
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
277
293
|
</div>
|
278
294
|
</div>
|
279
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,22 +207,22 @@ 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><a href="txmt://open?url=file:///Users/
|
216
|
-
<a href="txmt://open?url=file:///Users/
|
217
|
-
<a href="txmt://open?url=file:///Users/
|
218
|
-
<a href="txmt://open?url=file:///Users/
|
219
|
-
<a href="txmt://open?url=file:///Users/
|
220
|
-
<a href="txmt://open?url=file:///Users/
|
221
|
-
<a href="txmt://open?url=file:///Users/
|
222
|
-
<a href="txmt://open?url=file:///Users/
|
223
|
-
<a href="txmt://open?url=file:///Users/
|
224
|
-
<a href="txmt://open?url=file:///Users/
|
225
|
-
<a href="txmt://open?url=file:///Users/
|
215
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=19">./spec/rspec/core/resources/formatter_specs.rb:19</a> :in `block (3 levels) in <top (required)>'
|
216
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a> :in `block (2 levels) in <module:Formatters>'
|
217
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `block (5 levels) in <module:Formatters>'
|
218
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
|
219
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `block (4 levels) in <module:Formatters>'
|
220
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
|
221
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `block (3 levels) in <module:Formatters>'
|
222
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=71">./spec/spec_helper.rb:71</a> :in `block (3 levels) in <top (required)>'
|
223
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=45">./spec/spec_helper.rb:45</a> :in `instance_eval'
|
224
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=45">./spec/spec_helper.rb:45</a> :in `sandboxed'
|
225
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=71">./spec/spec_helper.rb:71</a> :in `block (2 levels) in <top (required)>'</pre></div>
|
226
226
|
<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>
|
227
227
|
<span class="linenum">12</span> <span class="keyword">end</span>
|
228
228
|
<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>
|
@@ -235,7 +235,7 @@ a {
|
|
235
235
|
<div class="example_group">
|
236
236
|
<dl>
|
237
237
|
<dt id="example_group_5">passing spec</dt>
|
238
|
-
<script type="text/javascript">moveProgressBar('
|
238
|
+
<script type="text/javascript">moveProgressBar('57.1');</script>
|
239
239
|
<dd class="spec passed"><span class="passed_spec_name">passes</span></dd>
|
240
240
|
</dl>
|
241
241
|
</div>
|
@@ -243,7 +243,7 @@ a {
|
|
243
243
|
<dl>
|
244
244
|
<dt id="example_group_6">failing spec</dt>
|
245
245
|
<script type="text/javascript">makeRed('example_group_6');</script>
|
246
|
-
<script type="text/javascript">moveProgressBar('
|
246
|
+
<script type="text/javascript">moveProgressBar('71.4');</script>
|
247
247
|
<dd class="spec failed">
|
248
248
|
<span class="failed_spec_name">fails</span>
|
249
249
|
<div class="failure" id="failure_0">
|
@@ -253,17 +253,17 @@ expected 2
|
|
253
253
|
|
254
254
|
(compared using ==)
|
255
255
|
</pre></div>
|
256
|
-
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/
|
257
|
-
<a href="txmt://open?url=file:///Users/
|
258
|
-
<a href="txmt://open?url=file:///Users/
|
259
|
-
<a href="txmt://open?url=file:///Users/
|
260
|
-
<a href="txmt://open?url=file:///Users/
|
261
|
-
<a href="txmt://open?url=file:///Users/
|
262
|
-
<a href="txmt://open?url=file:///Users/
|
263
|
-
<a href="txmt://open?url=file:///Users/
|
264
|
-
<a href="txmt://open?url=file:///Users/
|
265
|
-
<a href="txmt://open?url=file:///Users/
|
266
|
-
<a href="txmt://open?url=file:///Users/
|
256
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=34">./spec/rspec/core/resources/formatter_specs.rb:34</a> :in `block (2 levels) in <top (required)>'
|
257
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a> :in `block (2 levels) in <module:Formatters>'
|
258
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `block (5 levels) in <module:Formatters>'
|
259
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
|
260
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `block (4 levels) in <module:Formatters>'
|
261
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
|
262
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `block (3 levels) in <module:Formatters>'
|
263
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=71">./spec/spec_helper.rb:71</a> :in `block (3 levels) in <top (required)>'
|
264
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=45">./spec/spec_helper.rb:45</a> :in `instance_eval'
|
265
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=45">./spec/spec_helper.rb:45</a> :in `sandboxed'
|
266
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=71">./spec/spec_helper.rb:71</a> :in `block (2 levels) in <top (required)>'</pre></div>
|
267
267
|
<pre class="ruby"><code><span class="linenum">27</span> <span class="keyword">end</span>
|
268
268
|
<span class="linenum">28</span>
|
269
269
|
<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>
|
@@ -272,8 +272,43 @@ expected 2
|
|
272
272
|
</dd>
|
273
273
|
</dl>
|
274
274
|
</div>
|
275
|
+
<div class="example_group">
|
276
|
+
<dl>
|
277
|
+
<dt id="example_group_7">a failing spec with odd backtraces</dt>
|
278
|
+
<script type="text/javascript">makeRed('example_group_7');</script>
|
279
|
+
<script type="text/javascript">moveProgressBar('85.7');</script>
|
280
|
+
<dd class="spec failed">
|
281
|
+
<span class="failed_spec_name">fails with a backtrace that has no file</span>
|
282
|
+
<div class="failure" id="failure_0">
|
283
|
+
<div class="message"><pre>foo</pre></div>
|
284
|
+
<div class="backtrace"><pre>(erb):1:in `<main>'
|
285
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=42">./spec/rspec/core/resources/formatter_specs.rb:42</a> :in `block (2 levels) in <top (required)>'
|
286
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a> :in `block (2 levels) in <module:Formatters>'
|
287
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `block (5 levels) in <module:Formatters>'
|
288
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
|
289
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `block (4 levels) in <module:Formatters>'
|
290
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
|
291
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `block (3 levels) in <module:Formatters>'
|
292
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=71">./spec/spec_helper.rb:71</a> :in `block (3 levels) in <top (required)>'
|
293
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=45">./spec/spec_helper.rb:45</a> :in `instance_eval'
|
294
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=45">./spec/spec_helper.rb:45</a> :in `sandboxed'
|
295
|
+
<a href="txmt://open?url=file:///Users/alex/code/ruby/rspec-core/spec/spec_helper.rb&line=71">./spec/spec_helper.rb:71</a> :in `block (2 levels) in <top (required)>'</pre></div>
|
296
|
+
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
297
|
+
</div>
|
298
|
+
</dd>
|
299
|
+
<script type="text/javascript">moveProgressBar('100.0');</script>
|
300
|
+
<dd class="spec failed">
|
301
|
+
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
|
302
|
+
<div class="failure" id="failure_0">
|
303
|
+
<div class="message"><pre>Exception</pre></div>
|
304
|
+
<div class="backtrace"><pre><a href="txmt://open?url=file:///foo.html.erb&line=1">/foo.html.erb:1</a> :in `<main>': foo (RuntimeError)</pre></div>
|
305
|
+
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for /foo.html.erb</span></code></pre>
|
306
|
+
</div>
|
307
|
+
</dd>
|
308
|
+
</dl>
|
309
|
+
</div>
|
275
310
|
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
|
276
|
-
<script type="text/javascript">document.getElementById('totals').innerHTML = "
|
311
|
+
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
277
312
|
</div>
|
278
313
|
</div>
|
279
314
|
</body>
|
@@ -23,6 +23,7 @@ module RSpec
|
|
23
23
|
command_line = RSpec::Core::CommandLine.new(options)
|
24
24
|
command_line.run(err, out)
|
25
25
|
out.string.gsub /\d+\.\d+ seconds/, 'x seconds'
|
26
|
+
|
26
27
|
end
|
27
28
|
|
28
29
|
let(:expected_html) do
|
@@ -64,6 +65,19 @@ module RSpec
|
|
64
65
|
end
|
65
66
|
end
|
66
67
|
end
|
68
|
+
|
69
|
+
it "has a backtrace line from the raw erb evaluation" do
|
70
|
+
Dir.chdir(root) do
|
71
|
+
actual_doc = Nokogiri::HTML(generated_html)
|
72
|
+
|
73
|
+
actual_doc.inner_html.should include('(erb):1')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
it "has a backtrace line from a erb source file we forced to appear" do
|
78
|
+
generated_html.should include('open?url=file:///foo.html.erb')
|
79
|
+
end
|
80
|
+
|
67
81
|
end
|
68
82
|
end
|
69
83
|
end
|
@@ -141,77 +141,40 @@ module RSpec
|
|
141
141
|
end
|
142
142
|
|
143
143
|
describe "file path" do
|
144
|
-
it "finds the first
|
144
|
+
it "finds the first non-rspec lib file in the caller array" do
|
145
145
|
m = Metadata.new
|
146
146
|
m.process(:caller => [
|
147
|
-
"foo",
|
148
|
-
"#{__FILE__}:#{__LINE__}"
|
149
|
-
"bar_spec.rb:23",
|
150
|
-
"baz"
|
147
|
+
"./lib/rspec/core/foo.rb",
|
148
|
+
"#{__FILE__}:#{__LINE__}"
|
151
149
|
])
|
152
150
|
m[:example_group][:file_path].should == __FILE__
|
153
151
|
end
|
154
|
-
|
155
|
-
it "finds the first spec file in the caller array with drive letter" do
|
156
|
-
m = Metadata.new
|
157
|
-
m.process(:caller => [
|
158
|
-
"foo",
|
159
|
-
"C:/path/file_spec.rb:#{__LINE__}",
|
160
|
-
"bar_spec.rb:23",
|
161
|
-
"baz"
|
162
|
-
])
|
163
|
-
m[:example_group][:file_path].should == "C:/path/file_spec.rb"
|
164
|
-
end
|
165
|
-
|
166
|
-
it "is nil if there are no spec files found", :full_backtrace => true do
|
167
|
-
m = Metadata.new
|
168
|
-
m.process(:caller => [
|
169
|
-
"foo",
|
170
|
-
"metadata_example.rb:#{__LINE__}",
|
171
|
-
"baz"
|
172
|
-
])
|
173
|
-
m[:example_group][:file_path].should be_nil
|
174
|
-
end
|
175
152
|
end
|
176
153
|
|
177
154
|
describe "line number" do
|
178
|
-
it "finds the line number with the first
|
155
|
+
it "finds the line number with the first non-rspec lib file in the backtrace" do
|
179
156
|
m = Metadata.new
|
180
|
-
m.process(
|
181
|
-
|
182
|
-
"#{__FILE__}:#{__LINE__}",
|
183
|
-
"bar_spec.rb:23",
|
184
|
-
"baz"
|
185
|
-
])
|
186
|
-
m[:example_group][:line_number].should == __LINE__ - 4
|
157
|
+
m.process({})
|
158
|
+
m[:example_group][:line_number].should == __LINE__ - 1
|
187
159
|
end
|
160
|
+
|
188
161
|
it "finds the line number with the first spec file with drive letter" do
|
189
162
|
m = Metadata.new
|
190
|
-
m.process(:caller => [
|
191
|
-
|
192
|
-
"C:/path/to/file_spec.rb:#{__LINE__}",
|
193
|
-
"bar_spec.rb:23",
|
194
|
-
"baz"
|
195
|
-
])
|
196
|
-
m[:example_group][:line_number].should == __LINE__ - 4
|
163
|
+
m.process(:caller => [ "C:/path/to/file_spec.rb:#{__LINE__}" ])
|
164
|
+
m[:example_group][:line_number].should == __LINE__ - 1
|
197
165
|
end
|
166
|
+
|
198
167
|
it "uses the number after the first : for ruby 1.9" do
|
199
168
|
m = Metadata.new
|
200
|
-
m.process(:caller => [
|
201
|
-
|
202
|
-
"#{__FILE__}:#{__LINE__}:999",
|
203
|
-
"bar_spec.rb:23",
|
204
|
-
"baz"
|
205
|
-
])
|
206
|
-
m[:example_group][:line_number].should == __LINE__ - 4
|
169
|
+
m.process(:caller => [ "#{__FILE__}:#{__LINE__}:999" ])
|
170
|
+
m[:example_group][:line_number].should == __LINE__ - 1
|
207
171
|
end
|
208
172
|
end
|
209
173
|
|
210
174
|
describe "metadata for example" do
|
211
|
-
let(:caller_for_example) { caller(0) }
|
212
|
-
let(:line_number) { __LINE__ - 1 }
|
213
175
|
let(:metadata) { Metadata.new.process("group description") }
|
214
|
-
let(:mfe) { metadata.for_example("example description", {:
|
176
|
+
let(:mfe) { metadata.for_example("example description", {:arbitrary => :options}) }
|
177
|
+
let(:line_number) { __LINE__ - 1 }
|
215
178
|
|
216
179
|
it "stores the description" do
|
217
180
|
mfe[:description].should == "example description"
|
@@ -225,10 +188,6 @@ module RSpec
|
|
225
188
|
mfe[:execution_result].should == {}
|
226
189
|
end
|
227
190
|
|
228
|
-
it "stores the caller" do
|
229
|
-
mfe[:caller].should == caller_for_example
|
230
|
-
end
|
231
|
-
|
232
191
|
it "extracts file path from caller" do
|
233
192
|
mfe[:file_path].should == __FILE__
|
234
193
|
end
|
@@ -35,6 +35,39 @@ describe "an example" do
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
+
context "with no docstring" do
|
39
|
+
context "declared with the pending method" do
|
40
|
+
it "does not have an auto-generated description" do
|
41
|
+
group = RSpec::Core::ExampleGroup.describe('group') do
|
42
|
+
it "checks something" do
|
43
|
+
(3+4).should == 7
|
44
|
+
end
|
45
|
+
pending do
|
46
|
+
"string".reverse.should == "gnirts"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
example = group.examples.last
|
50
|
+
example.run(group.new, stub.as_null_object)
|
51
|
+
example.description.should be_empty
|
52
|
+
end
|
53
|
+
end
|
54
|
+
context "after another example with some assertion" do
|
55
|
+
it "does not show any message" do
|
56
|
+
group = RSpec::Core::ExampleGroup.describe('group') do
|
57
|
+
it "checks something" do
|
58
|
+
(3+4).should == 7
|
59
|
+
end
|
60
|
+
specify do
|
61
|
+
pending
|
62
|
+
end
|
63
|
+
end
|
64
|
+
example = group.examples.last
|
65
|
+
example.run(group.new, stub.as_null_object)
|
66
|
+
example.description.should be_empty
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
38
71
|
context "with a message" do
|
39
72
|
it "is listed as pending with the supplied message" do
|
40
73
|
group = RSpec::Core::ExampleGroup.describe('group') do
|
@@ -1,6 +1,5 @@
|
|
1
1
|
# Deliberately named _specs.rb to avoid being loaded except when specified
|
2
2
|
|
3
|
-
|
4
3
|
describe "pending spec with no implementation" do
|
5
4
|
it "is pending"
|
6
5
|
end
|
@@ -34,3 +33,22 @@ describe "failing spec" do
|
|
34
33
|
1.should eq(2)
|
35
34
|
end
|
36
35
|
end
|
36
|
+
|
37
|
+
describe "a failing spec with odd backtraces" do
|
38
|
+
it "fails with a backtrace that has no file" do
|
39
|
+
require 'erb'
|
40
|
+
|
41
|
+
ERB.new("<%= raise 'foo' %>").result
|
42
|
+
end
|
43
|
+
|
44
|
+
it "fails with a backtrace containing an erb file" do
|
45
|
+
e = Exception.new
|
46
|
+
|
47
|
+
def e.backtrace
|
48
|
+
["/foo.html.erb:1:in `<main>': foo (RuntimeError)",
|
49
|
+
" from /lib/ruby/1.9.1/erb.rb:753:in `eval'"]
|
50
|
+
end
|
51
|
+
|
52
|
+
raise e
|
53
|
+
end
|
54
|
+
end
|