dfect 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>