rspec-core 2.8.0.rc1 → 2.8.0.rc2
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/License.txt +24 -0
- data/README.md +197 -37
- data/features/command_line/format_option.feature +3 -3
- data/features/command_line/init.feature +18 -0
- data/features/example_groups/shared_examples.feature +1 -1
- data/features/hooks/around_hooks.feature +4 -4
- data/features/pending/pending_examples.feature +5 -5
- data/features/support/env.rb +8 -1
- data/lib/autotest/rspec2.rb +2 -6
- data/lib/rspec/core.rb +48 -158
- data/lib/rspec/core/backward_compatibility.rb +2 -0
- data/lib/rspec/core/command_line.rb +4 -0
- data/lib/rspec/core/configuration.rb +201 -106
- data/lib/rspec/core/configuration_options.rb +2 -1
- data/lib/rspec/core/deprecation.rb +2 -3
- data/lib/rspec/core/drb_options.rb +69 -58
- data/lib/rspec/core/dsl.rb +12 -0
- data/lib/rspec/core/example.rb +53 -18
- data/lib/rspec/core/example_group.rb +144 -54
- data/lib/rspec/core/extensions.rb +4 -4
- data/lib/rspec/core/extensions/instance_eval_with_args.rb +5 -0
- data/lib/rspec/core/extensions/kernel.rb +1 -1
- data/lib/rspec/core/extensions/module_eval_with_args.rb +4 -0
- data/lib/rspec/core/extensions/ordered.rb +7 -2
- data/lib/rspec/core/filter_manager.rb +69 -36
- data/lib/rspec/core/formatters/base_text_formatter.rb +1 -1
- data/lib/rspec/core/formatters/html_formatter.rb +10 -4
- data/lib/rspec/core/hooks.rb +93 -34
- data/lib/rspec/core/let.rb +62 -61
- data/lib/rspec/core/metadata.rb +103 -80
- data/lib/rspec/core/metadata_hash_builder.rb +4 -0
- data/lib/rspec/core/option_parser.rb +42 -44
- data/lib/rspec/core/pending.rb +25 -3
- data/lib/rspec/core/project_initializer.rb +62 -0
- data/lib/rspec/core/rake_task.rb +7 -13
- data/lib/rspec/core/runner.rb +2 -2
- data/lib/rspec/core/shared_context.rb +1 -1
- data/lib/rspec/core/shared_example_group.rb +11 -5
- data/lib/rspec/core/subject.rb +3 -3
- data/lib/rspec/core/version.rb +1 -1
- data/lib/rspec/monkey.rb +1 -1
- data/lib/rspec/monkey/spork/test_framework/rspec.rb +2 -0
- data/spec/command_line/order_spec.rb +19 -13
- data/spec/rspec/core/command_line_spec.rb +1 -5
- data/spec/rspec/core/configuration_options_spec.rb +22 -27
- data/spec/rspec/core/configuration_spec.rb +32 -14
- data/spec/rspec/core/drb_command_line_spec.rb +20 -37
- data/spec/rspec/core/drb_options_spec.rb +51 -3
- data/spec/rspec/core/example_group_spec.rb +101 -84
- data/spec/rspec/core/example_spec.rb +14 -0
- data/spec/rspec/core/filter_manager_spec.rb +114 -33
- data/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +17 -69
- data/spec/rspec/core/formatters/html_formatted-1.8.7.html +14 -4
- data/spec/rspec/core/formatters/html_formatted-1.9.2.html +14 -4
- data/spec/rspec/core/formatters/html_formatted-1.9.3.html +14 -4
- data/spec/rspec/core/formatters/html_formatter_spec.rb +1 -1
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +20 -72
- data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +24 -14
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +29 -19
- data/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +29 -19
- data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +1 -2
- data/spec/rspec/core/metadata_spec.rb +77 -45
- data/spec/rspec/core/option_parser_spec.rb +5 -0
- data/spec/rspec/core/pending_example_spec.rb +44 -12
- data/spec/rspec/core/project_initializer_spec.rb +130 -0
- data/spec/rspec/core/rake_task_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/support/matchers.rb +2 -12
- metadata +18 -16
- data/features/command_line/configure.feature +0 -22
- data/lib/rspec/core/command_line_configuration.rb +0 -62
- data/lib/rspec/core/errors.rb +0 -13
- data/spec/rspec/core/command_line_configuration_spec.rb +0 -26
@@ -155,6 +155,12 @@ dd {
|
|
155
155
|
padding: 3px 3px 3px 18px;
|
156
156
|
}
|
157
157
|
|
158
|
+
dd .duration {
|
159
|
+
padding-left: 5px;
|
160
|
+
text-align: right;
|
161
|
+
right: 0px;
|
162
|
+
float:right;
|
163
|
+
}
|
158
164
|
|
159
165
|
dd.example.passed {
|
160
166
|
border-left: 5px solid #65C400;
|
@@ -283,7 +289,7 @@ a {
|
|
283
289
|
<script type="text/javascript">makeYellow('div_group_1');</script>
|
284
290
|
<script type="text/javascript">makeYellow('example_group_1');</script>
|
285
291
|
<script type="text/javascript">moveProgressBar('14.2');</script>
|
286
|
-
<dd class="example not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not
|
292
|
+
<dd class="example not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not yet implemented)</span></dd>
|
287
293
|
</dl>
|
288
294
|
</div>
|
289
295
|
<div id="div_group_2" class="example_group passed">
|
@@ -310,15 +316,16 @@ a {
|
|
310
316
|
<script type="text/javascript">moveProgressBar('42.8');</script>
|
311
317
|
<dd class="example pending_fixed">
|
312
318
|
<span class="failed_spec_name">fails</span>
|
319
|
+
<span class="duration">n.nnnns</span>
|
313
320
|
<div class="failure" id="failure_1">
|
314
|
-
<div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
|
321
|
+
<div class="message"><pre>RSpec::Core::Pending::PendingExampleFixedError</pre></div>
|
315
322
|
<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>
|
316
323
|
<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>
|
317
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
318
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
319
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
320
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
321
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
324
|
+
<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>
|
325
|
+
<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 `open'
|
326
|
+
<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>
|
327
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
328
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> </pre></div>
|
322
329
|
<pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">"</span><span class="string">with content that would pass</span><span class="punct">"</span> <span class="keyword">do</span>
|
323
330
|
<span class="linenum">17</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
324
331
|
<span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
|
@@ -332,7 +339,7 @@ a {
|
|
332
339
|
<dl style="margin-left: 0px;">
|
333
340
|
<dt id="example_group_5" class="passed">passing spec</dt>
|
334
341
|
<script type="text/javascript">moveProgressBar('57.1');</script>
|
335
|
-
<dd class="example passed"><span class="passed_spec_name">passes</span></dd>
|
342
|
+
<dd class="example passed"><span class="passed_spec_name">passes</span><span class='duration'>n.nnnns</span></dd>
|
336
343
|
</dl>
|
337
344
|
</div>
|
338
345
|
<div id="div_group_6" class="example_group passed">
|
@@ -343,6 +350,7 @@ a {
|
|
343
350
|
<script type="text/javascript">moveProgressBar('71.4');</script>
|
344
351
|
<dd class="example failed">
|
345
352
|
<span class="failed_spec_name">fails</span>
|
353
|
+
<span class="duration">n.nnnns</span>
|
346
354
|
<div class="failure" id="failure_2">
|
347
355
|
<div class="message"><pre>
|
348
356
|
expected: 2
|
@@ -352,11 +360,11 @@ expected: 2
|
|
352
360
|
</pre></div>
|
353
361
|
<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>
|
354
362
|
<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>
|
355
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
356
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
357
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
358
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
359
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
363
|
+
<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>
|
364
|
+
<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 `open'
|
365
|
+
<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>
|
366
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
367
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> </pre></div>
|
360
368
|
<pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">"</span><span class="string">failing spec</span><span class="punct">"</span> <span class="keyword">do</span>
|
361
369
|
<span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
362
370
|
<span class="offending"><span class="linenum">33</span> <span class="number">1</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eq</span><span class="punct">(</span><span class="number">2</span><span class="punct">)</span></span>
|
@@ -374,6 +382,7 @@ expected: 2
|
|
374
382
|
<script type="text/javascript">moveProgressBar('85.7');</script>
|
375
383
|
<dd class="example failed">
|
376
384
|
<span class="failed_spec_name">fails with a backtrace that has no file</span>
|
385
|
+
<span class="duration">n.nnnns</span>
|
377
386
|
<div class="failure" id="failure_3">
|
378
387
|
<div class="message"><pre>foo</pre></div>
|
379
388
|
<div class="backtrace"><pre>(erb):1</pre></div>
|
@@ -383,6 +392,7 @@ expected: 2
|
|
383
392
|
<script type="text/javascript">moveProgressBar('100.0');</script>
|
384
393
|
<dd class="example failed">
|
385
394
|
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
|
395
|
+
<span class="duration">n.nnnns</span>
|
386
396
|
<div class="failure" id="failure_4">
|
387
397
|
<div class="message"><pre>Exception</pre></div>
|
388
398
|
<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>
|
@@ -391,7 +401,7 @@ expected: 2
|
|
391
401
|
</dd>
|
392
402
|
</dl>
|
393
403
|
</div>
|
394
|
-
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>
|
404
|
+
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>n.nnnn seconds</strong>";</script>
|
395
405
|
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
396
406
|
</div>
|
397
407
|
</div>
|
@@ -155,6 +155,12 @@ dd {
|
|
155
155
|
padding: 3px 3px 3px 18px;
|
156
156
|
}
|
157
157
|
|
158
|
+
dd .duration {
|
159
|
+
padding-left: 5px;
|
160
|
+
text-align: right;
|
161
|
+
right: 0px;
|
162
|
+
float:right;
|
163
|
+
}
|
158
164
|
|
159
165
|
dd.example.passed {
|
160
166
|
border-left: 5px solid #65C400;
|
@@ -283,7 +289,7 @@ a {
|
|
283
289
|
<script type="text/javascript">makeYellow('div_group_1');</script>
|
284
290
|
<script type="text/javascript">makeYellow('example_group_1');</script>
|
285
291
|
<script type="text/javascript">moveProgressBar('14.2');</script>
|
286
|
-
<dd class="example not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not
|
292
|
+
<dd class="example not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not yet implemented)</span></dd>
|
287
293
|
</dl>
|
288
294
|
</div>
|
289
295
|
<div id="div_group_2" class="example_group passed">
|
@@ -310,15 +316,16 @@ a {
|
|
310
316
|
<script type="text/javascript">moveProgressBar('42.8');</script>
|
311
317
|
<dd class="example pending_fixed">
|
312
318
|
<span class="failed_spec_name">fails</span>
|
319
|
+
<span class="duration">n.nnnns</span>
|
313
320
|
<div class="failure" id="failure_1">
|
314
|
-
<div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
|
321
|
+
<div class="message"><pre>RSpec::Core::Pending::PendingExampleFixedError</pre></div>
|
315
322
|
<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> :in `block (3 levels) in <top (required)>'
|
316
323
|
<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> :in `block (2 levels) in <module:Formatters>'
|
317
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
318
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
319
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
320
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
321
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
324
|
+
<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 `block (5 levels) in <module:Formatters>'
|
325
|
+
<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 `open'
|
326
|
+
<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 `block (4 levels) in <module:Formatters>'
|
327
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
328
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatters>'</pre></div>
|
322
329
|
<pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">"</span><span class="string">with content that would pass</span><span class="punct">"</span> <span class="keyword">do</span>
|
323
330
|
<span class="linenum">17</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
324
331
|
<span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
|
@@ -332,7 +339,7 @@ a {
|
|
332
339
|
<dl style="margin-left: 0px;">
|
333
340
|
<dt id="example_group_5" class="passed">passing spec</dt>
|
334
341
|
<script type="text/javascript">moveProgressBar('57.1');</script>
|
335
|
-
<dd class="example passed"><span class="passed_spec_name">passes</span></dd>
|
342
|
+
<dd class="example passed"><span class="passed_spec_name">passes</span><span class='duration'>n.nnnns</span></dd>
|
336
343
|
</dl>
|
337
344
|
</div>
|
338
345
|
<div id="div_group_6" class="example_group passed">
|
@@ -343,6 +350,7 @@ a {
|
|
343
350
|
<script type="text/javascript">moveProgressBar('71.4');</script>
|
344
351
|
<dd class="example failed">
|
345
352
|
<span class="failed_spec_name">fails</span>
|
353
|
+
<span class="duration">n.nnnns</span>
|
346
354
|
<div class="failure" id="failure_2">
|
347
355
|
<div class="message"><pre>
|
348
356
|
expected: 2
|
@@ -352,11 +360,11 @@ expected: 2
|
|
352
360
|
</pre></div>
|
353
361
|
<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> :in `block (2 levels) in <top (required)>'
|
354
362
|
<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> :in `block (2 levels) in <module:Formatters>'
|
355
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
356
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
357
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
358
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
359
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
363
|
+
<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 `block (5 levels) in <module:Formatters>'
|
364
|
+
<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 `open'
|
365
|
+
<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 `block (4 levels) in <module:Formatters>'
|
366
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
367
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatters>'</pre></div>
|
360
368
|
<pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">"</span><span class="string">failing spec</span><span class="punct">"</span> <span class="keyword">do</span>
|
361
369
|
<span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
362
370
|
<span class="offending"><span class="linenum">33</span> <span class="number">1</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eq</span><span class="punct">(</span><span class="number">2</span><span class="punct">)</span></span>
|
@@ -374,22 +382,24 @@ expected: 2
|
|
374
382
|
<script type="text/javascript">moveProgressBar('85.7');</script>
|
375
383
|
<dd class="example failed">
|
376
384
|
<span class="failed_spec_name">fails with a backtrace that has no file</span>
|
385
|
+
<span class="duration">n.nnnns</span>
|
377
386
|
<div class="failure" id="failure_3">
|
378
387
|
<div class="message"><pre>foo</pre></div>
|
379
388
|
<div class="backtrace"><pre>(erb):1:in `<main>'
|
380
389
|
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=41">./spec/rspec/core/resources/formatter_specs.rb:41</a> :in `block (2 levels) in <top (required)>'
|
381
390
|
<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> :in `block (2 levels) in <module:Formatters>'
|
382
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
383
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
384
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
385
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
386
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
391
|
+
<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 `block (5 levels) in <module:Formatters>'
|
392
|
+
<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 `open'
|
393
|
+
<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 `block (4 levels) in <module:Formatters>'
|
394
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
395
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatters>'</pre></div>
|
387
396
|
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
388
397
|
</div>
|
389
398
|
</dd>
|
390
399
|
<script type="text/javascript">moveProgressBar('100.0');</script>
|
391
400
|
<dd class="example failed">
|
392
401
|
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
|
402
|
+
<span class="duration">n.nnnns</span>
|
393
403
|
<div class="failure" id="failure_4">
|
394
404
|
<div class="message"><pre>Exception</pre></div>
|
395
405
|
<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>
|
@@ -398,7 +408,7 @@ expected: 2
|
|
398
408
|
</dd>
|
399
409
|
</dl>
|
400
410
|
</div>
|
401
|
-
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>
|
411
|
+
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>n.nnnn seconds</strong>";</script>
|
402
412
|
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
403
413
|
</div>
|
404
414
|
</div>
|
@@ -155,6 +155,12 @@ dd {
|
|
155
155
|
padding: 3px 3px 3px 18px;
|
156
156
|
}
|
157
157
|
|
158
|
+
dd .duration {
|
159
|
+
padding-left: 5px;
|
160
|
+
text-align: right;
|
161
|
+
right: 0px;
|
162
|
+
float:right;
|
163
|
+
}
|
158
164
|
|
159
165
|
dd.example.passed {
|
160
166
|
border-left: 5px solid #65C400;
|
@@ -283,7 +289,7 @@ a {
|
|
283
289
|
<script type="text/javascript">makeYellow('div_group_1');</script>
|
284
290
|
<script type="text/javascript">makeYellow('example_group_1');</script>
|
285
291
|
<script type="text/javascript">moveProgressBar('14.2');</script>
|
286
|
-
<dd class="example not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not
|
292
|
+
<dd class="example not_implemented"><span class="not_implemented_spec_name">is pending (PENDING: Not yet implemented)</span></dd>
|
287
293
|
</dl>
|
288
294
|
</div>
|
289
295
|
<div id="div_group_2" class="example_group passed">
|
@@ -310,15 +316,16 @@ a {
|
|
310
316
|
<script type="text/javascript">moveProgressBar('42.8');</script>
|
311
317
|
<dd class="example pending_fixed">
|
312
318
|
<span class="failed_spec_name">fails</span>
|
319
|
+
<span class="duration">n.nnnns</span>
|
313
320
|
<div class="failure" id="failure_1">
|
314
|
-
<div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
|
321
|
+
<div class="message"><pre>RSpec::Core::Pending::PendingExampleFixedError</pre></div>
|
315
322
|
<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> :in `block (3 levels) in <top (required)>'
|
316
323
|
<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> :in `block (2 levels) in <module:Formatters>'
|
317
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
318
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
319
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
320
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
321
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
324
|
+
<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 `block (5 levels) in <module:Formatters>'
|
325
|
+
<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 `open'
|
326
|
+
<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 `block (4 levels) in <module:Formatters>'
|
327
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
328
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatters>'</pre></div>
|
322
329
|
<pre class="ruby"><code><span class="linenum">16</span> <span class="ident">context</span> <span class="punct">"</span><span class="string">with content that would pass</span><span class="punct">"</span> <span class="keyword">do</span>
|
323
330
|
<span class="linenum">17</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
324
331
|
<span class="offending"><span class="linenum">18</span> <span class="ident">pending</span> <span class="keyword">do</span></span>
|
@@ -332,7 +339,7 @@ a {
|
|
332
339
|
<dl style="margin-left: 0px;">
|
333
340
|
<dt id="example_group_5" class="passed">passing spec</dt>
|
334
341
|
<script type="text/javascript">moveProgressBar('57.1');</script>
|
335
|
-
<dd class="example passed"><span class="passed_spec_name">passes</span></dd>
|
342
|
+
<dd class="example passed"><span class="passed_spec_name">passes</span><span class='duration'>n.nnnns</span></dd>
|
336
343
|
</dl>
|
337
344
|
</div>
|
338
345
|
<div id="div_group_6" class="example_group passed">
|
@@ -343,6 +350,7 @@ a {
|
|
343
350
|
<script type="text/javascript">moveProgressBar('71.4');</script>
|
344
351
|
<dd class="example failed">
|
345
352
|
<span class="failed_spec_name">fails</span>
|
353
|
+
<span class="duration">n.nnnns</span>
|
346
354
|
<div class="failure" id="failure_2">
|
347
355
|
<div class="message"><pre>
|
348
356
|
expected: 2
|
@@ -352,11 +360,11 @@ expected: 2
|
|
352
360
|
</pre></div>
|
353
361
|
<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> :in `block (2 levels) in <top (required)>'
|
354
362
|
<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> :in `block (2 levels) in <module:Formatters>'
|
355
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
356
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
357
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
358
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
359
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
363
|
+
<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 `block (5 levels) in <module:Formatters>'
|
364
|
+
<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 `open'
|
365
|
+
<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 `block (4 levels) in <module:Formatters>'
|
366
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
367
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatters>'</pre></div>
|
360
368
|
<pre class="ruby"><code><span class="linenum">31</span><span class="ident">describe</span> <span class="punct">"</span><span class="string">failing spec</span><span class="punct">"</span> <span class="keyword">do</span>
|
361
369
|
<span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">fails</span><span class="punct">"</span> <span class="keyword">do</span>
|
362
370
|
<span class="offending"><span class="linenum">33</span> <span class="number">1</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eq</span><span class="punct">(</span><span class="number">2</span><span class="punct">)</span></span>
|
@@ -374,22 +382,24 @@ expected: 2
|
|
374
382
|
<script type="text/javascript">moveProgressBar('85.7');</script>
|
375
383
|
<dd class="example failed">
|
376
384
|
<span class="failed_spec_name">fails with a backtrace that has no file</span>
|
385
|
+
<span class="duration">n.nnnns</span>
|
377
386
|
<div class="failure" id="failure_3">
|
378
387
|
<div class="message"><pre>foo</pre></div>
|
379
388
|
<div class="backtrace"><pre>(erb):1:in `<main>'
|
380
389
|
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=41">./spec/rspec/core/resources/formatter_specs.rb:41</a> :in `block (2 levels) in <top (required)>'
|
381
390
|
<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> :in `block (2 levels) in <module:Formatters>'
|
382
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
383
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
384
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
385
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
386
|
-
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=
|
391
|
+
<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 `block (5 levels) in <module:Formatters>'
|
392
|
+
<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 `open'
|
393
|
+
<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 `block (4 levels) in <module:Formatters>'
|
394
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `chdir'
|
395
|
+
<a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=45">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:45</a> :in `block (3 levels) in <module:Formatters>'</pre></div>
|
387
396
|
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
|
388
397
|
</div>
|
389
398
|
</dd>
|
390
399
|
<script type="text/javascript">moveProgressBar('100.0');</script>
|
391
400
|
<dd class="example failed">
|
392
401
|
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
|
402
|
+
<span class="duration">n.nnnns</span>
|
393
403
|
<div class="failure" id="failure_4">
|
394
404
|
<div class="message"><pre>Exception</pre></div>
|
395
405
|
<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>
|
@@ -398,7 +408,7 @@ expected: 2
|
|
398
408
|
</dd>
|
399
409
|
</dl>
|
400
410
|
</div>
|
401
|
-
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>
|
411
|
+
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>n.nnnn seconds</strong>";</script>
|
402
412
|
<script type="text/javascript">document.getElementById('totals').innerHTML = "7 examples, 4 failures, 2 pending";</script>
|
403
413
|
</div>
|
404
414
|
</div>
|
@@ -22,8 +22,7 @@ module RSpec
|
|
22
22
|
err, out = StringIO.new, StringIO.new
|
23
23
|
command_line = RSpec::Core::CommandLine.new(options)
|
24
24
|
command_line.run(err, out)
|
25
|
-
out.string.gsub(/\d+\.\d+ seconds/,
|
26
|
-
|
25
|
+
out.string.gsub(/\d+\.\d+(s| seconds)/, "n.nnnn\\1")
|
27
26
|
end
|
28
27
|
|
29
28
|
let(:expected_html) do
|
@@ -131,6 +131,36 @@ module RSpec
|
|
131
131
|
example_metadata.filter_applies?(:if, lambda { |v, m| passed_metadata = m })
|
132
132
|
passed_metadata.should eq(example_metadata)
|
133
133
|
end
|
134
|
+
|
135
|
+
context "with an Array" do
|
136
|
+
let(:metadata_with_array) {
|
137
|
+
group_metadata.for_example('example_with_array', :tag => [:one, 2, 'three', /four/])
|
138
|
+
}
|
139
|
+
|
140
|
+
it "matches a symbol" do
|
141
|
+
metadata_with_array.filter_applies?(:tag, 'one').should be_true
|
142
|
+
metadata_with_array.filter_applies?(:tag, :one).should be_true
|
143
|
+
metadata_with_array.filter_applies?(:tag, 'two').should be_false
|
144
|
+
end
|
145
|
+
|
146
|
+
it "matches a string" do
|
147
|
+
metadata_with_array.filter_applies?(:tag, 'three').should be_true
|
148
|
+
metadata_with_array.filter_applies?(:tag, :three).should be_true
|
149
|
+
metadata_with_array.filter_applies?(:tag, 'tree').should be_false
|
150
|
+
end
|
151
|
+
|
152
|
+
it "matches an integer" do
|
153
|
+
metadata_with_array.filter_applies?(:tag, '2').should be_true
|
154
|
+
metadata_with_array.filter_applies?(:tag, 2).should be_true
|
155
|
+
metadata_with_array.filter_applies?(:tag, 3).should be_false
|
156
|
+
end
|
157
|
+
|
158
|
+
it "matches a regexp" do
|
159
|
+
metadata_with_array.filter_applies?(:tag, 'four').should be_true
|
160
|
+
metadata_with_array.filter_applies?(:tag, 'fourtune').should be_true
|
161
|
+
metadata_with_array.filter_applies?(:tag, 'fortune').should be_false
|
162
|
+
end
|
163
|
+
end
|
134
164
|
end
|
135
165
|
|
136
166
|
describe "#for_example" do
|
@@ -179,69 +209,71 @@ module RSpec
|
|
179
209
|
end
|
180
210
|
end
|
181
211
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
212
|
+
[:described_class, :describes].each do |key|
|
213
|
+
describe key do
|
214
|
+
context "with a String" do
|
215
|
+
it "returns nil" do
|
216
|
+
m = Metadata.new
|
217
|
+
m.process('group')
|
187
218
|
|
188
|
-
|
219
|
+
m[:example_group][key].should be_nil
|
220
|
+
end
|
189
221
|
end
|
190
|
-
end
|
191
222
|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
223
|
+
context "with a Symbol" do
|
224
|
+
it "returns nil" do
|
225
|
+
m = Metadata.new
|
226
|
+
m.process(:group)
|
196
227
|
|
197
|
-
|
228
|
+
m[:example_group][key].should be_nil
|
229
|
+
end
|
198
230
|
end
|
199
|
-
end
|
200
231
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
232
|
+
context "with a class" do
|
233
|
+
it "returns the class" do
|
234
|
+
m = Metadata.new
|
235
|
+
m.process(String)
|
205
236
|
|
206
|
-
|
237
|
+
m[:example_group][key].should be(String)
|
238
|
+
end
|
207
239
|
end
|
208
|
-
end
|
209
240
|
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
241
|
+
context "in a nested group" do
|
242
|
+
it "returns the parent group's described class" do
|
243
|
+
sm = Metadata.new
|
244
|
+
sm.process(String)
|
214
245
|
|
215
|
-
|
216
|
-
|
246
|
+
m = Metadata.new(sm)
|
247
|
+
m.process(Array)
|
217
248
|
|
218
|
-
|
219
|
-
|
249
|
+
m[:example_group][key].should be(String)
|
250
|
+
end
|
220
251
|
|
221
|
-
|
222
|
-
|
223
|
-
|
252
|
+
it "returns own described class if parent doesn't have one" do
|
253
|
+
sm = Metadata.new
|
254
|
+
sm.process("foo")
|
224
255
|
|
225
|
-
|
226
|
-
|
256
|
+
m = Metadata.new(sm)
|
257
|
+
m.process(Array)
|
227
258
|
|
228
|
-
|
229
|
-
|
259
|
+
m[:example_group][key].should be(Array)
|
260
|
+
end
|
230
261
|
|
231
|
-
|
232
|
-
|
233
|
-
|
262
|
+
it "can override a parent group's described class" do
|
263
|
+
parent = Metadata.new
|
264
|
+
parent.process(String)
|
234
265
|
|
235
|
-
|
236
|
-
|
237
|
-
|
266
|
+
child = Metadata.new(parent)
|
267
|
+
child.process(Fixnum)
|
268
|
+
child[:example_group][key] = Hash
|
238
269
|
|
239
|
-
|
240
|
-
|
270
|
+
grandchild = Metadata.new(child)
|
271
|
+
grandchild.process(Array)
|
241
272
|
|
242
|
-
|
243
|
-
|
244
|
-
|
273
|
+
grandchild[:example_group][key].should be(Hash)
|
274
|
+
child[:example_group][key].should be(Hash)
|
275
|
+
parent[:example_group][key].should be(String)
|
276
|
+
end
|
245
277
|
end
|
246
278
|
end
|
247
279
|
end
|