dfect 2.1.0 → 2.2.0

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.
@@ -1,3470 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta name="Content-Type" content="text/html; charset=utf-8" />
6
- <title>Module: Dfect</title>
7
- <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
-
10
- <script type="text/javascript" charset="utf-8">
11
- relpath = '';
12
- if (relpath != '') relpath += '/';
13
- </script>
14
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
-
17
- </head>
18
- <body>
19
- <script type="text/javascript" charset="utf-8">
20
- if (window.top.frames.main) document.body.className = 'frames';
21
- </script>
22
-
23
- <div id="header">
24
- <div id="menu">
25
-
26
- <a href="_index.html">Index (D)</a> &raquo;
27
-
28
-
29
- <span class="title">Dfect</span>
30
-
31
-
32
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
- </div>
34
-
35
- <div id="search">
36
- <a id="class_list_link" href="#">Class List</a>
37
- <a id="method_list_link" href="#">Method List</a>
38
- <a id ="file_list_link" href="#">File List</a>
39
- </div>
40
-
41
- <div class="clear"></div>
42
- </div>
43
-
44
- <iframe id="search_frame"></iframe>
45
-
46
- <div id="content"><h1>Module: Dfect
47
-
48
-
49
- </h1>
50
-
51
- <dl class="box">
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
- <dt class="r1">Included in:</dt>
60
- <dd class="r1"><a href="Object.html" title="Object (class)">Object</a></dd>
61
-
62
-
63
-
64
- <dt class="r2 last">Defined in:</dt>
65
- <dd class="r2 last">lib/dfect.rb<span class="defines">,<br />
66
- lib/dfect/mini.rb,<br /> lib/dfect/spec.rb,<br /> lib/dfect/unit.rb,<br /> lib/dfect/inochi.rb</span>
67
- </dd>
68
-
69
- </dl>
70
- <div class="clear"></div>
71
-
72
-
73
- <h2>Constant Summary</h2>
74
-
75
- <dl class="constants">
76
-
77
- <dt id="D-constant" class="">D =
78
- <div class="docstring">
79
- <div class="discussion">
80
- <p>
81
- Allows before and after hooks to be specified via the following method
82
- syntax when this module is mixed-in:
83
- </p>
84
- <pre class="code">
85
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>before all nested tests</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
86
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>before each nested test</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
87
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&gt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after each nested test</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
88
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&gt;&gt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after all nested tests</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
89
- </pre>
90
-
91
-
92
- </div>
93
- </div>
94
- <div class="tags">
95
-
96
- </div>
97
- </dt>
98
- <dd><pre class="code"><span class='kw'>self</span></pre></dd>
99
-
100
- <dt id="PROJECT-constant" class="">PROJECT =
101
- <div class="docstring">
102
- <div class="discussion">
103
- <p>
104
- Official name of this project.
105
- </p>
106
-
107
-
108
- </div>
109
- </div>
110
- <div class="tags">
111
-
112
- </div>
113
- </dt>
114
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Dfect</span><span class='tstring_end'>&quot;</span></span></pre></dd>
115
-
116
- <dt id="TAGLINE-constant" class="">TAGLINE =
117
- <div class="docstring">
118
- <div class="discussion">
119
- <p>
120
- Short single-line description of this project.
121
- </p>
122
-
123
-
124
- </div>
125
- </div>
126
- <div class="tags">
127
-
128
- </div>
129
- </dt>
130
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Assertion testing library for Ruby</span><span class='tstring_end'>&quot;</span></span></pre></dd>
131
-
132
- <dt id="WEBSITE-constant" class="">WEBSITE =
133
- <div class="docstring">
134
- <div class="discussion">
135
- <p>
136
- Address of this project&#8217;s official home page.
137
- </p>
138
-
139
-
140
- </div>
141
- </div>
142
- <div class="tags">
143
-
144
- </div>
145
- </dt>
146
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http://snk.tuxfamily.org/lib/dfect/</span><span class='tstring_end'>&quot;</span></span></pre></dd>
147
-
148
- <dt id="VERSION-constant" class="">VERSION =
149
- <div class="docstring">
150
- <div class="discussion">
151
- <p>
152
- Number of this release of this project.
153
- </p>
154
-
155
-
156
- </div>
157
- </div>
158
- <div class="tags">
159
-
160
- </div>
161
- </dt>
162
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2.1.0</span><span class='tstring_end'>&quot;</span></span></pre></dd>
163
-
164
- <dt id="RELDATE-constant" class="">RELDATE =
165
- <div class="docstring">
166
- <div class="discussion">
167
- <p>
168
- Date of this release of this project.
169
- </p>
170
-
171
-
172
- </div>
173
- </div>
174
- <div class="tags">
175
-
176
- </div>
177
- </dt>
178
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2010-03-31</span><span class='tstring_end'>&quot;</span></span></pre></dd>
179
-
180
- <dt id="INSTDIR-constant" class="">INSTDIR =
181
- <div class="docstring">
182
- <div class="discussion">
183
- <p>
184
- Location of this release of this project.
185
- </p>
186
-
187
-
188
- </div>
189
- </div>
190
- <div class="tags">
191
-
192
- </div>
193
- </dt>
194
- <dd><pre class="code"><span class='const'>File</span><span class='period'>.</span><span class='id expand_path'>expand_path</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>../../..</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='kw'>__FILE__</span><span class='rparen'>)</span></pre></dd>
195
-
196
- <dt id="RUNTIME-constant" class="">RUNTIME =
197
- <div class="docstring">
198
- <div class="discussion">
199
- <p>
200
- RubyGems required by this project during runtime.
201
- </p>
202
-
203
-
204
- </div>
205
- </div>
206
- <div class="tags">
207
-
208
- <div class="examples">
209
- <h3>Examples:</h3>
210
-
211
- <h4><div class='inline'></div></h4>
212
- <pre class="example code">
213
- <span class='const'>RUNTIME</span> <span class='op'>=</span> <span class='lbrace'>{</span>
214
- <span class='comment'># this project needs exactly version 1.2.3 of the &quot;an_example&quot; gem
215
- </span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>an_example</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>1.2.3</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span><span class='comma'>,</span>
216
-
217
- <span class='comment'># this project needs at least version 1.2 (but not
218
- </span> <span class='comment'># version 1.2.4 or newer) of the &quot;another_example&quot; gem
219
- </span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>another_example</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;= 1.2</span><span class='tstring_end'>&quot;</span></span> <span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt; 1.2.4</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span><span class='comma'>,</span>
220
-
221
- <span class='comment'># this project needs any version of the &quot;yet_another_example&quot; gem
222
- </span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>yet_another_example</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
223
- <span class='rbrace'>}</span></pre>
224
-
225
- </div>
226
-
227
- </div>
228
- </dt>
229
- <dd><pre class="code"><span class='lbrace'>{</span><span class='rbrace'>}</span></pre></dd>
230
-
231
- <dt id="DEVTIME-constant" class="">DEVTIME =
232
- <div class="docstring">
233
- <div class="discussion">
234
- <p>
235
- RubyGems required by this project during development.
236
- </p>
237
-
238
-
239
- </div>
240
- </div>
241
- <div class="tags">
242
-
243
- <div class="examples">
244
- <h3>Examples:</h3>
245
-
246
- <h4><div class='inline'></div></h4>
247
- <pre class="example code">
248
- <span class='const'>DEVTIME</span> <span class='op'>=</span> <span class='lbrace'>{</span>
249
- <span class='comment'># this project needs exactly version 1.2.3 of the &quot;an_example&quot; gem
250
- </span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>an_example</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>1.2.3</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span><span class='comma'>,</span>
251
-
252
- <span class='comment'># this project needs at least version 1.2 (but not
253
- </span> <span class='comment'># version 1.2.4 or newer) of the &quot;another_example&quot; gem
254
- </span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>another_example</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;= 1.2</span><span class='tstring_end'>&quot;</span></span> <span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt; 1.2.4</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span><span class='comma'>,</span>
255
-
256
- <span class='comment'># this project needs any version of the &quot;yet_another_example&quot; gem
257
- </span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>yet_another_example</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
258
- <span class='rbrace'>}</span></pre>
259
-
260
- </div>
261
-
262
- </div>
263
- </dt>
264
- <dd><pre class="code"><span class='lbrace'>{</span>
265
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>inochi</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>~&gt; 2</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span><span class='comma'>,</span> <span class='comment'># for managing this project
266
- </span><span class='rbrace'>}</span></pre></dd>
267
-
268
- </dl>
269
-
270
-
271
-
272
- <h2>Class Attribute Summary</h2>
273
- <ul class="summary">
274
-
275
- <li class="public ">
276
- <span class="summary_signature">
277
-
278
- <a href="#options-class_method" title="options (class method)">+ (Object) <strong>options</strong> </a>
279
-
280
-
281
-
282
- </span>
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
- <span class="summary_desc"><div class='inline'><p>
294
- Hash of choices that affect how Dfect operates.
295
- </p>
296
- </div></span>
297
-
298
- </li>
299
-
300
-
301
- <li class="public ">
302
- <span class="summary_signature">
303
-
304
- <a href="#report-class_method" title="report (class method)">+ (Object) <strong>report</strong> </a>
305
-
306
-
307
-
308
- </span>
309
-
310
-
311
- <span class="note title readonly">readonly</span>
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
- <span class="summary_desc"><div class='inline'><p>
320
- Hash of test results, assembled by <tt><a href="#run-class_method" title="Dfect.run (method)">Dfect.run</a></tt>.
321
- </p>
322
- </div></span>
323
-
324
- </li>
325
-
326
-
327
- </ul>
328
-
329
-
330
-
331
- <h2>Class Method Summary</h2>
332
-
333
- <ul class="summary">
334
-
335
- <li class="public ">
336
- <span class="summary_signature">
337
-
338
- <a href="#%3C-class_method" title="&lt; (class method)">+ (Object) <strong>&lt;</strong>(&amp;block) </a>
339
-
340
-
341
-
342
- </span>
343
-
344
-
345
-
346
-
347
-
348
-
349
-
350
- <span class="summary_desc"><div class='inline'><p>
351
- Registers the given block to be executed before each nested test inside
352
- this test.
353
- </p>
354
- </div></span>
355
-
356
- </li>
357
-
358
-
359
- <li class="public ">
360
- <span class="summary_signature">
361
-
362
- <a href="#%3C%3C-class_method" title="&lt;&lt; (class method)">+ (Object) <strong>&lt;&lt;</strong>(&amp;block) </a>
363
-
364
-
365
-
366
- </span>
367
-
368
-
369
-
370
-
371
-
372
-
373
-
374
- <span class="summary_desc"><div class='inline'><p>
375
- Registers the given block to be executed before all nested tests inside
376
- this test.
377
- </p>
378
- </div></span>
379
-
380
- </li>
381
-
382
-
383
- <li class="public ">
384
- <span class="summary_signature">
385
-
386
- <a href="#%3E-class_method" title="&gt; (class method)">+ (Object) <strong>&gt;</strong>(&amp;block) </a>
387
-
388
-
389
-
390
- </span>
391
-
392
-
393
-
394
-
395
-
396
-
397
-
398
- <span class="summary_desc"><div class='inline'><p>
399
- Registers the given block to be executed after each nested test inside this
400
- test.
401
- </p>
402
- </div></span>
403
-
404
- </li>
405
-
406
-
407
- <li class="public ">
408
- <span class="summary_signature">
409
-
410
- <a href="#%3E%3E-class_method" title="&gt;&gt; (class method)">+ (Object) <strong>&gt;&gt;</strong>(&amp;block) </a>
411
-
412
-
413
-
414
- </span>
415
-
416
-
417
-
418
-
419
-
420
-
421
-
422
- <span class="summary_desc"><div class='inline'><p>
423
- Registers the given block to be executed after all nested tests inside this
424
- test.
425
- </p>
426
- </div></span>
427
-
428
- </li>
429
-
430
-
431
- <li class="public ">
432
- <span class="summary_signature">
433
-
434
- <a href="#C-class_method" title="C (class method)">+ (Object) <strong>C</strong>(symbol, message = nil, &amp;block) </a>
435
-
436
-
437
-
438
- </span>
439
-
440
-
441
-
442
-
443
-
444
-
445
-
446
- <span class="summary_desc"><div class='inline'><p>
447
- Asserts that the given symbol is thrown when the given block is executed.
448
- </p>
449
- </div></span>
450
-
451
- </li>
452
-
453
-
454
- <li class="public ">
455
- <span class="summary_signature">
456
-
457
- <a href="#C%21-class_method" title="C! (class method)">+ (Object) <strong>C!</strong>(symbol, message = nil, &amp;block) </a>
458
-
459
-
460
-
461
- </span>
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
- <span class="summary_desc"><div class='inline'><p>
470
- Asserts that the given symbol is not thrown when the given block is
471
- executed.
472
- </p>
473
- </div></span>
474
-
475
- </li>
476
-
477
-
478
- <li class="public ">
479
- <span class="summary_signature">
480
-
481
- <a href="#C%3F-class_method" title="C? (class method)">+ (Boolean) <strong>C?</strong>(symbol, message = nil, &amp;block) </a>
482
-
483
-
484
-
485
- </span>
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
- <span class="summary_desc"><div class='inline'><p>
494
- Returns true if the given symbol is thrown when the given block is
495
- executed.
496
- </p>
497
- </div></span>
498
-
499
- </li>
500
-
501
-
502
- <li class="public ">
503
- <span class="summary_signature">
504
-
505
- <a href="#D-class_method" title="D (class method)">+ (Object) <strong>D</strong>(*description, &amp;block) </a>
506
-
507
-
508
-
509
- </span>
510
-
511
-
512
-
513
-
514
-
515
-
516
-
517
- <span class="summary_desc"><div class='inline'><p>
518
- Defines a new test composed of the given description and the given block to
519
- execute.
520
- </p>
521
- </div></span>
522
-
523
- </li>
524
-
525
-
526
- <li class="public ">
527
- <span class="summary_signature">
528
-
529
- <a href="#D%21-class_method" title="D! (class method)">+ (Object) <strong>D!</strong>(*description, &amp;block) </a>
530
-
531
-
532
-
533
- </span>
534
-
535
-
536
-
537
-
538
-
539
-
540
-
541
- <span class="summary_desc"><div class='inline'><p>
542
- Defines a new test that is explicitly insulated from the tests that contain
543
- it and also from the top-level Ruby environment.
544
- </p>
545
- </div></span>
546
-
547
- </li>
548
-
549
-
550
- <li class="public ">
551
- <span class="summary_signature">
552
-
553
- <a href="#E-class_method" title="E (class method)">+ (Object) <strong>E</strong>(*kinds_then_message, &amp;block) </a>
554
-
555
-
556
-
557
- </span>
558
-
559
-
560
-
561
-
562
-
563
-
564
-
565
- <span class="summary_desc"><div class='inline'><p>
566
- Asserts that one of the given kinds of exceptions is raised when the given
567
- block is executed.
568
- </p>
569
- </div></span>
570
-
571
- </li>
572
-
573
-
574
- <li class="public ">
575
- <span class="summary_signature">
576
-
577
- <a href="#E%21-class_method" title="E! (class method)">+ (Object) <strong>E!</strong>(*kinds_then_message, &amp;block) </a>
578
-
579
-
580
-
581
- </span>
582
-
583
-
584
-
585
-
586
-
587
-
588
-
589
- <span class="summary_desc"><div class='inline'><p>
590
- Asserts that one of the given kinds of exceptions is not raised when the
591
- given block is executed.
592
- </p>
593
- </div></span>
594
-
595
- </li>
596
-
597
-
598
- <li class="public ">
599
- <span class="summary_signature">
600
-
601
- <a href="#E%3F-class_method" title="E? (class method)">+ (Boolean) <strong>E?</strong>(*kinds_then_message, &amp;block) </a>
602
-
603
-
604
-
605
- </span>
606
-
607
-
608
-
609
-
610
-
611
-
612
-
613
- <span class="summary_desc"><div class='inline'><p>
614
- Returns true if one of the given kinds of exceptions is raised when the
615
- given block is executed.
616
- </p>
617
- </div></span>
618
-
619
- </li>
620
-
621
-
622
- <li class="public ">
623
- <span class="summary_signature">
624
-
625
- <a href="#F%3F-class_method" title="F? (class method)">+ (Boolean) <strong>F?</strong>(message = nil, &amp;block) </a>
626
-
627
-
628
-
629
- </span>
630
-
631
-
632
-
633
-
634
-
635
-
636
-
637
- <span class="summary_desc"><div class='inline'><p>
638
- Returns true if the result of the given block is either nil or false.
639
- </p>
640
- </div></span>
641
-
642
- </li>
643
-
644
-
645
- <li class="public ">
646
- <span class="summary_signature">
647
-
648
- <a href="#info-class_method" title="info (class method)">+ (Object) <strong>info</strong> </a>
649
-
650
-
651
-
652
- </span>
653
-
654
-
655
-
656
-
657
-
658
-
659
-
660
- <span class="summary_desc"><div class='inline'><p>
661
- Returns the details of the failure that is currently being debugged by the
662
- user.
663
- </p>
664
- </div></span>
665
-
666
- </li>
667
-
668
-
669
- <li class="public ">
670
- <span class="summary_signature">
671
-
672
- <a href="#inspect-class_method" title="inspect (class method)">+ (Object) <strong>inspect</strong> </a>
673
-
674
-
675
-
676
- </span>
677
-
678
-
679
-
680
-
681
-
682
-
683
-
684
- <span class="summary_desc"><div class='inline'><p>
685
- Description of this release of this project.
686
- </p>
687
- </div></span>
688
-
689
- </li>
690
-
691
-
692
- <li class="public ">
693
- <span class="summary_signature">
694
-
695
- <a href="#L-class_method" title="L (class method)">+ (Object) <strong>L</strong>(*messages) </a>
696
-
697
-
698
-
699
- </span>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
- <span class="summary_desc"><div class='inline'><p>
708
- Adds the given messages to the report inside the section of the currently
709
- running test.
710
- </p>
711
- </div></span>
712
-
713
- </li>
714
-
715
-
716
- <li class="public ">
717
- <span class="summary_signature">
718
-
719
- <a href="#require-class_method" title="require (class method)">+ (Object) <strong>require</strong>(gem_name_or_library) </a>
720
-
721
-
722
-
723
- </span>
724
-
725
-
726
-
727
-
728
-
729
-
730
-
731
- <span class="summary_desc"><div class='inline'><p>
732
- Loads the correct version (as defined by the <tt><a href="#RUNTIME-constant" title="Dfect::RUNTIME (constant)">RUNTIME</a></tt> or <tt><a href="#DEVTIME-constant" title="Dfect::DEVTIME (constant)">DEVTIME</a></tt>
733
- constant in this module) of the given gem or the gem that contains the
734
- given library.
735
- </p>
736
- </div></span>
737
-
738
- </li>
739
-
740
-
741
- <li class="public ">
742
- <span class="summary_signature">
743
-
744
- <a href="#run-class_method" title="run (class method)">+ (Object) <strong>run</strong>(continue = true) </a>
745
-
746
-
747
-
748
- </span>
749
-
750
-
751
-
752
-
753
-
754
-
755
-
756
- <span class="summary_desc"><div class='inline'><p>
757
- Executes all tests defined thus far and stores the results in
758
- <tt><a href="#report-class_method" title="Dfect.report (method)">Dfect.report</a></tt>.
759
- </p>
760
- </div></span>
761
-
762
- </li>
763
-
764
-
765
- <li class="public ">
766
- <span class="summary_signature">
767
-
768
- <a href="#S-class_method" title="S (class method)">+ (Object) <strong>S</strong>(identifier, &amp;block) </a>
769
-
770
-
771
-
772
- </span>
773
-
774
-
775
-
776
-
777
-
778
-
779
-
780
- <span class="summary_desc"><div class='inline'><p>
781
- Mechanism for sharing code between tests.
782
- </p>
783
- </div></span>
784
-
785
- </li>
786
-
787
-
788
- <li class="public ">
789
- <span class="summary_signature">
790
-
791
- <a href="#S%21-class_method" title="S! (class method)">+ (Object) <strong>S!</strong>(identifier, &amp;block) </a>
792
-
793
-
794
-
795
- </span>
796
-
797
-
798
-
799
-
800
-
801
-
802
-
803
- <span class="summary_desc"><div class='inline'><p>
804
- Shares the given code block under the given identifier and then immediately
805
- injects that code block into the closest insulated Dfect test that contains
806
- the call to this method.
807
- </p>
808
- </div></span>
809
-
810
- </li>
811
-
812
-
813
- <li class="public ">
814
- <span class="summary_signature">
815
-
816
- <a href="#S%3F-class_method" title="S? (class method)">+ (Boolean) <strong>S?</strong>(identifier) </a>
817
-
818
-
819
-
820
- </span>
821
-
822
-
823
-
824
-
825
-
826
-
827
-
828
- <span class="summary_desc"><div class='inline'><p>
829
- Checks whether any code has been shared under the given identifier.
830
- </p>
831
- </div></span>
832
-
833
- </li>
834
-
835
-
836
- <li class="public ">
837
- <span class="summary_signature">
838
-
839
- <a href="#stop-class_method" title="stop (class method)">+ (Object) <strong>stop</strong> </a>
840
-
841
-
842
-
843
- </span>
844
-
845
-
846
-
847
-
848
-
849
-
850
-
851
- <span class="summary_desc"><div class='inline'><p>
852
- Stops the execution of the <tt><a href="#run-class_method" title="Dfect.run (method)">Dfect.run</a></tt> method or raises an exception if
853
- that method is not currently executing.
854
- </p>
855
- </div></span>
856
-
857
- </li>
858
-
859
-
860
- <li class="public ">
861
- <span class="summary_signature">
862
-
863
- <a href="#T-class_method" title="T (class method)">+ (Object) <strong>T</strong>(condition = nil, message = nil, &amp;block) </a>
864
-
865
-
866
-
867
- (also: F!)
868
-
869
- </span>
870
-
871
-
872
-
873
-
874
-
875
-
876
-
877
- <span class="summary_desc"><div class='inline'><p>
878
- Asserts that the given condition or the result of the given block is
879
- neither nil nor false and returns that result.
880
- </p>
881
- </div></span>
882
-
883
- </li>
884
-
885
-
886
- <li class="public ">
887
- <span class="summary_signature">
888
-
889
- <a href="#T%21-class_method" title="T! (class method)">+ (Object) <strong>T!</strong>(condition = nil, message = nil, &amp;block) </a>
890
-
891
-
892
-
893
- (also: F)
894
-
895
- </span>
896
-
897
-
898
-
899
-
900
-
901
-
902
-
903
- <span class="summary_desc"><div class='inline'><p>
904
- Asserts that the given condition or the result of the given block is either
905
- nil or false and returns that result.
906
- </p>
907
- </div></span>
908
-
909
- </li>
910
-
911
-
912
- <li class="public ">
913
- <span class="summary_signature">
914
-
915
- <a href="#T%3F-class_method" title="T? (class method)">+ (Boolean) <strong>T?</strong>(condition = nil, message = nil, &amp;block) </a>
916
-
917
-
918
-
919
- </span>
920
-
921
-
922
-
923
-
924
-
925
-
926
-
927
- <span class="summary_desc"><div class='inline'><p>
928
- Returns true if the given condition or the result of the given block is
929
- neither nil nor false.
930
- </p>
931
- </div></span>
932
-
933
- </li>
934
-
935
-
936
- </ul>
937
-
938
- <h2>Instance Method Summary</h2>
939
-
940
- <ul class="summary">
941
-
942
- <li class="public ">
943
- <span class="summary_signature">
944
-
945
- <a href="#after-instance_method" title="#after (instance method)">- (Object) <strong>after</strong>(what, &amp;block) </a>
946
-
947
-
948
-
949
- </span>
950
-
951
-
952
-
953
-
954
-
955
-
956
-
957
- <span class="summary_desc"><div class='inline'></div></span>
958
-
959
- </li>
960
-
961
-
962
- <li class="public ">
963
- <span class="summary_signature">
964
-
965
- <a href="#before-instance_method" title="#before (instance method)">- (Object) <strong>before</strong>(what, &amp;block) </a>
966
-
967
-
968
-
969
- </span>
970
-
971
-
972
-
973
-
974
-
975
-
976
-
977
- <span class="summary_desc"><div class='inline'></div></span>
978
-
979
- </li>
980
-
981
-
982
- </ul>
983
-
984
-
985
-
986
- <div id="class_attr_details" class="attr_details">
987
- <h2>Class Attribute Details</h2>
988
-
989
-
990
- <span id="options=-class_method"></span>
991
- <span id="options-class_method"></span>
992
- <div class="method_details first">
993
- <p class="signature first" id="options-class_method">
994
-
995
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>options</strong>
996
-
997
-
998
-
999
- </p><div class="docstring">
1000
- <div class="discussion">
1001
- <p>
1002
- Hash of choices that affect how Dfect operates.
1003
- </p>
1004
- <dl>
1005
- <dt>:debug</dt><dd>Launch an interactive debugger during assertion failures so the user can
1006
- investigate them.
1007
-
1008
- <p>
1009
- The default value is $DEBUG.
1010
- </p>
1011
- </dd>
1012
- <dt>:quiet</dt><dd>Do not print the report after executing all tests.
1013
-
1014
- <p>
1015
- The default value is false.
1016
- </p>
1017
- </dd>
1018
- </dl>
1019
-
1020
-
1021
- </div>
1022
- </div>
1023
- <div class="tags">
1024
-
1025
- </div><table class="source_code">
1026
- <tr>
1027
- <td>
1028
- <pre class="lines">
1029
-
1030
-
1031
- 88
1032
- 89
1033
- 90</pre>
1034
- </td>
1035
- <td>
1036
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 88</span>
1037
-
1038
- <span class='kw'>def</span> <span class='id options'>options</span>
1039
- <span class='ivar'>@options</span>
1040
- <span class='kw'>end</span></pre>
1041
- </td>
1042
- </tr>
1043
- </table>
1044
- </div>
1045
-
1046
-
1047
- <span id=""></span>
1048
- <span id="report-class_method"></span>
1049
- <div class="method_details ">
1050
- <p class="signature " id="report-class_method">
1051
-
1052
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>report</strong> <span class="extras">(readonly)</span>
1053
-
1054
-
1055
-
1056
- </p><div class="docstring">
1057
- <div class="discussion">
1058
- <p>
1059
- Hash of test results, assembled by <tt><a href="#run-class_method" title="Dfect.run (method)">Dfect.run</a></tt>.
1060
- </p>
1061
- <dl>
1062
- <dt>:trace</dt><dd>Hierarchical trace of all tests executed, where each test is represented by
1063
- its description, is mapped to an Array of nested tests, and may contain
1064
- zero or more assertion failures.
1065
-
1066
- <p>
1067
- Assertion failures are represented as a Hash:
1068
- </p>
1069
- <dl>
1070
- <dt>:fail</dt><dd>Description of the assertion failure.
1071
-
1072
- </dd>
1073
- <dt>:code</dt><dd>Source code surrounding the point of failure.
1074
-
1075
- </dd>
1076
- <dt>:vars</dt><dd>Local variables visible at the point of failure.
1077
-
1078
- </dd>
1079
- <dt>:call</dt><dd>Stack trace leading to the point of failure.
1080
-
1081
- </dd>
1082
- </dl>
1083
- </dd>
1084
- <dt>:stats</dt><dd>Hash of counts of major events in test execution:
1085
-
1086
- <dl>
1087
- <dt>:time</dt><dd>Number of seconds elapsed for test execution.
1088
-
1089
- </dd>
1090
- <dt>:pass</dt><dd>Number of assertions that held true.
1091
-
1092
- </dd>
1093
- <dt>:fail</dt><dd>Number of assertions that did not hold true.
1094
-
1095
- </dd>
1096
- <dt>:error</dt><dd>Number of exceptions that were not rescued.
1097
-
1098
- </dd>
1099
- </dl>
1100
- </dd>
1101
- </dl>
1102
-
1103
-
1104
- </div>
1105
- </div>
1106
- <div class="tags">
1107
-
1108
- </div><table class="source_code">
1109
- <tr>
1110
- <td>
1111
- <pre class="lines">
1112
-
1113
-
1114
- 70
1115
- 71
1116
- 72</pre>
1117
- </td>
1118
- <td>
1119
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 70</span>
1120
-
1121
- <span class='kw'>def</span> <span class='id report'>report</span>
1122
- <span class='ivar'>@report</span>
1123
- <span class='kw'>end</span></pre>
1124
- </td>
1125
- </tr>
1126
- </table>
1127
- </div>
1128
-
1129
- </div>
1130
-
1131
-
1132
- <div id="class_method_details" class="method_details_list">
1133
- <h2>Class Method Details</h2>
1134
-
1135
-
1136
- <div class="method_details first">
1137
- <p class="signature first" id="<-class_method">
1138
-
1139
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>&lt;</strong>(&amp;block)
1140
-
1141
-
1142
-
1143
- </p><div class="docstring">
1144
- <div class="discussion">
1145
-
1146
-
1147
- </div>
1148
- </div>
1149
- <div class="tags">
1150
-
1151
- <div class="examples">
1152
- <h3>Examples:</h3>
1153
-
1154
- <h4><div class='inline'></div></h4>
1155
- <pre class="example code">
1156
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>before each nested test</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
1157
-
1158
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;</span> <span class='kw'>do</span>
1159
- <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>before each nested test</span><span class='tstring_end'>&quot;</span></span>
1160
- <span class='kw'>end</span></pre>
1161
-
1162
- </div>
1163
-
1164
- <div class="docstring">
1165
- <div class="discussion">
1166
- <p>
1167
- Registers the given block to be executed before each nested test inside
1168
- this test.
1169
- </p>
1170
-
1171
-
1172
- </div>
1173
- </div>
1174
- <div class="tags">
1175
-
1176
- </div>
1177
-
1178
- </div><table class="source_code">
1179
- <tr>
1180
- <td>
1181
- <pre class="lines">
1182
-
1183
-
1184
- 177
1185
- 178
1186
- 179
1187
- 180
1188
- 181
1189
- 182
1190
- 183
1191
- 184
1192
- 185</pre>
1193
- </td>
1194
- <td>
1195
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 177</span>
1196
-
1197
- <span class='kw'>def</span> <span class='op'>&lt;</span><span class='lparen'>(</span><span class='op'>*</span><span class='id args'>args</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span><span class='rparen'>)</span>
1198
- <span class='kw'>if</span> <span class='id args'>args</span><span class='period'>.</span><span class='id empty?'>empty?</span>
1199
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>block must be given</span><span class='tstring_end'>'</span></span> <span class='kw'>unless</span> <span class='id block'>block</span>
1200
- <span class='ivar'>@suite</span><span class='period'>.</span><span class='id before_each'>before_each</span> <span class='op'>&lt;&lt;</span> <span class='id block'>block</span>
1201
- <span class='kw'>else</span>
1202
- <span class='comment'># the &lt; method is being used as a check for inheritance
1203
- </span> <span class='kw'>super</span>
1204
- <span class='kw'>end</span>
1205
- <span class='kw'>end</span></pre>
1206
- </td>
1207
- </tr>
1208
- </table>
1209
- </div>
1210
-
1211
- <div class="method_details ">
1212
- <p class="signature " id="<<-class_method">
1213
-
1214
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>&lt;&lt;</strong>(&amp;block)
1215
-
1216
-
1217
-
1218
- </p><div class="docstring">
1219
- <div class="discussion">
1220
- <p>
1221
- Registers the given block to be executed before all nested tests inside
1222
- this test.
1223
- </p>
1224
-
1225
-
1226
- </div>
1227
- </div>
1228
- <div class="tags">
1229
-
1230
- <div class="examples">
1231
- <h3>Examples:</h3>
1232
-
1233
- <h4><div class='inline'></div></h4>
1234
- <pre class="example code">
1235
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>before all nested tests</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
1236
-
1237
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;&lt;</span> <span class='kw'>do</span>
1238
- <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>before all nested tests</span><span class='tstring_end'>&quot;</span></span>
1239
- <span class='kw'>end</span></pre>
1240
-
1241
- </div>
1242
- <h3>Raises:</h3>
1243
- <ul class="raise">
1244
-
1245
- <li>
1246
-
1247
- <span class='type'>(<tt>ArgumentError</tt>)</span>
1248
-
1249
-
1250
-
1251
-
1252
- </li>
1253
-
1254
- </ul>
1255
-
1256
- </div><table class="source_code">
1257
- <tr>
1258
- <td>
1259
- <pre class="lines">
1260
-
1261
-
1262
- 216
1263
- 217
1264
- 218
1265
- 219</pre>
1266
- </td>
1267
- <td>
1268
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 216</span>
1269
-
1270
- <span class='kw'>def</span> <span class='op'>&lt;&lt;</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1271
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>block must be given</span><span class='tstring_end'>'</span></span> <span class='kw'>unless</span> <span class='id block'>block</span>
1272
- <span class='ivar'>@suite</span><span class='period'>.</span><span class='id before_all'>before_all</span> <span class='op'>&lt;&lt;</span> <span class='id block'>block</span>
1273
- <span class='kw'>end</span></pre>
1274
- </td>
1275
- </tr>
1276
- </table>
1277
- </div>
1278
-
1279
- <div class="method_details ">
1280
- <p class="signature " id=">-class_method">
1281
-
1282
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>&gt;</strong>(&amp;block)
1283
-
1284
-
1285
-
1286
- </p><div class="docstring">
1287
- <div class="discussion">
1288
- <p>
1289
- Registers the given block to be executed after each nested test inside this
1290
- test.
1291
- </p>
1292
-
1293
-
1294
- </div>
1295
- </div>
1296
- <div class="tags">
1297
-
1298
- <div class="examples">
1299
- <h3>Examples:</h3>
1300
-
1301
- <h4><div class='inline'></div></h4>
1302
- <pre class="example code">
1303
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&gt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after each nested test</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
1304
-
1305
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&gt;</span> <span class='kw'>do</span>
1306
- <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after each nested test</span><span class='tstring_end'>&quot;</span></span>
1307
- <span class='kw'>end</span></pre>
1308
-
1309
- </div>
1310
- <h3>Raises:</h3>
1311
- <ul class="raise">
1312
-
1313
- <li>
1314
-
1315
- <span class='type'>(<tt>ArgumentError</tt>)</span>
1316
-
1317
-
1318
-
1319
-
1320
- </li>
1321
-
1322
- </ul>
1323
-
1324
- </div><table class="source_code">
1325
- <tr>
1326
- <td>
1327
- <pre class="lines">
1328
-
1329
-
1330
- 199
1331
- 200
1332
- 201
1333
- 202</pre>
1334
- </td>
1335
- <td>
1336
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 199</span>
1337
-
1338
- <span class='kw'>def</span> <span class='op'>&gt;</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1339
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>block must be given</span><span class='tstring_end'>'</span></span> <span class='kw'>unless</span> <span class='id block'>block</span>
1340
- <span class='ivar'>@suite</span><span class='period'>.</span><span class='id after_each'>after_each</span> <span class='op'>&lt;&lt;</span> <span class='id block'>block</span>
1341
- <span class='kw'>end</span></pre>
1342
- </td>
1343
- </tr>
1344
- </table>
1345
- </div>
1346
-
1347
- <div class="method_details ">
1348
- <p class="signature " id=">>-class_method">
1349
-
1350
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>&gt;&gt;</strong>(&amp;block)
1351
-
1352
-
1353
-
1354
- </p><div class="docstring">
1355
- <div class="discussion">
1356
- <p>
1357
- Registers the given block to be executed after all nested tests inside this
1358
- test.
1359
- </p>
1360
-
1361
-
1362
- </div>
1363
- </div>
1364
- <div class="tags">
1365
-
1366
- <div class="examples">
1367
- <h3>Examples:</h3>
1368
-
1369
- <h4><div class='inline'></div></h4>
1370
- <pre class="example code">
1371
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&gt;&gt;</span> <span class='lbrace'>{</span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after all nested tests</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
1372
-
1373
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&gt;&gt;</span> <span class='kw'>do</span>
1374
- <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after all nested tests</span><span class='tstring_end'>&quot;</span></span>
1375
- <span class='kw'>end</span></pre>
1376
-
1377
- </div>
1378
- <h3>Raises:</h3>
1379
- <ul class="raise">
1380
-
1381
- <li>
1382
-
1383
- <span class='type'>(<tt>ArgumentError</tt>)</span>
1384
-
1385
-
1386
-
1387
-
1388
- </li>
1389
-
1390
- </ul>
1391
-
1392
- </div><table class="source_code">
1393
- <tr>
1394
- <td>
1395
- <pre class="lines">
1396
-
1397
-
1398
- 233
1399
- 234
1400
- 235
1401
- 236</pre>
1402
- </td>
1403
- <td>
1404
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 233</span>
1405
-
1406
- <span class='kw'>def</span> <span class='op'>&gt;&gt;</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1407
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>block must be given</span><span class='tstring_end'>'</span></span> <span class='kw'>unless</span> <span class='id block'>block</span>
1408
- <span class='ivar'>@suite</span><span class='period'>.</span><span class='id after_all'>after_all</span> <span class='op'>&lt;&lt;</span> <span class='id block'>block</span>
1409
- <span class='kw'>end</span></pre>
1410
- </td>
1411
- </tr>
1412
- </table>
1413
- </div>
1414
-
1415
- <div class="method_details ">
1416
- <p class="signature " id="C-class_method">
1417
-
1418
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>C</strong>(symbol, message = nil, &amp;block)
1419
-
1420
-
1421
-
1422
- </p><div class="docstring">
1423
- <div class="discussion">
1424
- <p>
1425
- Asserts that the given symbol is thrown when the given block is executed.
1426
- </p>
1427
-
1428
-
1429
- </div>
1430
- </div>
1431
- <div class="tags">
1432
-
1433
- <div class="examples">
1434
- <h3>Examples:</h3>
1435
-
1436
- <h4><div class='inline'><p>
1437
- no message given
1438
- </p>
1439
- </div></h4>
1440
- <pre class="example code">
1441
- <span class='const'>C</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:foo</span><span class='comma'>,</span> <span class='int'>123</span> <span class='rbrace'>}</span> <span class='comment'># passes, =&gt; 123
1442
- </span><span class='const'>C</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='int'>456</span> <span class='rbrace'>}</span> <span class='comment'># fails, =&gt; 456
1443
- </span><span class='const'>C</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='rbrace'>}</span> <span class='comment'># fails, =&gt; nil</span></pre>
1444
-
1445
- <h4><div class='inline'><p>
1446
- message is given
1447
- </p>
1448
- </div></h4>
1449
- <pre class="example code">
1450
- <span class='const'>C</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:foo must be thrown</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='int'>789</span> <span class='rbrace'>}</span> <span class='comment'># fails, =&gt; nil</span></pre>
1451
-
1452
- </div>
1453
- <h3>Parameters:</h3>
1454
- <ul class="param">
1455
-
1456
- <li>
1457
-
1458
- <span class='type'>(<tt>Symbol</tt>)</span>
1459
-
1460
-
1461
- <span class='name'>symbol</span>
1462
-
1463
-
1464
-
1465
- &mdash;
1466
- <div class='inline'><p>
1467
- Symbol that must be thrown by the given block.
1468
- </p>
1469
- </div>
1470
-
1471
- </li>
1472
-
1473
- <li>
1474
-
1475
- <span class='type'></span>
1476
-
1477
-
1478
- <span class='name'>message</span>
1479
-
1480
-
1481
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1482
-
1483
-
1484
- &mdash;
1485
- <div class='inline'><p>
1486
- Optional message to show in the report if this assertion fails.
1487
- </p>
1488
- </div>
1489
-
1490
- </li>
1491
-
1492
- </ul>
1493
- <h3>Returns:</h3>
1494
- <ul class="return">
1495
-
1496
- <li>
1497
-
1498
- <span class='type'></span>
1499
-
1500
-
1501
-
1502
-
1503
-
1504
- <div class='inline'><p>
1505
- If a value is thrown along with the expected symbol, then that value is
1506
- returned.
1507
- </p>
1508
- <p>
1509
- Otherwise, nil is returned.
1510
- </p>
1511
- </div>
1512
-
1513
- </li>
1514
-
1515
- </ul>
1516
-
1517
- </div><table class="source_code">
1518
- <tr>
1519
- <td>
1520
- <pre class="lines">
1521
-
1522
-
1523
- 469
1524
- 470
1525
- 471</pre>
1526
- </td>
1527
- <td>
1528
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 469</span>
1529
-
1530
- <span class='kw'>def</span> <span class='const'>C</span> <span class='id symbol'>symbol</span><span class='comma'>,</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1531
- <span class='id assert_catch'>assert_catch</span> <span class='symbol'>:assert</span><span class='comma'>,</span> <span class='id symbol'>symbol</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1532
- <span class='kw'>end</span></pre>
1533
- </td>
1534
- </tr>
1535
- </table>
1536
- </div>
1537
-
1538
- <div class="method_details ">
1539
- <p class="signature " id="C!-class_method">
1540
-
1541
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>C!</strong>(symbol, message = nil, &amp;block)
1542
-
1543
-
1544
-
1545
- </p><div class="docstring">
1546
- <div class="discussion">
1547
- <p>
1548
- Asserts that the given symbol is not thrown when the given block is
1549
- executed.
1550
- </p>
1551
-
1552
-
1553
- </div>
1554
- </div>
1555
- <div class="tags">
1556
-
1557
- <div class="examples">
1558
- <h3>Examples:</h3>
1559
-
1560
- <h4><div class='inline'><p>
1561
- no message given
1562
- </p>
1563
- </div></h4>
1564
- <pre class="example code">
1565
- <span class='id C!'>C!</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:foo</span><span class='comma'>,</span> <span class='int'>123</span> <span class='rbrace'>}</span> <span class='comment'># fails, =&gt; nil
1566
- </span><span class='id C!'>C!</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='int'>456</span> <span class='rbrace'>}</span> <span class='comment'># passes, =&gt; nil
1567
- </span><span class='id C!'>C!</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='rbrace'>}</span> <span class='comment'># passes, =&gt; nil</span></pre>
1568
-
1569
- <h4><div class='inline'><p>
1570
- message is given
1571
- </p>
1572
- </div></h4>
1573
- <pre class="example code">
1574
- <span class='id C!'>C!</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:foo must be thrown</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='int'>789</span> <span class='rbrace'>}</span> <span class='comment'># passes, =&gt; nil</span></pre>
1575
-
1576
- </div>
1577
- <h3>Parameters:</h3>
1578
- <ul class="param">
1579
-
1580
- <li>
1581
-
1582
- <span class='type'>(<tt>Symbol</tt>)</span>
1583
-
1584
-
1585
- <span class='name'>symbol</span>
1586
-
1587
-
1588
-
1589
- &mdash;
1590
- <div class='inline'><p>
1591
- Symbol that must not be thrown by the given block.
1592
- </p>
1593
- </div>
1594
-
1595
- </li>
1596
-
1597
- <li>
1598
-
1599
- <span class='type'></span>
1600
-
1601
-
1602
- <span class='name'>message</span>
1603
-
1604
-
1605
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1606
-
1607
-
1608
- &mdash;
1609
- <div class='inline'><p>
1610
- Optional message to show in the report if this assertion fails.
1611
- </p>
1612
- </div>
1613
-
1614
- </li>
1615
-
1616
- </ul>
1617
- <h3>Returns:</h3>
1618
- <ul class="return">
1619
-
1620
- <li>
1621
-
1622
- <span class='type'></span>
1623
-
1624
-
1625
-
1626
-
1627
-
1628
- <div class='inline'><p>
1629
- nil, always.
1630
- </p>
1631
- </div>
1632
-
1633
- </li>
1634
-
1635
- </ul>
1636
-
1637
- </div><table class="source_code">
1638
- <tr>
1639
- <td>
1640
- <pre class="lines">
1641
-
1642
-
1643
- 495
1644
- 496
1645
- 497</pre>
1646
- </td>
1647
- <td>
1648
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 495</span>
1649
-
1650
- <span class='kw'>def</span> <span class='id C!'>C!</span> <span class='id symbol'>symbol</span><span class='comma'>,</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1651
- <span class='id assert_catch'>assert_catch</span> <span class='symbol'>:negate</span><span class='comma'>,</span> <span class='id symbol'>symbol</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1652
- <span class='kw'>end</span></pre>
1653
- </td>
1654
- </tr>
1655
- </table>
1656
- </div>
1657
-
1658
- <div class="method_details ">
1659
- <p class="signature " id="C?-class_method">
1660
-
1661
- + (<tt>Boolean</tt>) <strong>C?</strong>(symbol, message = nil, &amp;block)
1662
-
1663
-
1664
-
1665
- </p><div class="docstring">
1666
- <div class="discussion">
1667
- <p>
1668
- Returns true if the given symbol is thrown when the given block is
1669
- executed. Otherwise, returns false.
1670
- </p>
1671
-
1672
-
1673
- </div>
1674
- </div>
1675
- <div class="tags">
1676
-
1677
- <div class="examples">
1678
- <h3>Examples:</h3>
1679
-
1680
- <h4><div class='inline'><p>
1681
- no message given
1682
- </p>
1683
- </div></h4>
1684
- <pre class="example code">
1685
- <span class='id C?'>C?</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:foo</span><span class='comma'>,</span> <span class='int'>123</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true
1686
- </span><span class='id C?'>C?</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='int'>456</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false
1687
- </span><span class='id C?'>C?</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false</span></pre>
1688
-
1689
- <h4><div class='inline'><p>
1690
- message is given
1691
- </p>
1692
- </div></h4>
1693
- <pre class="example code">
1694
- <span class='id C?'>C?</span><span class='lparen'>(</span><span class='symbol'>:foo</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:foo must be thrown</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id throw'>throw</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='int'>789</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false</span></pre>
1695
-
1696
- </div>
1697
- <h3>Parameters:</h3>
1698
- <ul class="param">
1699
-
1700
- <li>
1701
-
1702
- <span class='type'>(<tt>Symbol</tt>)</span>
1703
-
1704
-
1705
- <span class='name'>symbol</span>
1706
-
1707
-
1708
-
1709
- &mdash;
1710
- <div class='inline'><p>
1711
- Symbol that must be thrown by the given block.
1712
- </p>
1713
- </div>
1714
-
1715
- </li>
1716
-
1717
- <li>
1718
-
1719
- <span class='type'></span>
1720
-
1721
-
1722
- <span class='name'>message</span>
1723
-
1724
-
1725
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1726
-
1727
-
1728
- &mdash;
1729
- <div class='inline'><p>
1730
- This parameter is optional and completely ignored.
1731
- </p>
1732
- </div>
1733
-
1734
- </li>
1735
-
1736
- </ul>
1737
- <h3>Returns:</h3>
1738
- <ul class="return">
1739
-
1740
- <li>
1741
-
1742
- <span class='type'>(<tt>Boolean</tt>)</span>
1743
-
1744
-
1745
-
1746
-
1747
- </li>
1748
-
1749
- </ul>
1750
-
1751
- </div><table class="source_code">
1752
- <tr>
1753
- <td>
1754
- <pre class="lines">
1755
-
1756
-
1757
- 517
1758
- 518
1759
- 519</pre>
1760
- </td>
1761
- <td>
1762
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 517</span>
1763
-
1764
- <span class='kw'>def</span> <span class='id C?'>C?</span> <span class='id symbol'>symbol</span><span class='comma'>,</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1765
- <span class='id assert_catch'>assert_catch</span> <span class='symbol'>:sample</span><span class='comma'>,</span> <span class='id symbol'>symbol</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1766
- <span class='kw'>end</span></pre>
1767
- </td>
1768
- </tr>
1769
- </table>
1770
- </div>
1771
-
1772
- <div class="method_details ">
1773
- <p class="signature " id="D-class_method">
1774
-
1775
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>D</strong>(*description, &amp;block)
1776
-
1777
-
1778
-
1779
- </p><div class="docstring">
1780
- <div class="discussion">
1781
- <p>
1782
- Defines a new test composed of the given description and the given block to
1783
- execute.
1784
- </p>
1785
- <p>
1786
- This test may contain nested tests.
1787
- </p>
1788
- <p>
1789
- Tests at the outer-most level are automatically insulated from the
1790
- top-level Ruby environment.
1791
- </p>
1792
-
1793
-
1794
- </div>
1795
- </div>
1796
- <div class="tags">
1797
-
1798
- <div class="examples">
1799
- <h3>Examples:</h3>
1800
-
1801
- <h4><div class='inline'></div></h4>
1802
- <pre class="example code">
1803
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>a new array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1804
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;</span> <span class='lbrace'>{</span> <span class='ivar'>@array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='rbrace'>}</span>
1805
-
1806
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>must be empty</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1807
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='ivar'>@array</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='rbrace'>}</span>
1808
- <span class='kw'>end</span>
1809
-
1810
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>when populated</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1811
- <span class='const'>D</span> <span class='period'>.</span><span class='op'>&lt;</span> <span class='lbrace'>{</span> <span class='ivar'>@array</span><span class='period'>.</span><span class='id push'>push</span> <span class='int'>55</span> <span class='rbrace'>}</span>
1812
-
1813
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>must not be empty</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1814
- <span class='const'>F</span> <span class='lbrace'>{</span> <span class='ivar'>@array</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='rbrace'>}</span>
1815
- <span class='kw'>end</span>
1816
- <span class='kw'>end</span>
1817
- <span class='kw'>end</span></pre>
1818
-
1819
- </div>
1820
- <h3>Parameters:</h3>
1821
- <ul class="param">
1822
-
1823
- <li>
1824
-
1825
- <span class='type'>(<tt><a href="Object.html" title="Object (class)">Object</a></tt>, <tt>Array&lt;<a href="Object.html" title="Object (class)">Object</a>&gt;</tt>)</span>
1826
-
1827
-
1828
- <span class='name'>description</span>
1829
-
1830
-
1831
-
1832
- &mdash;
1833
- <div class='inline'><p>
1834
- A brief title or a series of objects that describe the test being defined.
1835
- </p>
1836
- </div>
1837
-
1838
- </li>
1839
-
1840
- </ul>
1841
-
1842
- </div><table class="source_code">
1843
- <tr>
1844
- <td>
1845
- <pre class="lines">
1846
-
1847
-
1848
- 122
1849
- 123
1850
- 124</pre>
1851
- </td>
1852
- <td>
1853
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 122</span>
1854
-
1855
- <span class='kw'>def</span> <span class='const'>D</span> <span class='op'>*</span><span class='id description'>description</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1856
- <span class='id create_test'>create_test</span> <span class='ivar'>@tests</span><span class='period'>.</span><span class='id empty?'>empty?</span><span class='comma'>,</span> <span class='op'>*</span><span class='id description'>description</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1857
- <span class='kw'>end</span></pre>
1858
- </td>
1859
- </tr>
1860
- </table>
1861
- </div>
1862
-
1863
- <div class="method_details ">
1864
- <p class="signature " id="D!-class_method">
1865
-
1866
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>D!</strong>(*description, &amp;block)
1867
-
1868
-
1869
-
1870
- </p><div class="docstring">
1871
- <div class="discussion">
1872
- <p>
1873
- Defines a new test that is explicitly insulated from the tests that contain
1874
- it and also from the top-level Ruby environment.
1875
- </p>
1876
- <p>
1877
- This test may contain nested tests.
1878
- </p>
1879
-
1880
-
1881
- </div>
1882
- </div>
1883
- <div class="tags">
1884
-
1885
- <div class="examples">
1886
- <h3>Examples:</h3>
1887
-
1888
- <h4><div class='inline'></div></h4>
1889
- <pre class="example code">
1890
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>a root-level test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1891
- <span class='ivar'>@outside</span> <span class='op'>=</span> <span class='int'>1</span>
1892
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='kw'>defined?</span> <span class='ivar'>@outside</span> <span class='rbrace'>}</span>
1893
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='ivar'>@outside</span> <span class='op'>==</span> <span class='int'>1</span> <span class='rbrace'>}</span>
1894
-
1895
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>an inner, non-insulated test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1896
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='kw'>defined?</span> <span class='ivar'>@outside</span> <span class='rbrace'>}</span>
1897
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='ivar'>@outside</span> <span class='op'>==</span> <span class='int'>1</span> <span class='rbrace'>}</span>
1898
- <span class='kw'>end</span>
1899
-
1900
- <span class='id D!'>D!</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>an inner, insulated test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
1901
- <span class='const'>F</span> <span class='lbrace'>{</span> <span class='kw'>defined?</span> <span class='ivar'>@outside</span> <span class='rbrace'>}</span>
1902
- <span class='const'>F</span> <span class='lbrace'>{</span> <span class='ivar'>@outside</span> <span class='op'>==</span> <span class='int'>1</span> <span class='rbrace'>}</span>
1903
-
1904
- <span class='ivar'>@inside</span> <span class='op'>=</span> <span class='int'>2</span>
1905
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='kw'>defined?</span> <span class='ivar'>@inside</span> <span class='rbrace'>}</span>
1906
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='ivar'>@inside</span> <span class='op'>==</span> <span class='int'>2</span> <span class='rbrace'>}</span>
1907
- <span class='kw'>end</span>
1908
-
1909
- <span class='const'>F</span> <span class='lbrace'>{</span> <span class='kw'>defined?</span> <span class='ivar'>@inside</span> <span class='rbrace'>}</span>
1910
- <span class='const'>F</span> <span class='lbrace'>{</span> <span class='ivar'>@inside</span> <span class='op'>==</span> <span class='int'>2</span> <span class='rbrace'>}</span>
1911
- <span class='kw'>end</span></pre>
1912
-
1913
- </div>
1914
- <h3>Parameters:</h3>
1915
- <ul class="param">
1916
-
1917
- <li>
1918
-
1919
- <span class='type'>(<tt><a href="Object.html" title="Object (class)">Object</a></tt>, <tt>Array&lt;<a href="Object.html" title="Object (class)">Object</a>&gt;</tt>)</span>
1920
-
1921
-
1922
- <span class='name'>description</span>
1923
-
1924
-
1925
-
1926
- &mdash;
1927
- <div class='inline'><p>
1928
- A brief title or a series of objects that describe the test being defined.
1929
- </p>
1930
- </div>
1931
-
1932
- </li>
1933
-
1934
- </ul>
1935
-
1936
- </div><table class="source_code">
1937
- <tr>
1938
- <td>
1939
- <pre class="lines">
1940
-
1941
-
1942
- 159
1943
- 160
1944
- 161</pre>
1945
- </td>
1946
- <td>
1947
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 159</span>
1948
-
1949
- <span class='kw'>def</span> <span class='id D!'>D!</span> <span class='op'>*</span><span class='id description'>description</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1950
- <span class='id create_test'>create_test</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='op'>*</span><span class='id description'>description</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
1951
- <span class='kw'>end</span></pre>
1952
- </td>
1953
- </tr>
1954
- </table>
1955
- </div>
1956
-
1957
- <div class="method_details ">
1958
- <p class="signature " id="E-class_method">
1959
-
1960
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>E</strong>(*kinds_then_message, &amp;block)
1961
-
1962
-
1963
-
1964
- </p><div class="docstring">
1965
- <div class="discussion">
1966
- <p>
1967
- Asserts that one of the given kinds of exceptions is raised when the given
1968
- block is executed.
1969
- </p>
1970
-
1971
-
1972
- </div>
1973
- </div>
1974
- <div class="tags">
1975
-
1976
- <div class="examples">
1977
- <h3>Examples:</h3>
1978
-
1979
- <h4><div class='inline'><p>
1980
- no exceptions given
1981
- </p>
1982
- </div></h4>
1983
- <pre class="example code">
1984
- <span class='const'>E</span> <span class='lbrace'>{</span> <span class='rbrace'>}</span> <span class='comment'># fails
1985
- </span><span class='const'>E</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='rbrace'>}</span> <span class='comment'># passes</span></pre>
1986
-
1987
- <h4><div class='inline'><p>
1988
- single exception given
1989
- </p>
1990
- </div></h4>
1991
- <pre class="example code">
1992
- <span class='const'>E</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span> <span class='rbrace'>}</span>
1993
- <span class='const'>E</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>argument must be invalid</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span> <span class='rbrace'>}</span></pre>
1994
-
1995
- <h4><div class='inline'><p>
1996
- multiple exceptions given
1997
- </p>
1998
- </div></h4>
1999
- <pre class="example code">
2000
- <span class='const'>E</span><span class='lparen'>(</span><span class='const'>SyntaxError</span><span class='comma'>,</span> <span class='const'>NameError</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id eval'>eval</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>...</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
2001
- <span class='const'>E</span><span class='lparen'>(</span><span class='const'>SyntaxError</span><span class='comma'>,</span> <span class='const'>NameError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>string must compile</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id eval'>eval</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>...</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span></pre>
2002
-
2003
- </div>
2004
- <h3>Parameters:</h3>
2005
- <ul class="param">
2006
-
2007
- <li>
2008
-
2009
- <span class='type'>(<tt>...</tt>)</span>
2010
-
2011
-
2012
- <span class='name'>kinds_then_message</span>
2013
-
2014
-
2015
-
2016
- &mdash;
2017
- <div class='inline'><p>
2018
- Exception classes that must be raised by the given block, optionally
2019
- followed by a message to show in the report if this assertion fails.
2020
- </p>
2021
- <p>
2022
- If no exception classes are given, then StandardError is assumed (similar
2023
- to how a plain &#8216;rescue&#8217; statement without any arguments catches
2024
- StandardError).
2025
- </p>
2026
- </div>
2027
-
2028
- </li>
2029
-
2030
- </ul>
2031
- <h3>Returns:</h3>
2032
- <ul class="return">
2033
-
2034
- <li>
2035
-
2036
- <span class='type'></span>
2037
-
2038
-
2039
-
2040
-
2041
-
2042
- <div class='inline'><p>
2043
- If the block raises an exception, then that exception is returned.
2044
- </p>
2045
- <p>
2046
- Otherwise, nil is returned.
2047
- </p>
2048
- </div>
2049
-
2050
- </li>
2051
-
2052
- </ul>
2053
-
2054
- </div><table class="source_code">
2055
- <tr>
2056
- <td>
2057
- <pre class="lines">
2058
-
2059
-
2060
- 376
2061
- 377
2062
- 378</pre>
2063
- </td>
2064
- <td>
2065
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 376</span>
2066
-
2067
- <span class='kw'>def</span> <span class='const'>E</span> <span class='op'>*</span><span class='id kinds_then_message'>kinds_then_message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2068
- <span class='id assert_raise'>assert_raise</span> <span class='symbol'>:assert</span><span class='comma'>,</span> <span class='op'>*</span><span class='id kinds_then_message'>kinds_then_message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2069
- <span class='kw'>end</span></pre>
2070
- </td>
2071
- </tr>
2072
- </table>
2073
- </div>
2074
-
2075
- <div class="method_details ">
2076
- <p class="signature " id="E!-class_method">
2077
-
2078
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>E!</strong>(*kinds_then_message, &amp;block)
2079
-
2080
-
2081
-
2082
- </p><div class="docstring">
2083
- <div class="discussion">
2084
- <p>
2085
- Asserts that one of the given kinds of exceptions is not raised when the
2086
- given block is executed.
2087
- </p>
2088
-
2089
-
2090
- </div>
2091
- </div>
2092
- <div class="tags">
2093
-
2094
- <div class="examples">
2095
- <h3>Examples:</h3>
2096
-
2097
- <h4><div class='inline'><p>
2098
- no exceptions given
2099
- </p>
2100
- </div></h4>
2101
- <pre class="example code">
2102
- <span class='id E!'>E!</span> <span class='lbrace'>{</span> <span class='rbrace'>}</span> <span class='comment'># passes
2103
- </span><span class='id E!'>E!</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='rbrace'>}</span> <span class='comment'># fails</span></pre>
2104
-
2105
- <h4><div class='inline'><p>
2106
- single exception given
2107
- </p>
2108
- </div></h4>
2109
- <pre class="example code">
2110
- <span class='id E!'>E!</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span> <span class='rbrace'>}</span> <span class='comment'># fails
2111
- </span><span class='id E!'>E!</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>argument must be invalid</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span> <span class='rbrace'>}</span></pre>
2112
-
2113
- <h4><div class='inline'><p>
2114
- multiple exceptions given
2115
- </p>
2116
- </div></h4>
2117
- <pre class="example code">
2118
- <span class='id E!'>E!</span><span class='lparen'>(</span><span class='const'>SyntaxError</span><span class='comma'>,</span> <span class='const'>NameError</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id eval'>eval</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>...</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
2119
- <span class='id E!'>E!</span><span class='lparen'>(</span><span class='const'>SyntaxError</span><span class='comma'>,</span> <span class='const'>NameError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>string must compile</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id eval'>eval</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>...</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span></pre>
2120
-
2121
- </div>
2122
- <h3>Parameters:</h3>
2123
- <ul class="param">
2124
-
2125
- <li>
2126
-
2127
- <span class='type'>(<tt>...</tt>)</span>
2128
-
2129
-
2130
- <span class='name'>kinds_then_message</span>
2131
-
2132
-
2133
-
2134
- &mdash;
2135
- <div class='inline'><p>
2136
- Exception classes that must be raised by the given block, optionally
2137
- followed by a message to show in the report if this assertion fails.
2138
- </p>
2139
- <p>
2140
- If no exception classes are given, then StandardError is assumed (similar
2141
- to how a plain &#8216;rescue&#8217; statement without any arguments catches
2142
- StandardError).
2143
- </p>
2144
- </div>
2145
-
2146
- </li>
2147
-
2148
- </ul>
2149
- <h3>Returns:</h3>
2150
- <ul class="return">
2151
-
2152
- <li>
2153
-
2154
- <span class='type'></span>
2155
-
2156
-
2157
-
2158
-
2159
-
2160
- <div class='inline'><p>
2161
- If the block raises an exception, then that exception is returned.
2162
- </p>
2163
- <p>
2164
- Otherwise, nil is returned.
2165
- </p>
2166
- </div>
2167
-
2168
- </li>
2169
-
2170
- </ul>
2171
-
2172
- </div><table class="source_code">
2173
- <tr>
2174
- <td>
2175
- <pre class="lines">
2176
-
2177
-
2178
- 403
2179
- 404
2180
- 405</pre>
2181
- </td>
2182
- <td>
2183
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 403</span>
2184
-
2185
- <span class='kw'>def</span> <span class='id E!'>E!</span> <span class='op'>*</span><span class='id kinds_then_message'>kinds_then_message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2186
- <span class='id assert_raise'>assert_raise</span> <span class='symbol'>:negate</span><span class='comma'>,</span> <span class='op'>*</span><span class='id kinds_then_message'>kinds_then_message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2187
- <span class='kw'>end</span></pre>
2188
- </td>
2189
- </tr>
2190
- </table>
2191
- </div>
2192
-
2193
- <div class="method_details ">
2194
- <p class="signature " id="E?-class_method">
2195
-
2196
- + (<tt>Boolean</tt>) <strong>E?</strong>(*kinds_then_message, &amp;block)
2197
-
2198
-
2199
-
2200
- </p><div class="docstring">
2201
- <div class="discussion">
2202
- <p>
2203
- Returns true if one of the given kinds of exceptions is raised when the
2204
- given block is executed. Otherwise, returns false.
2205
- </p>
2206
-
2207
-
2208
- </div>
2209
- </div>
2210
- <div class="tags">
2211
-
2212
- <div class="examples">
2213
- <h3>Examples:</h3>
2214
-
2215
- <h4><div class='inline'><p>
2216
- no exceptions given
2217
- </p>
2218
- </div></h4>
2219
- <pre class="example code">
2220
- <span class='id E?'>E?</span> <span class='lbrace'>{</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false
2221
- </span><span class='id E?'>E?</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true</span></pre>
2222
-
2223
- <h4><div class='inline'><p>
2224
- single exception given
2225
- </p>
2226
- </div></h4>
2227
- <pre class="example code">
2228
- <span class='id E?'>E?</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true</span></pre>
2229
-
2230
- <h4><div class='inline'><p>
2231
- multiple exceptions given
2232
- </p>
2233
- </div></h4>
2234
- <pre class="example code">
2235
- <span class='id E?'>E?</span><span class='lparen'>(</span><span class='const'>SyntaxError</span><span class='comma'>,</span> <span class='const'>NameError</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id eval'>eval</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>...</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true
2236
- </span><span class='id E!'>E!</span><span class='lparen'>(</span><span class='const'>SyntaxError</span><span class='comma'>,</span> <span class='const'>NameError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>string must compile</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id eval'>eval</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>...</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span></pre>
2237
-
2238
- </div>
2239
- <h3>Parameters:</h3>
2240
- <ul class="param">
2241
-
2242
- <li>
2243
-
2244
- <span class='type'>(<tt>...</tt>)</span>
2245
-
2246
-
2247
- <span class='name'>kinds_then_message</span>
2248
-
2249
-
2250
-
2251
- &mdash;
2252
- <div class='inline'><p>
2253
- Exception classes that must be raised by the given block, optionally
2254
- followed by a message that is completely ignored.
2255
- </p>
2256
- <p>
2257
- If no exception classes are given, then StandardError is assumed (similar
2258
- to how a plain &#8216;rescue&#8217; statement without any arguments catches
2259
- StandardError).
2260
- </p>
2261
- </div>
2262
-
2263
- </li>
2264
-
2265
- </ul>
2266
- <h3>Returns:</h3>
2267
- <ul class="return">
2268
-
2269
- <li>
2270
-
2271
- <span class='type'>(<tt>Boolean</tt>)</span>
2272
-
2273
-
2274
-
2275
-
2276
- </li>
2277
-
2278
- </ul>
2279
-
2280
- </div><table class="source_code">
2281
- <tr>
2282
- <td>
2283
- <pre class="lines">
2284
-
2285
-
2286
- 437
2287
- 438
2288
- 439</pre>
2289
- </td>
2290
- <td>
2291
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 437</span>
2292
-
2293
- <span class='kw'>def</span> <span class='id E?'>E?</span> <span class='op'>*</span><span class='id kinds_then_message'>kinds_then_message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2294
- <span class='id assert_raise'>assert_raise</span> <span class='symbol'>:sample</span><span class='comma'>,</span> <span class='op'>*</span><span class='id kinds_then_message'>kinds_then_message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2295
- <span class='kw'>end</span></pre>
2296
- </td>
2297
- </tr>
2298
- </table>
2299
- </div>
2300
-
2301
- <div class="method_details ">
2302
- <p class="signature " id="F?-class_method">
2303
-
2304
- + (<tt>Boolean</tt>) <strong>F?</strong>(message = nil, &amp;block)
2305
-
2306
-
2307
-
2308
- </p><div class="docstring">
2309
- <div class="discussion">
2310
- <p>
2311
- Returns true if the result of the given block is either nil or false.
2312
- Otherwise, returns false.
2313
- </p>
2314
-
2315
-
2316
- </div>
2317
- </div>
2318
- <div class="tags">
2319
-
2320
- <div class="examples">
2321
- <h3>Examples:</h3>
2322
-
2323
- <h4><div class='inline'><p>
2324
- no message given
2325
- </p>
2326
- </div></h4>
2327
- <pre class="example code">
2328
- <span class='id F?'>F?</span> <span class='lbrace'>{</span> <span class='kw'>true</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false
2329
- </span><span class='id F?'>F?</span> <span class='lbrace'>{</span> <span class='kw'>false</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true
2330
- </span><span class='id F?'>F?</span> <span class='lbrace'>{</span> <span class='kw'>nil</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true</span></pre>
2331
-
2332
- <h4><div class='inline'><p>
2333
- message is given
2334
- </p>
2335
- </div></h4>
2336
- <pre class="example code">
2337
- <span class='id F?'>F?</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>computers do not doublethink</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='int'>2</span> <span class='op'>+</span> <span class='int'>2</span> <span class='op'>==</span> <span class='int'>5</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true</span></pre>
2338
-
2339
- </div>
2340
- <h3>Parameters:</h3>
2341
- <ul class="param">
2342
-
2343
- <li>
2344
-
2345
- <span class='type'></span>
2346
-
2347
-
2348
- <span class='name'>message</span>
2349
-
2350
-
2351
- <em class="default">(defaults to: <tt>nil</tt>)</em>
2352
-
2353
-
2354
- &mdash;
2355
- <div class='inline'><p>
2356
- This parameter is optional and completely ignored.
2357
- </p>
2358
- </div>
2359
-
2360
- </li>
2361
-
2362
- </ul>
2363
- <h3>Returns:</h3>
2364
- <ul class="return">
2365
-
2366
- <li>
2367
-
2368
- <span class='type'>(<tt>Boolean</tt>)</span>
2369
-
2370
-
2371
-
2372
-
2373
- </li>
2374
-
2375
- </ul>
2376
-
2377
- </div><table class="source_code">
2378
- <tr>
2379
- <td>
2380
- <pre class="lines">
2381
-
2382
-
2383
- 335
2384
- 336
2385
- 337</pre>
2386
- </td>
2387
- <td>
2388
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 335</span>
2389
-
2390
- <span class='kw'>def</span> <span class='id F?'>F?</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2391
- <span class='kw'>not</span> <span class='id T?'>T?</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2392
- <span class='kw'>end</span></pre>
2393
- </td>
2394
- </tr>
2395
- </table>
2396
- </div>
2397
-
2398
- <div class="method_details ">
2399
- <p class="signature " id="info-class_method">
2400
-
2401
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>info</strong>
2402
-
2403
-
2404
-
2405
- </p><div class="docstring">
2406
- <div class="discussion">
2407
- <p>
2408
- Returns the details of the failure that is currently being debugged by the
2409
- user.
2410
- </p>
2411
-
2412
-
2413
- </div>
2414
- </div>
2415
- <div class="tags">
2416
-
2417
- </div><table class="source_code">
2418
- <tr>
2419
- <td>
2420
- <pre class="lines">
2421
-
2422
-
2423
- 675
2424
- 676
2425
- 677</pre>
2426
- </td>
2427
- <td>
2428
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 675</span>
2429
-
2430
- <span class='kw'>def</span> <span class='id info'>info</span>
2431
- <span class='ivar'>@trace</span><span class='period'>.</span><span class='id last'>last</span>
2432
- <span class='kw'>end</span></pre>
2433
- </td>
2434
- </tr>
2435
- </table>
2436
- </div>
2437
-
2438
- <div class="method_details ">
2439
- <p class="signature " id="inspect-class_method">
2440
-
2441
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>inspect</strong>
2442
-
2443
-
2444
-
2445
- </p><div class="docstring">
2446
- <div class="discussion">
2447
- <p>
2448
- Description of this release of this project.
2449
- </p>
2450
-
2451
-
2452
- </div>
2453
- </div>
2454
- <div class="tags">
2455
-
2456
- </div><table class="source_code">
2457
- <tr>
2458
- <td>
2459
- <pre class="lines">
2460
-
2461
-
2462
- 31
2463
- 32
2464
- 33</pre>
2465
- </td>
2466
- <td>
2467
- <pre class="code"><span class="info file"># File 'lib/dfect/inochi.rb', line 31</span>
2468
-
2469
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id inspect'>inspect</span>
2470
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>PROJECT</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='const'>VERSION</span><span class='rbrace'>}</span><span class='tstring_content'> (</span><span class='embexpr_beg'>#{</span><span class='const'>RELDATE</span><span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
2471
- <span class='kw'>end</span></pre>
2472
- </td>
2473
- </tr>
2474
- </table>
2475
- </div>
2476
-
2477
- <div class="method_details ">
2478
- <p class="signature " id="L-class_method">
2479
-
2480
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>L</strong>(*messages)
2481
-
2482
-
2483
-
2484
- </p><div class="docstring">
2485
- <div class="discussion">
2486
- <p>
2487
- Adds the given messages to the report inside the section of the currently
2488
- running test.
2489
- </p>
2490
- <p>
2491
- You can think of &#8220;L&#8221; as &#8220;to log something&#8221;.
2492
- </p>
2493
-
2494
-
2495
- </div>
2496
- </div>
2497
- <div class="tags">
2498
-
2499
- <div class="examples">
2500
- <h3>Examples:</h3>
2501
-
2502
- <h4><div class='inline'><p>
2503
- single message given
2504
- </p>
2505
- </div></h4>
2506
- <pre class="example code">
2507
- <span class='const'>L</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>establishing connection...</span><span class='tstring_end'>&quot;</span></span></pre>
2508
-
2509
- <h4><div class='inline'><p>
2510
- multiple messages given
2511
- </p>
2512
- </div></h4>
2513
- <pre class="example code">
2514
- <span class='const'>L</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>beginning calculation...</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='const'>Math</span><span class='op'>::</span><span class='const'>PI</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span> <span class='int'>2</span><span class='comma'>,</span> <span class='int'>3</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>a</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>b</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>c</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rbracket'>]</span></pre>
2515
-
2516
- </div>
2517
- <h3>Parameters:</h3>
2518
- <ul class="param">
2519
-
2520
- <li>
2521
-
2522
- <span class='type'></span>
2523
-
2524
-
2525
- <span class='name'>messages</span>
2526
-
2527
-
2528
-
2529
- &mdash;
2530
- <div class='inline'><p>
2531
- Objects to be added to the report.
2532
- </p>
2533
- </div>
2534
-
2535
- </li>
2536
-
2537
- </ul>
2538
-
2539
- </div><table class="source_code">
2540
- <tr>
2541
- <td>
2542
- <pre class="lines">
2543
-
2544
-
2545
- 539
2546
- 540
2547
- 541</pre>
2548
- </td>
2549
- <td>
2550
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 539</span>
2551
-
2552
- <span class='kw'>def</span> <span class='const'>L</span> <span class='op'>*</span><span class='id messages'>messages</span>
2553
- <span class='ivar'>@trace</span><span class='period'>.</span><span class='id concat'>concat</span> <span class='id messages'>messages</span>
2554
- <span class='kw'>end</span></pre>
2555
- </td>
2556
- </tr>
2557
- </table>
2558
- </div>
2559
-
2560
- <div class="method_details ">
2561
- <p class="signature " id="require-class_method">
2562
-
2563
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>require</strong>(gem_name_or_library)
2564
-
2565
-
2566
-
2567
- </p><div class="docstring">
2568
- <div class="discussion">
2569
- <p>
2570
- Loads the correct version (as defined by the <tt><a href="#RUNTIME-constant" title="Dfect::RUNTIME (constant)">RUNTIME</a></tt> or <tt><a href="#DEVTIME-constant" title="Dfect::DEVTIME (constant)">DEVTIME</a></tt>
2571
- constant in this module) of the given gem or the gem that contains the
2572
- given library.
2573
- </p>
2574
-
2575
-
2576
- </div>
2577
- </div>
2578
- <div class="tags">
2579
-
2580
- </div><table class="source_code">
2581
- <tr>
2582
- <td>
2583
- <pre class="lines">
2584
-
2585
-
2586
- 85
2587
- 86
2588
- 87
2589
- 88
2590
- 89
2591
- 90
2592
- 91
2593
- 92
2594
- 93
2595
- 94
2596
- 95
2597
- 96
2598
- 97
2599
- 98
2600
- 99
2601
- 100</pre>
2602
- </td>
2603
- <td>
2604
- <pre class="code"><span class="info file"># File 'lib/dfect/inochi.rb', line 85</span>
2605
-
2606
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id require'>require</span> <span class='id gem_name_or_library'>gem_name_or_library</span>
2607
- <span class='comment'># prepare the correct version of the gem for loading
2608
- </span> <span class='kw'>if</span> <span class='id respond_to?'>respond_to?</span> <span class='symbol'>:gem</span>
2609
- <span class='id gem_name'>gem_name</span> <span class='op'>=</span> <span class='id gem_name_or_library'>gem_name_or_library</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id sub'>sub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>/.*$</span><span class='regexp_end'>}</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
2610
- <span class='kw'>if</span> <span class='id gem_version'>gem_version</span> <span class='op'>=</span> <span class='const'>RUNTIME</span><span class='lbracket'>[</span><span class='id gem_name'>gem_name</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'>DEVTIME</span><span class='lbracket'>[</span><span class='id gem_name'>gem_name</span><span class='rbracket'>]</span>
2611
- <span class='kw'>begin</span>
2612
- <span class='id gem'>gem</span> <span class='id gem_name'>gem_name</span><span class='comma'>,</span> <span class='op'>*</span><span class='id gem_version'>gem_version</span>
2613
- <span class='kw'>rescue</span> <span class='const'>LoadError</span> <span class='op'>=&gt;</span> <span class='id error'>error</span>
2614
- <span class='id warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id error'>error</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
2615
- <span class='kw'>end</span>
2616
- <span class='kw'>end</span>
2617
- <span class='kw'>end</span>
2618
-
2619
- <span class='comment'># do the loading
2620
- </span> <span class='kw'>super</span>
2621
- <span class='kw'>end</span></pre>
2622
- </td>
2623
- </tr>
2624
- </table>
2625
- </div>
2626
-
2627
- <div class="method_details ">
2628
- <p class="signature " id="run-class_method">
2629
-
2630
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>run</strong>(continue = true)
2631
-
2632
-
2633
-
2634
- </p><div class="docstring">
2635
- <div class="discussion">
2636
- <p>
2637
- Executes all tests defined thus far and stores the results in
2638
- <tt><a href="#report-class_method" title="Dfect.report (method)">Dfect.report</a></tt>.
2639
- </p>
2640
-
2641
-
2642
- </div>
2643
- </div>
2644
- <div class="tags">
2645
- <h3>Parameters:</h3>
2646
- <ul class="param">
2647
-
2648
- <li>
2649
-
2650
- <span class='type'>(<tt>Boolean</tt>)</span>
2651
-
2652
-
2653
- <span class='name'>continue</span>
2654
-
2655
-
2656
- <em class="default">(defaults to: <tt>true</tt>)</em>
2657
-
2658
-
2659
- &mdash;
2660
- <div class='inline'><p>
2661
- If true, results from previous executions will not be cleared.
2662
- </p>
2663
- </div>
2664
-
2665
- </li>
2666
-
2667
- </ul>
2668
-
2669
- </div><table class="source_code">
2670
- <tr>
2671
- <td>
2672
- <pre class="lines">
2673
-
2674
-
2675
- 636
2676
- 637
2677
- 638
2678
- 639
2679
- 640
2680
- 641
2681
- 642
2682
- 643
2683
- 644
2684
- 645
2685
- 646
2686
- 647
2687
- 648
2688
- 649
2689
- 650
2690
- 651
2691
- 652
2692
- 653
2693
- 654
2694
- 655
2695
- 656
2696
- 657
2697
- 658
2698
- 659
2699
- 660
2700
- 661</pre>
2701
- </td>
2702
- <td>
2703
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 636</span>
2704
-
2705
- <span class='kw'>def</span> <span class='id run'>run</span> <span class='id continue'>continue</span> <span class='op'>=</span> <span class='kw'>true</span>
2706
- <span class='comment'># clear previous results
2707
- </span> <span class='kw'>unless</span> <span class='id continue'>continue</span>
2708
- <span class='ivar'>@stats</span><span class='period'>.</span><span class='id clear'>clear</span>
2709
- <span class='ivar'>@trace</span><span class='period'>.</span><span class='id clear'>clear</span>
2710
- <span class='ivar'>@tests</span><span class='period'>.</span><span class='id clear'>clear</span>
2711
- <span class='kw'>end</span>
2712
-
2713
- <span class='comment'># make new results
2714
- </span> <span class='id start'>start</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span>
2715
- <span class='id catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:stop_dfect_execution</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id execute'>execute</span> <span class='rbrace'>}</span>
2716
- <span class='id finish'>finish</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span>
2717
- <span class='ivar'>@stats</span><span class='lbracket'>[</span><span class='symbol'>:time</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id finish'>finish</span> <span class='op'>-</span> <span class='id start'>start</span>
2718
-
2719
- <span class='comment'># print new results
2720
- </span> <span class='kw'>unless</span> <span class='ivar'>@stats</span><span class='period'>.</span><span class='id key?'>key?</span> <span class='symbol'>:fail</span> <span class='kw'>or</span> <span class='ivar'>@stats</span><span class='period'>.</span><span class='id key?'>key?</span> <span class='symbol'>:error</span>
2721
- <span class='comment'>#
2722
- </span> <span class='comment'># show execution trace only if all tests passed.
2723
- </span> <span class='comment'># otherwise, we will be repeating already printed
2724
- </span> <span class='comment'># failure details and obstructing the developer!
2725
- </span> <span class='comment'>#
2726
- </span> <span class='id display'>display</span> <span class='ivar'>@trace</span>
2727
- <span class='kw'>end</span>
2728
-
2729
- <span class='id display'>display</span> <span class='ivar'>@stats</span>
2730
- <span class='kw'>end</span></pre>
2731
- </td>
2732
- </tr>
2733
- </table>
2734
- </div>
2735
-
2736
- <div class="method_details ">
2737
- <p class="signature " id="S-class_method">
2738
-
2739
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>S</strong>(identifier, &amp;block)
2740
-
2741
-
2742
-
2743
- </p><div class="docstring">
2744
- <div class="discussion">
2745
- <p>
2746
- Mechanism for sharing code between tests.
2747
- </p>
2748
- <p>
2749
- If a block is given, it is shared under the given identifier. Otherwise,
2750
- the code block that was previously shared under the given identifier is
2751
- injected into the closest insulated Dfect test that contains the call to
2752
- this method.
2753
- </p>
2754
-
2755
-
2756
- </div>
2757
- </div>
2758
- <div class="tags">
2759
-
2760
- <div class="examples">
2761
- <h3>Examples:</h3>
2762
-
2763
- <h4><div class='inline'></div></h4>
2764
- <pre class="example code">
2765
- <span class='const'>S</span> <span class='symbol'>:knowledge</span> <span class='kw'>do</span>
2766
- <span class='comment'>#...
2767
- </span><span class='kw'>end</span>
2768
-
2769
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>some test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
2770
- <span class='const'>S</span> <span class='symbol'>:knowledge</span>
2771
- <span class='kw'>end</span>
2772
-
2773
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>another test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
2774
- <span class='const'>S</span> <span class='symbol'>:knowledge</span>
2775
- <span class='kw'>end</span></pre>
2776
-
2777
- </div>
2778
- <h3>Parameters:</h3>
2779
- <ul class="param">
2780
-
2781
- <li>
2782
-
2783
- <span class='type'>(<tt>Symbol</tt>, <tt><a href="Object.html" title="Object (class)">Object</a></tt>)</span>
2784
-
2785
-
2786
- <span class='name'>identifier</span>
2787
-
2788
-
2789
-
2790
- &mdash;
2791
- <div class='inline'><p>
2792
- An object that identifies shared code. This must be common knowledge to all
2793
- parties that want to partake in the sharing.
2794
- </p>
2795
- </div>
2796
-
2797
- </li>
2798
-
2799
- </ul>
2800
-
2801
- </div><table class="source_code">
2802
- <tr>
2803
- <td>
2804
- <pre class="lines">
2805
-
2806
-
2807
- 572
2808
- 573
2809
- 574
2810
- 575
2811
- 576
2812
- 577
2813
- 578
2814
- 579
2815
- 580
2816
- 581
2817
- 582
2818
- 583
2819
- 584
2820
- 585
2821
- 586
2822
- 587
2823
- 588
2824
- 589
2825
- 590
2826
- 591
2827
- 592
2828
- 593</pre>
2829
- </td>
2830
- <td>
2831
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 572</span>
2832
-
2833
- <span class='kw'>def</span> <span class='const'>S</span> <span class='id identifier'>identifier</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2834
- <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
2835
- <span class='kw'>if</span> <span class='id already_shared'>already_shared</span> <span class='op'>=</span> <span class='ivar'>@share</span><span class='lbracket'>[</span><span class='id identifier'>identifier</span><span class='rbracket'>]</span>
2836
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>A code block </span><span class='embexpr_beg'>#{</span><span class='id already_shared'>already_shared</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'> has already been shared under the identifier </span><span class='embexpr_beg'>#{</span><span class='id identifier'>identifier</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span>
2837
- <span class='kw'>end</span>
2838
-
2839
- <span class='ivar'>@share</span><span class='lbracket'>[</span><span class='id identifier'>identifier</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id block'>block</span>
2840
-
2841
- <span class='kw'>elsif</span> <span class='id block'>block</span> <span class='op'>=</span> <span class='ivar'>@share</span><span class='lbracket'>[</span><span class='id identifier'>identifier</span><span class='rbracket'>]</span>
2842
- <span class='kw'>if</span> <span class='ivar'>@tests</span><span class='period'>.</span><span class='id empty?'>empty?</span>
2843
- <span class='id raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Cannot inject code block </span><span class='embexpr_beg'>#{</span><span class='id block'>block</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'> shared under identifier </span><span class='embexpr_beg'>#{</span><span class='id identifier'>identifier</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'> outside of a Dfect test.</span><span class='tstring_end'>&quot;</span></span>
2844
- <span class='kw'>else</span>
2845
- <span class='comment'># find the closest insulated parent test; this should always
2846
- </span> <span class='comment'># succeed because root-level tests are insulated by default
2847
- </span> <span class='id test'>test</span> <span class='op'>=</span> <span class='ivar'>@tests</span><span class='period'>.</span><span class='id reverse'>reverse</span><span class='period'>.</span><span class='id find'>find</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id t'>t</span><span class='op'>|</span> <span class='id t'>t</span><span class='period'>.</span><span class='id sandbox'>sandbox</span> <span class='rbrace'>}</span>
2848
- <span class='id test'>test</span><span class='period'>.</span><span class='id sandbox'>sandbox</span><span class='period'>.</span><span class='id instance_eval'>instance_eval</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id block'>block</span><span class='rparen'>)</span>
2849
- <span class='kw'>end</span>
2850
-
2851
- <span class='kw'>else</span>
2852
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>No code block is shared under identifier </span><span class='embexpr_beg'>#{</span><span class='id identifier'>identifier</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span>
2853
- <span class='kw'>end</span>
2854
- <span class='kw'>end</span></pre>
2855
- </td>
2856
- </tr>
2857
- </table>
2858
- </div>
2859
-
2860
- <div class="method_details ">
2861
- <p class="signature " id="S!-class_method">
2862
-
2863
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>S!</strong>(identifier, &amp;block)
2864
-
2865
-
2866
-
2867
- </p><div class="docstring">
2868
- <div class="discussion">
2869
- <p>
2870
- Shares the given code block under the given identifier and then immediately
2871
- injects that code block into the closest insulated Dfect test that contains
2872
- the call to this method.
2873
- </p>
2874
-
2875
-
2876
- </div>
2877
- </div>
2878
- <div class="tags">
2879
-
2880
- <div class="examples">
2881
- <h3>Examples:</h3>
2882
-
2883
- <h4><div class='inline'></div></h4>
2884
- <pre class="example code">
2885
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>some test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
2886
- <span class='id S!'>S!</span> <span class='symbol'>:knowledge</span> <span class='kw'>do</span>
2887
- <span class='comment'>#...
2888
- </span> <span class='kw'>end</span>
2889
- <span class='kw'>end</span>
2890
-
2891
- <span class='const'>D</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>another test</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span>
2892
- <span class='const'>S</span> <span class='symbol'>:knowledge</span>
2893
- <span class='kw'>end</span></pre>
2894
-
2895
- </div>
2896
- <h3>Parameters:</h3>
2897
- <ul class="param">
2898
-
2899
- <li>
2900
-
2901
- <span class='type'>(<tt>Symbol</tt>, <tt><a href="Object.html" title="Object (class)">Object</a></tt>)</span>
2902
-
2903
-
2904
- <span class='name'>identifier</span>
2905
-
2906
-
2907
-
2908
- &mdash;
2909
- <div class='inline'><p>
2910
- An object that identifies shared code. This must be common knowledge to all
2911
- parties that want to partake in the sharing.
2912
- </p>
2913
- </div>
2914
-
2915
- </li>
2916
-
2917
- </ul>
2918
-
2919
- </div><table class="source_code">
2920
- <tr>
2921
- <td>
2922
- <pre class="lines">
2923
-
2924
-
2925
- 615
2926
- 616
2927
- 617
2928
- 618
2929
- 619</pre>
2930
- </td>
2931
- <td>
2932
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 615</span>
2933
-
2934
- <span class='kw'>def</span> <span class='id S!'>S!</span> <span class='id identifier'>identifier</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2935
- <span class='id raise'>raise</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>block must be given</span><span class='tstring_end'>'</span></span> <span class='kw'>unless</span> <span class='id block_given?'>block_given?</span>
2936
- <span class='const'>S</span> <span class='id identifier'>identifier</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
2937
- <span class='const'>S</span> <span class='id identifier'>identifier</span>
2938
- <span class='kw'>end</span></pre>
2939
- </td>
2940
- </tr>
2941
- </table>
2942
- </div>
2943
-
2944
- <div class="method_details ">
2945
- <p class="signature " id="S?-class_method">
2946
-
2947
- + (<tt>Boolean</tt>) <strong>S?</strong>(identifier)
2948
-
2949
-
2950
-
2951
- </p><div class="docstring">
2952
- <div class="discussion">
2953
- <p>
2954
- Checks whether any code has been shared under the given identifier.
2955
- </p>
2956
-
2957
-
2958
- </div>
2959
- </div>
2960
- <div class="tags">
2961
- <h3>Returns:</h3>
2962
- <ul class="return">
2963
-
2964
- <li>
2965
-
2966
- <span class='type'>(<tt>Boolean</tt>)</span>
2967
-
2968
-
2969
-
2970
-
2971
- </li>
2972
-
2973
- </ul>
2974
-
2975
- </div><table class="source_code">
2976
- <tr>
2977
- <td>
2978
- <pre class="lines">
2979
-
2980
-
2981
- 624
2982
- 625
2983
- 626</pre>
2984
- </td>
2985
- <td>
2986
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 624</span>
2987
-
2988
- <span class='kw'>def</span> <span class='id S?'>S?</span> <span class='id identifier'>identifier</span>
2989
- <span class='ivar'>@share</span><span class='period'>.</span><span class='id key?'>key?</span> <span class='id identifier'>identifier</span>
2990
- <span class='kw'>end</span></pre>
2991
- </td>
2992
- </tr>
2993
- </table>
2994
- </div>
2995
-
2996
- <div class="method_details ">
2997
- <p class="signature " id="stop-class_method">
2998
-
2999
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>stop</strong>
3000
-
3001
-
3002
-
3003
- </p><div class="docstring">
3004
- <div class="discussion">
3005
- <p>
3006
- Stops the execution of the <tt><a href="#run-class_method" title="Dfect.run (method)">Dfect.run</a></tt> method or raises an exception if
3007
- that method is not currently executing.
3008
- </p>
3009
-
3010
-
3011
- </div>
3012
- </div>
3013
- <div class="tags">
3014
-
3015
- </div><table class="source_code">
3016
- <tr>
3017
- <td>
3018
- <pre class="lines">
3019
-
3020
-
3021
- 667
3022
- 668
3023
- 669</pre>
3024
- </td>
3025
- <td>
3026
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 667</span>
3027
-
3028
- <span class='kw'>def</span> <span class='id stop'>stop</span>
3029
- <span class='id throw'>throw</span> <span class='symbol'>:stop_dfect_execution</span>
3030
- <span class='kw'>end</span></pre>
3031
- </td>
3032
- </tr>
3033
- </table>
3034
- </div>
3035
-
3036
- <div class="method_details ">
3037
- <p class="signature " id="T-class_method">
3038
-
3039
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>T</strong>(condition = nil, message = nil, &amp;block)
3040
-
3041
-
3042
-
3043
- <span class="aliases">Also known as:
3044
- <span class="names"><span id='F!-class_method'>F!</span></span>
3045
- </span>
3046
-
3047
- </p><div class="docstring">
3048
- <div class="discussion">
3049
- <p>
3050
- Asserts that the given condition or the result of the given block is
3051
- neither nil nor false and returns that result.
3052
- </p>
3053
-
3054
-
3055
- </div>
3056
- </div>
3057
- <div class="tags">
3058
-
3059
- <div class="examples">
3060
- <h3>Examples:</h3>
3061
-
3062
- <h4><div class='inline'><p>
3063
- no message given
3064
- </p>
3065
- </div></h4>
3066
- <pre class="example code">
3067
- <span class='const'>T</span> <span class='lbrace'>{</span> <span class='kw'>true</span> <span class='rbrace'>}</span> <span class='comment'># passes
3068
- </span><span class='const'>T</span> <span class='lbrace'>{</span> <span class='kw'>false</span> <span class='rbrace'>}</span> <span class='comment'># fails
3069
- </span><span class='const'>T</span> <span class='lbrace'>{</span> <span class='kw'>nil</span> <span class='rbrace'>}</span> <span class='comment'># fails</span></pre>
3070
-
3071
- <h4><div class='inline'><p>
3072
- message is given
3073
- </p>
3074
- </div></h4>
3075
- <pre class="example code">
3076
- <span class='const'>T</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>computers do not doublethink</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='int'>2</span> <span class='op'>+</span> <span class='int'>2</span> <span class='op'>!=</span> <span class='int'>5</span> <span class='rbrace'>}</span> <span class='comment'># passes</span></pre>
3077
-
3078
- </div>
3079
- <h3>Parameters:</h3>
3080
- <ul class="param">
3081
-
3082
- <li>
3083
-
3084
- <span class='type'></span>
3085
-
3086
-
3087
- <span class='name'>condition</span>
3088
-
3089
-
3090
- <em class="default">(defaults to: <tt>nil</tt>)</em>
3091
-
3092
-
3093
- &mdash;
3094
- <div class='inline'><p>
3095
- The condition to be asserted. A block may be given in place of this
3096
- parameter.
3097
- </p>
3098
- </div>
3099
-
3100
- </li>
3101
-
3102
- <li>
3103
-
3104
- <span class='type'></span>
3105
-
3106
-
3107
- <span class='name'>message</span>
3108
-
3109
-
3110
- <em class="default">(defaults to: <tt>nil</tt>)</em>
3111
-
3112
-
3113
- &mdash;
3114
- <div class='inline'><p>
3115
- Optional message to show in the report if this assertion fails.
3116
- </p>
3117
- </div>
3118
-
3119
- </li>
3120
-
3121
- </ul>
3122
-
3123
- </div><table class="source_code">
3124
- <tr>
3125
- <td>
3126
- <pre class="lines">
3127
-
3128
-
3129
- 263
3130
- 264
3131
- 265</pre>
3132
- </td>
3133
- <td>
3134
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 263</span>
3135
-
3136
- <span class='kw'>def</span> <span class='const'>T</span> <span class='id condition'>condition</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3137
- <span class='id assert_yield'>assert_yield</span> <span class='symbol'>:assert</span><span class='comma'>,</span> <span class='id condition'>condition</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3138
- <span class='kw'>end</span></pre>
3139
- </td>
3140
- </tr>
3141
- </table>
3142
- </div>
3143
-
3144
- <div class="method_details ">
3145
- <p class="signature " id="T!-class_method">
3146
-
3147
- + (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>T!</strong>(condition = nil, message = nil, &amp;block)
3148
-
3149
-
3150
-
3151
- <span class="aliases">Also known as:
3152
- <span class="names"><span id='F-class_method'>F</span></span>
3153
- </span>
3154
-
3155
- </p><div class="docstring">
3156
- <div class="discussion">
3157
- <p>
3158
- Asserts that the given condition or the result of the given block is either
3159
- nil or false and returns that result.
3160
- </p>
3161
-
3162
-
3163
- </div>
3164
- </div>
3165
- <div class="tags">
3166
-
3167
- <div class="examples">
3168
- <h3>Examples:</h3>
3169
-
3170
- <h4><div class='inline'><p>
3171
- no message given
3172
- </p>
3173
- </div></h4>
3174
- <pre class="example code">
3175
- <span class='id T!'>T!</span> <span class='lbrace'>{</span> <span class='kw'>true</span> <span class='rbrace'>}</span> <span class='comment'># fails
3176
- </span><span class='id T!'>T!</span> <span class='lbrace'>{</span> <span class='kw'>false</span> <span class='rbrace'>}</span> <span class='comment'># passes
3177
- </span><span class='id T!'>T!</span> <span class='lbrace'>{</span> <span class='kw'>nil</span> <span class='rbrace'>}</span> <span class='comment'># passes</span></pre>
3178
-
3179
- <h4><div class='inline'><p>
3180
- message is given
3181
- </p>
3182
- </div></h4>
3183
- <pre class="example code">
3184
- <span class='id T!'>T!</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>computers do not doublethink</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='int'>2</span> <span class='op'>+</span> <span class='int'>2</span> <span class='op'>==</span> <span class='int'>5</span> <span class='rbrace'>}</span> <span class='comment'># passes</span></pre>
3185
-
3186
- </div>
3187
- <h3>Parameters:</h3>
3188
- <ul class="param">
3189
-
3190
- <li>
3191
-
3192
- <span class='type'></span>
3193
-
3194
-
3195
- <span class='name'>condition</span>
3196
-
3197
-
3198
- <em class="default">(defaults to: <tt>nil</tt>)</em>
3199
-
3200
-
3201
- &mdash;
3202
- <div class='inline'><p>
3203
- The condition to be asserted. A block may be given in place of this
3204
- parameter.
3205
- </p>
3206
- </div>
3207
-
3208
- </li>
3209
-
3210
- <li>
3211
-
3212
- <span class='type'></span>
3213
-
3214
-
3215
- <span class='name'>message</span>
3216
-
3217
-
3218
- <em class="default">(defaults to: <tt>nil</tt>)</em>
3219
-
3220
-
3221
- &mdash;
3222
- <div class='inline'><p>
3223
- Optional message to show in the report if this assertion fails.
3224
- </p>
3225
- </div>
3226
-
3227
- </li>
3228
-
3229
- </ul>
3230
-
3231
- </div><table class="source_code">
3232
- <tr>
3233
- <td>
3234
- <pre class="lines">
3235
-
3236
-
3237
- 286
3238
- 287
3239
- 288</pre>
3240
- </td>
3241
- <td>
3242
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 286</span>
3243
-
3244
- <span class='kw'>def</span> <span class='id T!'>T!</span> <span class='id condition'>condition</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3245
- <span class='id assert_yield'>assert_yield</span> <span class='symbol'>:negate</span><span class='comma'>,</span> <span class='id condition'>condition</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3246
- <span class='kw'>end</span></pre>
3247
- </td>
3248
- </tr>
3249
- </table>
3250
- </div>
3251
-
3252
- <div class="method_details ">
3253
- <p class="signature " id="T?-class_method">
3254
-
3255
- + (<tt>Boolean</tt>) <strong>T?</strong>(condition = nil, message = nil, &amp;block)
3256
-
3257
-
3258
-
3259
- </p><div class="docstring">
3260
- <div class="discussion">
3261
- <p>
3262
- Returns true if the given condition or the result of the given block is
3263
- neither nil nor false. Otherwise, returns false.
3264
- </p>
3265
-
3266
-
3267
- </div>
3268
- </div>
3269
- <div class="tags">
3270
-
3271
- <div class="examples">
3272
- <h3>Examples:</h3>
3273
-
3274
- <h4><div class='inline'><p>
3275
- no message given
3276
- </p>
3277
- </div></h4>
3278
- <pre class="example code">
3279
- <span class='id T?'>T?</span> <span class='lbrace'>{</span> <span class='kw'>true</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true
3280
- </span><span class='id T?'>T?</span> <span class='lbrace'>{</span> <span class='kw'>false</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false
3281
- </span><span class='id T?'>T?</span> <span class='lbrace'>{</span> <span class='kw'>nil</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; false</span></pre>
3282
-
3283
- <h4><div class='inline'><p>
3284
- message is given
3285
- </p>
3286
- </div></h4>
3287
- <pre class="example code">
3288
- <span class='id T?'>T?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>computers do not doublethink</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='int'>2</span> <span class='op'>+</span> <span class='int'>2</span> <span class='op'>!=</span> <span class='int'>5</span> <span class='rbrace'>}</span> <span class='comment'># =&gt; true</span></pre>
3289
-
3290
- </div>
3291
- <h3>Parameters:</h3>
3292
- <ul class="param">
3293
-
3294
- <li>
3295
-
3296
- <span class='type'></span>
3297
-
3298
-
3299
- <span class='name'>message</span>
3300
-
3301
-
3302
- <em class="default">(defaults to: <tt>nil</tt>)</em>
3303
-
3304
-
3305
- &mdash;
3306
- <div class='inline'><p>
3307
- This parameter is optional and completely ignored.
3308
- </p>
3309
- </div>
3310
-
3311
- </li>
3312
-
3313
- <li>
3314
-
3315
- <span class='type'></span>
3316
-
3317
-
3318
- <span class='name'>condition</span>
3319
-
3320
-
3321
- <em class="default">(defaults to: <tt>nil</tt>)</em>
3322
-
3323
-
3324
- &mdash;
3325
- <div class='inline'><p>
3326
- The condition to be asserted. A block may be given in place of this
3327
- parameter.
3328
- </p>
3329
- </div>
3330
-
3331
- </li>
3332
-
3333
- </ul>
3334
- <h3>Returns:</h3>
3335
- <ul class="return">
3336
-
3337
- <li>
3338
-
3339
- <span class='type'>(<tt>Boolean</tt>)</span>
3340
-
3341
-
3342
-
3343
-
3344
- </li>
3345
-
3346
- </ul>
3347
-
3348
- </div><table class="source_code">
3349
- <tr>
3350
- <td>
3351
- <pre class="lines">
3352
-
3353
-
3354
- 311
3355
- 312
3356
- 313</pre>
3357
- </td>
3358
- <td>
3359
- <pre class="code"><span class="info file"># File 'lib/dfect.rb', line 311</span>
3360
-
3361
- <span class='kw'>def</span> <span class='id T?'>T?</span> <span class='id condition'>condition</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id message'>message</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3362
- <span class='id assert_yield'>assert_yield</span> <span class='symbol'>:sample</span><span class='comma'>,</span> <span class='id condition'>condition</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3363
- <span class='kw'>end</span></pre>
3364
- </td>
3365
- </tr>
3366
- </table>
3367
- </div>
3368
-
3369
- </div>
3370
-
3371
- <div id="instance_method_details" class="method_details_list">
3372
- <h2>Instance Method Details</h2>
3373
-
3374
-
3375
- <div class="method_details first">
3376
- <p class="signature first" id="after-instance_method">
3377
-
3378
- - (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>after</strong>(what, &amp;block)
3379
-
3380
-
3381
-
3382
- </p><table class="source_code">
3383
- <tr>
3384
- <td>
3385
- <pre class="lines">
3386
-
3387
-
3388
- 21
3389
- 22
3390
- 23
3391
- 24
3392
- 25
3393
- 26
3394
- 27
3395
- 28
3396
- 29
3397
- 30</pre>
3398
- </td>
3399
- <td>
3400
- <pre class="code"><span class="info file"># File 'lib/dfect/spec.rb', line 21</span>
3401
-
3402
- <span class='kw'>def</span> <span class='id after'>after</span> <span class='id what'>what</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3403
- <span class='id meth'>meth</span> <span class='op'>=</span>
3404
- <span class='kw'>case</span> <span class='id what'>what</span>
3405
- <span class='kw'>when</span> <span class='symbol'>:each</span> <span class='kw'>then</span> <span class='symbol'>:&gt;</span>
3406
- <span class='kw'>when</span> <span class='symbol'>:all</span> <span class='kw'>then</span> <span class='symbol'>:&gt;&gt;</span>
3407
- <span class='kw'>else</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='id what'>what</span>
3408
- <span class='kw'>end</span>
3409
-
3410
- <span class='id send'>send</span> <span class='id meth'>meth</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3411
- <span class='kw'>end</span></pre>
3412
- </td>
3413
- </tr>
3414
- </table>
3415
- </div>
3416
-
3417
- <div class="method_details ">
3418
- <p class="signature " id="before-instance_method">
3419
-
3420
- - (<tt><a href="Object.html" title="Object (class)">Object</a></tt>) <strong>before</strong>(what, &amp;block)
3421
-
3422
-
3423
-
3424
- </p><table class="source_code">
3425
- <tr>
3426
- <td>
3427
- <pre class="lines">
3428
-
3429
-
3430
- 10
3431
- 11
3432
- 12
3433
- 13
3434
- 14
3435
- 15
3436
- 16
3437
- 17
3438
- 18
3439
- 19</pre>
3440
- </td>
3441
- <td>
3442
- <pre class="code"><span class="info file"># File 'lib/dfect/spec.rb', line 10</span>
3443
-
3444
- <span class='kw'>def</span> <span class='id before'>before</span> <span class='id what'>what</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3445
- <span class='id meth'>meth</span> <span class='op'>=</span>
3446
- <span class='kw'>case</span> <span class='id what'>what</span>
3447
- <span class='kw'>when</span> <span class='symbol'>:each</span> <span class='kw'>then</span> <span class='symbol'>:&lt;</span>
3448
- <span class='kw'>when</span> <span class='symbol'>:all</span> <span class='kw'>then</span> <span class='symbol'>:&lt;&lt;</span>
3449
- <span class='kw'>else</span> <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='id what'>what</span>
3450
- <span class='kw'>end</span>
3451
-
3452
- <span class='id send'>send</span> <span class='id meth'>meth</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span>
3453
- <span class='kw'>end</span></pre>
3454
- </td>
3455
- </tr>
3456
- </table>
3457
- </div>
3458
-
3459
- </div>
3460
-
3461
- </div>
3462
-
3463
- <div id="footer">
3464
- Generated on Wed Mar 31 23:33:35 2010 by
3465
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
3466
- 0.5.4 (ruby-1.9.1).
3467
- </div>
3468
-
3469
- </body>
3470
- </html>