rspec-core 2.8.0.rc1 → 2.8.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|