detest 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -959,9 +959,7 @@ module Detest
959
959
  raise ArgumentError unless block_given?
960
960
 
961
961
  set_trace_func lambda {|event, file, line, id, binding, klass|
962
- unless file =~ INTERNALS
963
- self[file][line] = binding
964
- end
962
+ self[file][line] = binding unless file =~ INTERNALS
965
963
  }
966
964
 
967
965
  yield
@@ -18,12 +18,12 @@ module Detest
18
18
  ##
19
19
  # Number of this release of this project.
20
20
  #
21
- VERSION = '3.1.2'
21
+ VERSION = '3.1.3'
22
22
 
23
23
  ##
24
24
  # Date of this release of this project.
25
25
  #
26
- RELDATE = '2010-08-10'
26
+ RELDATE = '2011-04-22'
27
27
 
28
28
  ##
29
29
  # Description of this release of this project.
@@ -42,7 +42,7 @@ module Detest
42
42
  #
43
43
  # @example
44
44
  #
45
- # RUNTIME = {
45
+ # GEMDEPS = {
46
46
  # # this project needs exactly version 1.2.3 of the "an_example" gem
47
47
  # 'an_example' => [ '1.2.3' ],
48
48
  #
@@ -54,40 +54,6 @@ module Detest
54
54
  # 'yet_another_example' => [],
55
55
  # }
56
56
  #
57
- RUNTIME = {}
58
-
59
- ##
60
- # RubyGems required by this project during development.
61
- #
62
- # @example
63
- #
64
- # DEVTIME = {
65
- # # this project needs exactly version 1.2.3 of the "an_example" gem
66
- # 'an_example' => [ '1.2.3' ],
67
- #
68
- # # this project needs at least version 1.2 (but not
69
- # # version 1.2.4 or newer) of the "another_example" gem
70
- # 'another_example' => [ '>= 1.2' , '< 1.2.4' ],
71
- #
72
- # # this project needs any version of the "yet_another_example" gem
73
- # "yet_another_example" => [],
74
- # }
75
- #
76
- DEVTIME = {
77
- 'inochi' => [ '>= 5.0.1', '< 6' ],
78
- }
79
-
80
- # establish gem version dependencies
81
- if respond_to? :gem, true
82
- [RUNTIME, DEVTIME].each do |deps|
83
- deps.each do |gem_name, gem_version|
84
- begin
85
- gem gem_name, *Array(gem_version)
86
- rescue LoadError => error
87
- warn "#{self.inspect}: #{error}"
88
- end
89
- end
90
- end
91
- end
57
+ GEMDEPS = {}
92
58
 
93
59
  end
@@ -76,7 +76,7 @@ module Detest
76
76
 
77
77
  def #{prefix}_operator object, operator, operand, message = nil
78
78
  message ||= 'object must #{action}support operator with operand'
79
- T#{polarity} { object.__send__ operator, operand }
79
+ T#{polarity}(message) { object.__send__(operator, operand) }
80
80
  end
81
81
 
82
82
  def #{prefix}_raise *args, &block
@@ -92,9 +92,9 @@ module Detest
92
92
  C#{polarity}(message, symbol, &block)
93
93
  end
94
94
 
95
- def #{prefix}_send object, query, *args
96
- response = object.__send__(query, *args)
97
- T#{polarity} { response }
95
+ def #{prefix}_send send_array, message = nil
96
+ object, query, *args = send_array
97
+ T#{polarity}(message) { object.__send__(query, *args) }
98
98
  end
99
99
  }, file, line
100
100
  end
@@ -1,13 +1,22 @@
1
1
  '\" t
2
2
  .\" Title: detest
3
3
  .\" Author: [see the "AUTHORS" section]
4
- .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
5
- .\" Date: 08/10/2010
4
+ .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
+ .\" Date: 2011-04-22
6
6
  .\" Manual: \ \&
7
- .\" Source: \ \& 3.1.2
7
+ .\" Source: \ \& 3.1.3
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "DETEST" "1" "08/10/2010" "\ \& 3\&.1\&.2" "\ \&"
10
+ .TH "DETEST" "1" "2011\-04\-22" "\ \& 3\&.1\&.3" "\ \&"
11
+ .\" -----------------------------------------------------------------
12
+ .\" * Define some portability stuff
13
+ .\" -----------------------------------------------------------------
14
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ .\" http://bugs.debian.org/507673
16
+ .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
+ .ie \n(.g .ds Aq \(aq
19
+ .el .ds Aq '
11
20
  .\" -----------------------------------------------------------------
12
21
  .\" * set default formatting
13
22
  .\" -----------------------------------------------------------------
@@ -53,23 +62,23 @@ detest foo_test\&.rb bar_test\&.rb
53
62
  Execute all *_test\&.rb files inside the test/ directory:
54
63
  .sp
55
64
  .nf
56
- detest \'test/*_test\&.rb\'
65
+ detest \*(Aqtest/*_test\&.rb\*(Aq
57
66
  .fi
58
67
  .sp
59
68
  Execute all *_test\&.rb files inside or beneath the test/ directory:
60
69
  .sp
61
70
  .nf
62
- detest \'test/**/*_test\&.rb\'
71
+ detest \*(Aqtest/**/*_test\&.rb\*(Aq
63
72
  .fi
64
73
  .sp
65
74
  Execute all foo_test\&.rb and bar_test\&.rb files inside or beneath the test/ directory:
66
75
  .sp
67
76
  .nf
68
- detest \'test/**/{foo,bar}_test\&.rb\'
77
+ detest \*(Aqtest/**/{foo,bar}_test\&.rb\*(Aq
69
78
  .fi
70
79
  .SH "DESCRIPTION"
71
80
  .sp
72
- Detest is an assertion testing library for the Ruby programming language\&. It features a simple assertion vocabulary, instant debuggability of failures, and flexibility in composing tests\&.
81
+ Detest is an assertion testing library for [Ruby] that features a simple assertion vocabulary, instant debuggability of failures, and flexibility in composing tests\&.
73
82
  .SS "Features"
74
83
  .sp
75
84
  .RS 4
@@ -80,7 +89,7 @@ Detest is an assertion testing library for the Ruby programming language\&. It f
80
89
  .sp -1
81
90
  .IP \(bu 2.3
82
91
  .\}
83
- Only 8 mnemonic method names to remember:
92
+ Only 8 mnemonic method names for you to remember:
84
93
  .sp
85
94
  \fBT\fRrue,
86
95
  \fBF\fRalse,
@@ -133,38 +142,38 @@ Maintains a detailed report of assertion failures\&.
133
142
  .sp -1
134
143
  .IP \(bu 2.3
135
144
  .\}
136
- Implemented in 436 lines of pure Ruby\&.
145
+ Implemented in 434 lines of pure Ruby\&.
137
146
  .RE
138
147
  .SS "Resources"
139
148
  .PP
140
149
  Project website
141
150
  .RS 4
142
151
 
143
- http://snk\&.tuxfamily\&.org/lib/detest/
152
+ \m[blue]\fBhttp://snk\&.tuxfamily\&.org/lib/detest/\fR\m[]
144
153
  .RE
145
154
  .PP
146
155
  Announcements feed
147
156
  .RS 4
148
157
 
149
- http://snk\&.tuxfamily\&.org/lib/detest/ann\&.xml
158
+ \m[blue]\fBhttp://snk\&.tuxfamily\&.org/lib/detest/ann\&.xml\fR\m[]
150
159
  .RE
151
160
  .PP
152
161
  API documentation
153
162
  .RS 4
154
163
 
155
- http://snk\&.tuxfamily\&.org/lib/detest/api/
164
+ \m[blue]\fBhttp://snk\&.tuxfamily\&.org/lib/detest/api/\fR\m[]
156
165
  .RE
157
166
  .PP
158
167
  Source code (browse online, download, or checkout)
159
168
  .RS 4
160
169
 
161
- http://github\&.com/sunaku/detest
170
+ \m[blue]\fBhttp://github\&.com/sunaku/detest\fR\m[]
162
171
  .RE
163
172
  .PP
164
173
  Issue tracker (report bugs, request features, get help)
165
174
  .RS 4
166
175
 
167
- http://github\&.com/sunaku/detest/issues
176
+ \m[blue]\fBhttp://github\&.com/sunaku/detest/issues\fR\m[]
168
177
  .RE
169
178
  .SH "INSTALL"
170
179
  .SS "Prerequisites"
@@ -235,8 +244,8 @@ Begin by loading the Detest library into your program:
235
244
  .RS 4
236
245
  .\}
237
246
  .nf
238
- require \'rubygems\' # might not be necessary; see HACKING
239
- require \'detest\'
247
+ require \*(Aqrubygems\*(Aq # might not be necessary; see HACKING
248
+ require \*(Aqdetest\*(Aq
240
249
  .fi
241
250
  .if n \{\
242
251
  .RE
@@ -248,8 +257,8 @@ You can now call methods on the Detest module directly:
248
257
  .RS 4
249
258
  .\}
250
259
  .nf
251
- Detest\&.D \'hello\' do # D() is a class method
252
- puts \'world\'
260
+ Detest\&.D \*(Aqhello\*(Aq do # D() is a class method
261
+ puts \*(Aqworld\*(Aq
253
262
  end
254
263
  .fi
255
264
  .if n \{\
@@ -264,8 +273,8 @@ or mix\-in the module and call its methods implicitly:
264
273
  .nf
265
274
  include Detest # mix\-in the Detest module
266
275
 
267
- D \'hello\' do # D() is an instance method
268
- puts \'world\'
276
+ D \*(Aqhello\*(Aq do # D() is an instance method
277
+ puts \*(Aqworld\*(Aq
269
278
  end
270
279
  .fi
271
280
  .if n \{\
@@ -339,13 +348,13 @@ You can mix\-in the Detest module into your program and execute all tests define
339
348
  .RS 4
340
349
  .\}
341
350
  .nf
342
- require \'detest/auto\'
351
+ require \*(Aqdetest/auto\*(Aq
343
352
  .fi
344
353
  .if n \{\
345
354
  .RE
346
355
  .\}
347
356
  .sp
348
- See the API documentation for more information and examples\&.
357
+ See the \m[blue]\fBAPI documentation\fR\m[] for more information and examples\&.
349
358
  .SH "ASSERTIONS"
350
359
  .SS "Writing assertions"
351
360
  .sp
@@ -362,35 +371,35 @@ T{
362
371
  T()
363
372
  T}:T{
364
373
  .sp
365
- assert true (not nil and not false) \(em API documentation
374
+ assert true (not nil and not false) \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[1]\d\s+2
366
375
  T}
367
376
  T{
368
377
  .sp
369
378
  F()
370
379
  T}:T{
371
380
  .sp
372
- assert not true (nil or false) \(em API documentation
381
+ assert not true (nil or false) \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[2]\d\s+2
373
382
  T}
374
383
  T{
375
384
  .sp
376
385
  N()
377
386
  T}:T{
378
387
  .sp
379
- assert that the value is nil \(em API documentation
388
+ assert that the value is nil \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[3]\d\s+2
380
389
  T}
381
390
  T{
382
391
  .sp
383
392
  E()
384
393
  T}:T{
385
394
  .sp
386
- assert that an execption is raised \(em API documentation
395
+ assert that an execption is raised \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[4]\d\s+2
387
396
  T}
388
397
  T{
389
398
  .sp
390
399
  C()
391
400
  T}:T{
392
401
  .sp
393
- assert that a symbol is thrown \(em API documentation
402
+ assert that a symbol is thrown \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[5]\d\s+2
394
403
  T}
395
404
  .TE
396
405
  .sp 1
@@ -430,35 +439,35 @@ T{
430
439
  T!()
431
440
  T}:T{
432
441
  .sp
433
- same as F() \(em API documentation
442
+ same as F() \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[6]\d\s+2
434
443
  T}
435
444
  T{
436
445
  .sp
437
446
  F!()
438
447
  T}:T{
439
448
  .sp
440
- same as T() \(em API documentation
449
+ same as T() \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[7]\d\s+2
441
450
  T}
442
451
  T{
443
452
  .sp
444
453
  N!()
445
454
  T}:T{
446
455
  .sp
447
- assert that value is not nil \(em API documentation
456
+ assert that value is not nil \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[8]\d\s+2
448
457
  T}
449
458
  T{
450
459
  .sp
451
460
  E!()
452
461
  T}:T{
453
462
  .sp
454
- assert that an exception is \fInot\fR raised \(em API documentation
463
+ assert that an exception is \fInot\fR raised \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[9]\d\s+2
455
464
  T}
456
465
  T{
457
466
  .sp
458
467
  C!()
459
468
  T}:T{
460
469
  .sp
461
- assert that a symbol is \fInot\fR thrown \(em API documentation
470
+ assert that a symbol is \fInot\fR thrown \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[10]\d\s+2
462
471
  T}
463
472
  .TE
464
473
  .sp 1
@@ -477,35 +486,35 @@ T{
477
486
  T?()
478
487
  T}:T{
479
488
  .sp
480
- returns true if T() passes; false otherwise \(em API documentation
489
+ returns true if T() passes; false otherwise \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[11]\d\s+2
481
490
  T}
482
491
  T{
483
492
  .sp
484
493
  F?()
485
494
  T}:T{
486
495
  .sp
487
- returns true if F() passes; false otherwise \(em API documentation
496
+ returns true if F() passes; false otherwise \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[12]\d\s+2
488
497
  T}
489
498
  T{
490
499
  .sp
491
500
  N?()
492
501
  T}:T{
493
502
  .sp
494
- returns true if N() passes; false otherwise \(em API documentation
503
+ returns true if N() passes; false otherwise \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[13]\d\s+2
495
504
  T}
496
505
  T{
497
506
  .sp
498
507
  E?()
499
508
  T}:T{
500
509
  .sp
501
- returns true if E() passes; false otherwise \(em API documentation
510
+ returns true if E() passes; false otherwise \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[14]\d\s+2
502
511
  T}
503
512
  T{
504
513
  .sp
505
514
  C?()
506
515
  T}:T{
507
516
  .sp
508
- returns true if C() passes; false otherwise \(em API documentation
517
+ returns true if C() passes; false otherwise \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[15]\d\s+2
509
518
  T}
510
519
  .TE
511
520
  .sp 1
@@ -595,7 +604,7 @@ Assertion failure reports can be accessed at any time within the test execution
595
604
  .SH "TESTS"
596
605
  .SS "Defining tests"
597
606
  .sp
598
- The D() method creates a new \fBtest\fR, which is analagous to the \fBdescribe\fR keyword in [RSpec] and also to the concept of a "test case" in [xUnit]\&.
607
+ \m[blue]\fBThe D() method\fR\m[]\&\s-2\u[16]\d\s+2 creates a new \fBtest\fR, which is analagous to the \fBdescribe\fR keyword in [RSpec] and also to the concept of a "test case" in [xUnit]\&.
599
608
  .sp
600
609
  .if n \{\
601
610
  .RS 4
@@ -616,7 +625,7 @@ end
616
625
  A test may contain nested tests, as illustrated above\&.
617
626
  .SS "Insulating tests"
618
627
  .sp
619
- The D!() method defines a new test that is explicitly insulated from the tests that contain it and also from the top\-level Ruby environment\&.
628
+ \m[blue]\fBThe D!() method\fR\m[]\&\s-2\u[17]\d\s+2 defines a new test that is explicitly insulated from the tests that contain it and also from the top\-level Ruby environment\&.
620
629
  .sp
621
630
  Inside an insulated test, you are free to mix\-in (using the \fBextend\fR keyword, not the \fBinclude\fR keyword) any modules your test logic needs\&. You can also define your own constants, methods, classes, and modules here\&.
622
631
  .if n \{\
@@ -644,7 +653,7 @@ When the following test is run:
644
653
  .RS 4
645
654
  .\}
646
655
  .nf
647
- require \'detest/auto\'
656
+ require \*(Aqdetest/auto\*(Aq
648
657
 
649
658
  D "a root\-level test" do
650
659
  @outside = 1
@@ -685,14 +694,14 @@ Detest will output the following:
685
694
  \- an inner, insulated test:
686
695
  \-\-\-
687
696
  pass: 10
688
- time: 0\&.009158971
697
+ time: 0\&.003163252
689
698
  .fi
690
699
  .if n \{\
691
700
  .RE
692
701
  .\}
693
702
  .SS "Sharing tests"
694
703
  .sp
695
- The S() method is a mechanism for sharing code\&. It can be used in two ways:
704
+ \m[blue]\fBThe S() method\fR\m[]\&\s-2\u[18]\d\s+2 is a mechanism for sharing code\&. It can be used in two ways:
696
705
  .sp
697
706
  .RS 4
698
707
  .ie n \{\
@@ -716,9 +725,9 @@ When called with a block, it shares the given block (under a given identifier) f
716
725
  When called without a block, it injects a previously shared block (under a given identifier) into the environment where it is called\&.
717
726
  .RE
718
727
  .sp
719
- The S!() method is a combination of the two uses of the S() method: it lets you simultaneously share a block of code while injecting it into the environment where that method is called\&.
728
+ \m[blue]\fBThe S!() method\fR\m[]\&\s-2\u[19]\d\s+2 is a combination of the two uses of the S() method: it lets you simultaneously share a block of code while injecting it into the environment where that method is called\&.
720
729
  .sp
721
- The S?() method checks whether any code has been shared under a given identifier\&.
730
+ \m[blue]\fBThe S?() method\fR\m[]\&\s-2\u[20]\d\s+2 checks whether any code has been shared under a given identifier\&.
722
731
  .PP
723
732
  \fBExample\ \&2.\ \&Sharing code between tests\fR
724
733
  .sp
@@ -728,32 +737,32 @@ When the following test is run:
728
737
  .RS 4
729
738
  .\}
730
739
  .nf
731
- require \'detest/auto\'
740
+ require \*(Aqdetest/auto\*(Aq
732
741
 
733
742
  S :knowledge do
734
- I \'Knowledge is power!\'
743
+ I \*(AqKnowledge is power!\*(Aq
735
744
  end
736
745
 
737
- D \'Healer\' do
746
+ D \*(AqHealer\*(Aq do
738
747
  S :knowledge
739
748
  end
740
749
 
741
- D \'Warrior\' do
750
+ D \*(AqWarrior\*(Aq do
742
751
  S! :strength do
743
- I \'Strength is power!\'
752
+ I \*(AqStrength is power!\*(Aq
744
753
  end
745
754
  end
746
755
 
747
- D \'Wizard\' do
756
+ D \*(AqWizard\*(Aq do
748
757
  S :knowledge
749
758
  S :strength
750
759
  end
751
760
 
752
- D \'King\' do
761
+ D \*(AqKing\*(Aq do
753
762
  T { S? :knowledge }
754
763
  T { S? :strength }
755
764
  F { S? :power }
756
- I \'Power is power!\'
765
+ I \*(AqPower is power!\*(Aq
757
766
  end
758
767
  .fi
759
768
  .if n \{\
@@ -778,16 +787,16 @@ Detest will output the following:
778
787
  \- Power is power!
779
788
  \-\-\-
780
789
  pass: 3
781
- time: 0\&.007596486
790
+ time: 0\&.002480134
782
791
  .fi
783
792
  .if n \{\
784
793
  .RE
785
794
  .\}
786
795
  .SS "Logging information"
787
796
  .sp
788
- The I() method is a mechanism for inserting arbitrary Ruby objects into the test execution report\&. You can think of this method as being a way \fIto inform\fR someone\&.
797
+ \m[blue]\fBThe I() method\fR\m[]\&\s-2\u[21]\d\s+2 is a mechanism for inserting arbitrary Ruby objects into the test execution report\&. You can think of this method as being a way \fIto inform\fR someone\&.
789
798
  .sp
790
- The I!() method starts the interactive debugger at the location where it is called\&. You can think of this method as being a way \fIto investigate\fR the state of your program\&.
799
+ \m[blue]\fBThe I!() method\fR\m[]\&\s-2\u[22]\d\s+2 starts the interactive debugger at the location where it is called\&. You can think of this method as being a way \fIto investigate\fR the state of your program\&.
791
800
  .PP
792
801
  \fBExample\ \&3.\ \&Logging information in the execution report\fR
793
802
  .sp
@@ -797,18 +806,18 @@ When the following test is run:
797
806
  .RS 4
798
807
  .\}
799
808
  .nf
800
- require \'detest/auto\'
809
+ require \*(Aqdetest/auto\*(Aq
801
810
 
802
- D \'Wizard\' do
803
- I \'Preparing spell to defeat mortal foes\&.\&.\&.\'
811
+ D \*(AqWizard\*(Aq do
812
+ I \*(AqPreparing spell to defeat mortal foes\&.\&.\&.\*(Aq
804
813
  end
805
814
 
806
- D \'Magician\' do
807
- I \'Preparing rabbits to pull from hat\&.\&.\&.\', rand(15)
815
+ D \*(AqMagician\*(Aq do
816
+ I \*(AqPreparing rabbits to pull from hat\&.\&.\&.\*(Aq, rand(15)
808
817
  end
809
818
 
810
- D \'Calculator\' do
811
- I Math::PI, [1, 2, 3, [\'a\', \'b\', \'c\']], {:foo => \'bar!\'}
819
+ D \*(AqCalculator\*(Aq do
820
+ I Math::PI, [1, 2, 3, [\*(Aqa\*(Aq, \*(Aqb\*(Aq, \*(Aqc\*(Aq]], {:foo => \*(Aqbar!\*(Aq}
812
821
  end
813
822
  .fi
814
823
  .if n \{\
@@ -826,7 +835,7 @@ Detest will output the following:
826
835
  \- Preparing spell to defeat mortal foes\&.\&.\&.
827
836
  \- Magician:
828
837
  \- Preparing rabbits to pull from hat\&.\&.\&.
829
- \- 8
838
+ \- 9
830
839
  \- Calculator:
831
840
  \- 3\&.141592653589793
832
841
  \- \- 1
@@ -837,7 +846,7 @@ Detest will output the following:
837
846
  \- c
838
847
  \- foo: bar!
839
848
  \-\-\-
840
- time: 0\&.002930334
849
+ time: 0\&.000989371
841
850
  .fi
842
851
  .if n \{\
843
852
  .RE
@@ -856,28 +865,28 @@ T{
856
865
  D\&.<()
857
866
  T}:T{
858
867
  .sp
859
- calls the given block \fIbefore each\fR child test \(em API documentation
868
+ calls the given block \fIbefore each\fR child test \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[23]\d\s+2
860
869
  T}
861
870
  T{
862
871
  .sp
863
872
  D\&.>()
864
873
  T}:T{
865
874
  .sp
866
- calls the given block \fIafter each\fR child test \(em API documentation
875
+ calls the given block \fIafter each\fR child test \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[24]\d\s+2
867
876
  T}
868
877
  T{
869
878
  .sp
870
879
  D\&.<<()
871
880
  T}:T{
872
881
  .sp
873
- calls the given block \fIbefore all\fR child tests \(em API documentation
882
+ calls the given block \fIbefore all\fR child tests \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[25]\d\s+2
874
883
  T}
875
884
  T{
876
885
  .sp
877
886
  D\&.>>()
878
887
  T}:T{
879
888
  .sp
880
- calls the given block \fIafter all\fR child tests \(em API documentation
889
+ calls the given block \fIafter all\fR child tests \(em \m[blue]\fBAPI documentation\fR\m[]\&\s-2\u[26]\d\s+2
881
890
  T}
882
891
  .TE
883
892
  .sp 1
@@ -903,7 +912,7 @@ When the following test is run:
903
912
  .RS 4
904
913
  .\}
905
914
  .nf
906
- require \'detest/auto\'
915
+ require \*(Aqdetest/auto\*(Aq
907
916
 
908
917
  D "outer test" do
909
918
  D \&.< { I "(outer hook) before each" }
@@ -962,7 +971,7 @@ Detest will output the following:
962
971
  \- (outer hook) after each, again
963
972
  \- (outer hook) after all
964
973
  \-\-\-
965
- time: 0\&.009311863
974
+ time: 0\&.002571905
966
975
  .fi
967
976
  .if n \{\
968
977
  .RE
@@ -1023,35 +1032,35 @@ T{
1023
1032
  after(\fIwhat\fR, &\fIblock\fR)
1024
1033
  T}:T{
1025
1034
  .sp
1026
- lib/detest/spec\&.rb:21
1035
+ \m[blue]\fBlib/detest/spec\&.rb:21\fR\m[]\&\s-2\u[27]\d\s+2
1027
1036
  T}
1028
1037
  T{
1029
1038
  .sp
1030
1039
  before(\fIwhat\fR, &\fIblock\fR)
1031
1040
  T}:T{
1032
1041
  .sp
1033
- lib/detest/spec\&.rb:10
1042
+ \m[blue]\fBlib/detest/spec\&.rb:10\fR\m[]\&\s-2\u[28]\d\s+2
1034
1043
  T}
1035
1044
  T{
1036
1045
  .sp
1037
1046
  context(*\fIargs\fR, &\fIblock\fR)
1038
1047
  T}:T{
1039
1048
  .sp
1040
- lib/detest\&.rb:1168
1049
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1041
1050
  T}
1042
1051
  T{
1043
1052
  .sp
1044
1053
  describe(*\fIargs\fR, &\fIblock\fR)
1045
1054
  T}:T{
1046
1055
  .sp
1047
- lib/detest\&.rb:1168
1056
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1048
1057
  T}
1049
1058
  T{
1050
1059
  .sp
1051
1060
  it(*\fIargs\fR, &\fIblock\fR)
1052
1061
  T}:T{
1053
1062
  .sp
1054
- lib/detest\&.rb:1168
1063
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1055
1064
  T}
1056
1065
  .TE
1057
1066
  .sp 1
@@ -1102,259 +1111,259 @@ T{
1102
1111
  assert(*\fIargs\fR, &\fIblock\fR)
1103
1112
  T}:T{
1104
1113
  .sp
1105
- lib/detest\&.rb:1168
1114
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1106
1115
  T}
1107
1116
  T{
1108
1117
  .sp
1109
1118
  assert_empty(\fIcollection\fR, \fImessage\fR=nil)
1110
1119
  T}:T{
1111
1120
  .sp
1112
- lib/detest/unit\&.rb:26
1121
+ \m[blue]\fBlib/detest/unit\&.rb:26\fR\m[]\&\s-2\u[30]\d\s+2
1113
1122
  T}
1114
1123
  T{
1115
1124
  .sp
1116
1125
  assert_equal(\fIexpected\fR, \fIactual\fR, \fImessage\fR=nil)
1117
1126
  T}:T{
1118
1127
  .sp
1119
- lib/detest/unit\&.rb:31
1128
+ \m[blue]\fBlib/detest/unit\&.rb:31\fR\m[]\&\s-2\u[31]\d\s+2
1120
1129
  T}
1121
1130
  T{
1122
1131
  .sp
1123
1132
  assert_in_delta(\fIexpected\fR, \fIactual\fR, \fIdelta\fR=nil, \fImessage\fR=nil)
1124
1133
  T}:T{
1125
1134
  .sp
1126
- lib/detest/unit\&.rb:36
1135
+ \m[blue]\fBlib/detest/unit\&.rb:36\fR\m[]\&\s-2\u[32]\d\s+2
1127
1136
  T}
1128
1137
  T{
1129
1138
  .sp
1130
1139
  assert_in_epsilon(\fIexpected\fR, \fIactual\fR, \fIdelta\fR=nil, \fImessage\fR=nil)
1131
1140
  T}:T{
1132
1141
  .sp
1133
- lib/detest/unit\&.rb:36
1142
+ \m[blue]\fBlib/detest/unit\&.rb:36\fR\m[]\&\s-2\u[32]\d\s+2
1134
1143
  T}
1135
1144
  T{
1136
1145
  .sp
1137
1146
  assert_include(\fIitem\fR, \fIcollection\fR, \fImessage\fR=nil)
1138
1147
  T}:T{
1139
1148
  .sp
1140
- lib/detest/unit\&.rb:47
1149
+ \m[blue]\fBlib/detest/unit\&.rb:47\fR\m[]\&\s-2\u[33]\d\s+2
1141
1150
  T}
1142
1151
  T{
1143
1152
  .sp
1144
1153
  assert_instance_of(\fIklass\fR, \fIobject\fR, \fImessage\fR=nil)
1145
1154
  T}:T{
1146
1155
  .sp
1147
- lib/detest/unit\&.rb:52
1156
+ \m[blue]\fBlib/detest/unit\&.rb:52\fR\m[]\&\s-2\u[34]\d\s+2
1148
1157
  T}
1149
1158
  T{
1150
1159
  .sp
1151
1160
  assert_kind_of(\fIklass\fR, \fIobject\fR, \fImessage\fR=nil)
1152
1161
  T}:T{
1153
1162
  .sp
1154
- lib/detest/unit\&.rb:57
1163
+ \m[blue]\fBlib/detest/unit\&.rb:57\fR\m[]\&\s-2\u[35]\d\s+2
1155
1164
  T}
1156
1165
  T{
1157
1166
  .sp
1158
1167
  assert_match(\fIpattern\fR, \fIstring\fR, \fImessage\fR=nil)
1159
1168
  T}:T{
1160
1169
  .sp
1161
- lib/detest/unit\&.rb:67
1170
+ \m[blue]\fBlib/detest/unit\&.rb:67\fR\m[]\&\s-2\u[36]\d\s+2
1162
1171
  T}
1163
1172
  T{
1164
1173
  .sp
1165
1174
  assert_nil(\fIobject\fR, \fImessage\fR=nil)
1166
1175
  T}:T{
1167
1176
  .sp
1168
- lib/detest/unit\&.rb:62
1177
+ \m[blue]\fBlib/detest/unit\&.rb:62\fR\m[]\&\s-2\u[37]\d\s+2
1169
1178
  T}
1170
1179
  T{
1171
1180
  .sp
1172
1181
  assert_not(*\fIargs\fR, &\fIblock\fR)
1173
1182
  T}:T{
1174
1183
  .sp
1175
- lib/detest\&.rb:1168
1184
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1176
1185
  T}
1177
1186
  T{
1178
1187
  .sp
1179
1188
  assert_not_empty(\fIcollection\fR, \fImessage\fR=nil)
1180
1189
  T}:T{
1181
1190
  .sp
1182
- lib/detest/unit\&.rb:26
1191
+ \m[blue]\fBlib/detest/unit\&.rb:26\fR\m[]\&\s-2\u[30]\d\s+2
1183
1192
  T}
1184
1193
  T{
1185
1194
  .sp
1186
1195
  assert_not_equal(\fIexpected\fR, \fIactual\fR, \fImessage\fR=nil)
1187
1196
  T}:T{
1188
1197
  .sp
1189
- lib/detest/unit\&.rb:31
1198
+ \m[blue]\fBlib/detest/unit\&.rb:31\fR\m[]\&\s-2\u[31]\d\s+2
1190
1199
  T}
1191
1200
  T{
1192
1201
  .sp
1193
1202
  assert_not_in_delta(\fIexpected\fR, \fIactual\fR, \fIdelta\fR=nil, \fImessage\fR=nil)
1194
1203
  T}:T{
1195
1204
  .sp
1196
- lib/detest/unit\&.rb:36
1205
+ \m[blue]\fBlib/detest/unit\&.rb:36\fR\m[]\&\s-2\u[32]\d\s+2
1197
1206
  T}
1198
1207
  T{
1199
1208
  .sp
1200
1209
  assert_not_in_epsilon(\fIexpected\fR, \fIactual\fR, \fIdelta\fR=nil, \fImessage\fR=nil)
1201
1210
  T}:T{
1202
1211
  .sp
1203
- lib/detest/unit\&.rb:36
1212
+ \m[blue]\fBlib/detest/unit\&.rb:36\fR\m[]\&\s-2\u[32]\d\s+2
1204
1213
  T}
1205
1214
  T{
1206
1215
  .sp
1207
1216
  assert_not_include(\fIitem\fR, \fIcollection\fR, \fImessage\fR=nil)
1208
1217
  T}:T{
1209
1218
  .sp
1210
- lib/detest/unit\&.rb:47
1219
+ \m[blue]\fBlib/detest/unit\&.rb:47\fR\m[]\&\s-2\u[33]\d\s+2
1211
1220
  T}
1212
1221
  T{
1213
1222
  .sp
1214
1223
  assert_not_instance_of(\fIklass\fR, \fIobject\fR, \fImessage\fR=nil)
1215
1224
  T}:T{
1216
1225
  .sp
1217
- lib/detest/unit\&.rb:52
1226
+ \m[blue]\fBlib/detest/unit\&.rb:52\fR\m[]\&\s-2\u[34]\d\s+2
1218
1227
  T}
1219
1228
  T{
1220
1229
  .sp
1221
1230
  assert_not_kind_of(\fIklass\fR, \fIobject\fR, \fImessage\fR=nil)
1222
1231
  T}:T{
1223
1232
  .sp
1224
- lib/detest/unit\&.rb:57
1233
+ \m[blue]\fBlib/detest/unit\&.rb:57\fR\m[]\&\s-2\u[35]\d\s+2
1225
1234
  T}
1226
1235
  T{
1227
1236
  .sp
1228
1237
  assert_not_match(\fIpattern\fR, \fIstring\fR, \fImessage\fR=nil)
1229
1238
  T}:T{
1230
1239
  .sp
1231
- lib/detest/unit\&.rb:67
1240
+ \m[blue]\fBlib/detest/unit\&.rb:67\fR\m[]\&\s-2\u[36]\d\s+2
1232
1241
  T}
1233
1242
  T{
1234
1243
  .sp
1235
1244
  assert_not_nil(\fIobject\fR, \fImessage\fR=nil)
1236
1245
  T}:T{
1237
1246
  .sp
1238
- lib/detest/unit\&.rb:62
1247
+ \m[blue]\fBlib/detest/unit\&.rb:62\fR\m[]\&\s-2\u[37]\d\s+2
1239
1248
  T}
1240
1249
  T{
1241
1250
  .sp
1242
1251
  assert_not_operator(\fIobject\fR, \fIoperator\fR, \fIoperand\fR, \fImessage\fR=nil)
1243
1252
  T}:T{
1244
1253
  .sp
1245
- lib/detest/unit\&.rb:77
1254
+ \m[blue]\fBlib/detest/unit\&.rb:77\fR\m[]\&\s-2\u[38]\d\s+2
1246
1255
  T}
1247
1256
  T{
1248
1257
  .sp
1249
1258
  assert_not_raise(*\fIargs\fR, &\fIblock\fR)
1250
1259
  T}:T{
1251
1260
  .sp
1252
- lib/detest/unit\&.rb:82
1261
+ \m[blue]\fBlib/detest/unit\&.rb:82\fR\m[]\&\s-2\u[39]\d\s+2
1253
1262
  T}
1254
1263
  T{
1255
1264
  .sp
1256
1265
  assert_not_respond_to(\fIobject\fR, \fIquery\fR, \fImessage\fR=nil)
1257
1266
  T}:T{
1258
1267
  .sp
1259
- lib/detest/unit\&.rb:86
1268
+ \m[blue]\fBlib/detest/unit\&.rb:86\fR\m[]\&\s-2\u[40]\d\s+2
1260
1269
  T}
1261
1270
  T{
1262
1271
  .sp
1263
1272
  assert_not_same(\fIexpected\fR, \fIactual\fR, \fImessage\fR=nil)
1264
1273
  T}:T{
1265
1274
  .sp
1266
- lib/detest/unit\&.rb:72
1275
+ \m[blue]\fBlib/detest/unit\&.rb:72\fR\m[]\&\s-2\u[41]\d\s+2
1267
1276
  T}
1268
1277
  T{
1269
1278
  .sp
1270
- assert_not_send(\fIobject\fR, \fIquery\fR, *\fIargs\fR)
1279
+ assert_not_send(\fIsend_array\fR, \fImessage\fR=nil)
1271
1280
  T}:T{
1272
1281
  .sp
1273
- lib/detest/unit\&.rb:95
1282
+ \m[blue]\fBlib/detest/unit\&.rb:95\fR\m[]\&\s-2\u[42]\d\s+2
1274
1283
  T}
1275
1284
  T{
1276
1285
  .sp
1277
1286
  assert_not_throw(\fIsymbol\fR, \fImessage\fR=nil, &\fIblock\fR)
1278
1287
  T}:T{
1279
1288
  .sp
1280
- lib/detest/unit\&.rb:91
1289
+ \m[blue]\fBlib/detest/unit\&.rb:91\fR\m[]\&\s-2\u[43]\d\s+2
1281
1290
  T}
1282
1291
  T{
1283
1292
  .sp
1284
1293
  assert_operator(\fIobject\fR, \fIoperator\fR, \fIoperand\fR, \fImessage\fR=nil)
1285
1294
  T}:T{
1286
1295
  .sp
1287
- lib/detest/unit\&.rb:77
1296
+ \m[blue]\fBlib/detest/unit\&.rb:77\fR\m[]\&\s-2\u[38]\d\s+2
1288
1297
  T}
1289
1298
  T{
1290
1299
  .sp
1291
1300
  assert_raise(*\fIargs\fR, &\fIblock\fR)
1292
1301
  T}:T{
1293
1302
  .sp
1294
- lib/detest/unit\&.rb:82
1303
+ \m[blue]\fBlib/detest/unit\&.rb:82\fR\m[]\&\s-2\u[39]\d\s+2
1295
1304
  T}
1296
1305
  T{
1297
1306
  .sp
1298
1307
  assert_respond_to(\fIobject\fR, \fIquery\fR, \fImessage\fR=nil)
1299
1308
  T}:T{
1300
1309
  .sp
1301
- lib/detest/unit\&.rb:86
1310
+ \m[blue]\fBlib/detest/unit\&.rb:86\fR\m[]\&\s-2\u[40]\d\s+2
1302
1311
  T}
1303
1312
  T{
1304
1313
  .sp
1305
1314
  assert_same(\fIexpected\fR, \fIactual\fR, \fImessage\fR=nil)
1306
1315
  T}:T{
1307
1316
  .sp
1308
- lib/detest/unit\&.rb:72
1317
+ \m[blue]\fBlib/detest/unit\&.rb:72\fR\m[]\&\s-2\u[41]\d\s+2
1309
1318
  T}
1310
1319
  T{
1311
1320
  .sp
1312
- assert_send(\fIobject\fR, \fIquery\fR, *\fIargs\fR)
1321
+ assert_send(\fIsend_array\fR, \fImessage\fR=nil)
1313
1322
  T}:T{
1314
1323
  .sp
1315
- lib/detest/unit\&.rb:95
1324
+ \m[blue]\fBlib/detest/unit\&.rb:95\fR\m[]\&\s-2\u[42]\d\s+2
1316
1325
  T}
1317
1326
  T{
1318
1327
  .sp
1319
1328
  assert_throw(\fIsymbol\fR, \fImessage\fR=nil, &\fIblock\fR)
1320
1329
  T}:T{
1321
1330
  .sp
1322
- lib/detest/unit\&.rb:91
1331
+ \m[blue]\fBlib/detest/unit\&.rb:91\fR\m[]\&\s-2\u[43]\d\s+2
1323
1332
  T}
1324
1333
  T{
1325
1334
  .sp
1326
1335
  setup(*\fIargs\fR, &\fIblock\fR)
1327
1336
  T}:T{
1328
1337
  .sp
1329
- lib/detest\&.rb:1168
1338
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1330
1339
  T}
1331
1340
  T{
1332
1341
  .sp
1333
1342
  setup!(*\fIargs\fR, &\fIblock\fR)
1334
1343
  T}:T{
1335
1344
  .sp
1336
- lib/detest\&.rb:1168
1345
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1337
1346
  T}
1338
1347
  T{
1339
1348
  .sp
1340
1349
  teardown(*\fIargs\fR, &\fIblock\fR)
1341
1350
  T}:T{
1342
1351
  .sp
1343
- lib/detest\&.rb:1168
1352
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1344
1353
  T}
1345
1354
  T{
1346
1355
  .sp
1347
1356
  teardown!(*\fIargs\fR, &\fIblock\fR)
1348
1357
  T}:T{
1349
1358
  .sp
1350
- lib/detest\&.rb:1168
1359
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1351
1360
  T}
1352
1361
  T{
1353
1362
  .sp
1354
1363
  test(*\fIargs\fR, &\fIblock\fR)
1355
1364
  T}:T{
1356
1365
  .sp
1357
- lib/detest\&.rb:1168
1366
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1358
1367
  T}
1359
1368
  .TE
1360
1369
  .sp 1
@@ -1384,112 +1393,112 @@ T{
1384
1393
  refute(*\fIargs\fR, &\fIblock\fR)
1385
1394
  T}:T{
1386
1395
  .sp
1387
- lib/detest\&.rb:1168
1396
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1388
1397
  T}
1389
1398
  T{
1390
1399
  .sp
1391
1400
  refute_empty(\fIcollection\fR, \fImessage\fR=nil)
1392
1401
  T}:T{
1393
1402
  .sp
1394
- lib/detest/unit\&.rb:26
1403
+ \m[blue]\fBlib/detest/unit\&.rb:26\fR\m[]\&\s-2\u[30]\d\s+2
1395
1404
  T}
1396
1405
  T{
1397
1406
  .sp
1398
1407
  refute_equal(\fIexpected\fR, \fIactual\fR, \fImessage\fR=nil)
1399
1408
  T}:T{
1400
1409
  .sp
1401
- lib/detest/unit\&.rb:31
1410
+ \m[blue]\fBlib/detest/unit\&.rb:31\fR\m[]\&\s-2\u[31]\d\s+2
1402
1411
  T}
1403
1412
  T{
1404
1413
  .sp
1405
1414
  refute_in_delta(\fIexpected\fR, \fIactual\fR, \fIdelta\fR=nil, \fImessage\fR=nil)
1406
1415
  T}:T{
1407
1416
  .sp
1408
- lib/detest/unit\&.rb:36
1417
+ \m[blue]\fBlib/detest/unit\&.rb:36\fR\m[]\&\s-2\u[32]\d\s+2
1409
1418
  T}
1410
1419
  T{
1411
1420
  .sp
1412
1421
  refute_in_epsilon(\fIexpected\fR, \fIactual\fR, \fIdelta\fR=nil, \fImessage\fR=nil)
1413
1422
  T}:T{
1414
1423
  .sp
1415
- lib/detest/unit\&.rb:36
1424
+ \m[blue]\fBlib/detest/unit\&.rb:36\fR\m[]\&\s-2\u[32]\d\s+2
1416
1425
  T}
1417
1426
  T{
1418
1427
  .sp
1419
1428
  refute_include(\fIitem\fR, \fIcollection\fR, \fImessage\fR=nil)
1420
1429
  T}:T{
1421
1430
  .sp
1422
- lib/detest/unit\&.rb:47
1431
+ \m[blue]\fBlib/detest/unit\&.rb:47\fR\m[]\&\s-2\u[33]\d\s+2
1423
1432
  T}
1424
1433
  T{
1425
1434
  .sp
1426
1435
  refute_instance_of(\fIklass\fR, \fIobject\fR, \fImessage\fR=nil)
1427
1436
  T}:T{
1428
1437
  .sp
1429
- lib/detest/unit\&.rb:52
1438
+ \m[blue]\fBlib/detest/unit\&.rb:52\fR\m[]\&\s-2\u[34]\d\s+2
1430
1439
  T}
1431
1440
  T{
1432
1441
  .sp
1433
1442
  refute_kind_of(\fIklass\fR, \fIobject\fR, \fImessage\fR=nil)
1434
1443
  T}:T{
1435
1444
  .sp
1436
- lib/detest/unit\&.rb:57
1445
+ \m[blue]\fBlib/detest/unit\&.rb:57\fR\m[]\&\s-2\u[35]\d\s+2
1437
1446
  T}
1438
1447
  T{
1439
1448
  .sp
1440
1449
  refute_match(\fIpattern\fR, \fIstring\fR, \fImessage\fR=nil)
1441
1450
  T}:T{
1442
1451
  .sp
1443
- lib/detest/unit\&.rb:67
1452
+ \m[blue]\fBlib/detest/unit\&.rb:67\fR\m[]\&\s-2\u[36]\d\s+2
1444
1453
  T}
1445
1454
  T{
1446
1455
  .sp
1447
1456
  refute_nil(\fIobject\fR, \fImessage\fR=nil)
1448
1457
  T}:T{
1449
1458
  .sp
1450
- lib/detest/unit\&.rb:62
1459
+ \m[blue]\fBlib/detest/unit\&.rb:62\fR\m[]\&\s-2\u[37]\d\s+2
1451
1460
  T}
1452
1461
  T{
1453
1462
  .sp
1454
1463
  refute_operator(\fIobject\fR, \fIoperator\fR, \fIoperand\fR, \fImessage\fR=nil)
1455
1464
  T}:T{
1456
1465
  .sp
1457
- lib/detest/unit\&.rb:77
1466
+ \m[blue]\fBlib/detest/unit\&.rb:77\fR\m[]\&\s-2\u[38]\d\s+2
1458
1467
  T}
1459
1468
  T{
1460
1469
  .sp
1461
1470
  refute_raise(*\fIargs\fR, &\fIblock\fR)
1462
1471
  T}:T{
1463
1472
  .sp
1464
- lib/detest/unit\&.rb:82
1473
+ \m[blue]\fBlib/detest/unit\&.rb:82\fR\m[]\&\s-2\u[39]\d\s+2
1465
1474
  T}
1466
1475
  T{
1467
1476
  .sp
1468
1477
  refute_respond_to(\fIobject\fR, \fIquery\fR, \fImessage\fR=nil)
1469
1478
  T}:T{
1470
1479
  .sp
1471
- lib/detest/unit\&.rb:86
1480
+ \m[blue]\fBlib/detest/unit\&.rb:86\fR\m[]\&\s-2\u[40]\d\s+2
1472
1481
  T}
1473
1482
  T{
1474
1483
  .sp
1475
1484
  refute_same(\fIexpected\fR, \fIactual\fR, \fImessage\fR=nil)
1476
1485
  T}:T{
1477
1486
  .sp
1478
- lib/detest/unit\&.rb:72
1487
+ \m[blue]\fBlib/detest/unit\&.rb:72\fR\m[]\&\s-2\u[41]\d\s+2
1479
1488
  T}
1480
1489
  T{
1481
1490
  .sp
1482
- refute_send(\fIobject\fR, \fIquery\fR, *\fIargs\fR)
1491
+ refute_send(\fIsend_array\fR, \fImessage\fR=nil)
1483
1492
  T}:T{
1484
1493
  .sp
1485
- lib/detest/unit\&.rb:95
1494
+ \m[blue]\fBlib/detest/unit\&.rb:95\fR\m[]\&\s-2\u[42]\d\s+2
1486
1495
  T}
1487
1496
  T{
1488
1497
  .sp
1489
1498
  refute_throw(\fIsymbol\fR, \fImessage\fR=nil, &\fIblock\fR)
1490
1499
  T}:T{
1491
1500
  .sp
1492
- lib/detest/unit\&.rb:91
1501
+ \m[blue]\fBlib/detest/unit\&.rb:91\fR\m[]\&\s-2\u[43]\d\s+2
1493
1502
  T}
1494
1503
  .TE
1495
1504
  .sp 1
@@ -1525,167 +1534,167 @@ T{
1525
1534
  Catch(*\fIargs\fR, &\fIblock\fR)
1526
1535
  T}:T{
1527
1536
  .sp
1528
- lib/detest\&.rb:1168
1537
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1529
1538
  T}
1530
1539
  T{
1531
1540
  .sp
1532
1541
  Catch!(*\fIargs\fR, &\fIblock\fR)
1533
1542
  T}:T{
1534
1543
  .sp
1535
- lib/detest\&.rb:1168
1544
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1536
1545
  T}
1537
1546
  T{
1538
1547
  .sp
1539
1548
  Catch?(*\fIargs\fR, &\fIblock\fR)
1540
1549
  T}:T{
1541
1550
  .sp
1542
- lib/detest\&.rb:1168
1551
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1543
1552
  T}
1544
1553
  T{
1545
1554
  .sp
1546
1555
  Describe(*\fIargs\fR, &\fIblock\fR)
1547
1556
  T}:T{
1548
1557
  .sp
1549
- lib/detest\&.rb:1168
1558
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1550
1559
  T}
1551
1560
  T{
1552
1561
  .sp
1553
1562
  Describe!(*\fIargs\fR, &\fIblock\fR)
1554
1563
  T}:T{
1555
1564
  .sp
1556
- lib/detest\&.rb:1168
1565
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1557
1566
  T}
1558
1567
  T{
1559
1568
  .sp
1560
1569
  Error(*\fIargs\fR, &\fIblock\fR)
1561
1570
  T}:T{
1562
1571
  .sp
1563
- lib/detest\&.rb:1168
1572
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1564
1573
  T}
1565
1574
  T{
1566
1575
  .sp
1567
1576
  Error!(*\fIargs\fR, &\fIblock\fR)
1568
1577
  T}:T{
1569
1578
  .sp
1570
- lib/detest\&.rb:1168
1579
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1571
1580
  T}
1572
1581
  T{
1573
1582
  .sp
1574
1583
  Error?(*\fIargs\fR, &\fIblock\fR)
1575
1584
  T}:T{
1576
1585
  .sp
1577
- lib/detest\&.rb:1168
1586
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1578
1587
  T}
1579
1588
  T{
1580
1589
  .sp
1581
1590
  False(*\fIargs\fR, &\fIblock\fR)
1582
1591
  T}:T{
1583
1592
  .sp
1584
- lib/detest\&.rb:1168
1593
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1585
1594
  T}
1586
1595
  T{
1587
1596
  .sp
1588
1597
  False!(*\fIargs\fR, &\fIblock\fR)
1589
1598
  T}:T{
1590
1599
  .sp
1591
- lib/detest\&.rb:1168
1600
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1592
1601
  T}
1593
1602
  T{
1594
1603
  .sp
1595
1604
  False?(*\fIargs\fR, &\fIblock\fR)
1596
1605
  T}:T{
1597
1606
  .sp
1598
- lib/detest\&.rb:1168
1607
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1599
1608
  T}
1600
1609
  T{
1601
1610
  .sp
1602
1611
  Inform(*\fIargs\fR, &\fIblock\fR)
1603
1612
  T}:T{
1604
1613
  .sp
1605
- lib/detest\&.rb:1168
1614
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1606
1615
  T}
1607
1616
  T{
1608
1617
  .sp
1609
1618
  Inform!(*\fIargs\fR, &\fIblock\fR)
1610
1619
  T}:T{
1611
1620
  .sp
1612
- lib/detest\&.rb:1168
1621
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1613
1622
  T}
1614
1623
  T{
1615
1624
  .sp
1616
1625
  Nil(*\fIargs\fR, &\fIblock\fR)
1617
1626
  T}:T{
1618
1627
  .sp
1619
- lib/detest\&.rb:1168
1628
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1620
1629
  T}
1621
1630
  T{
1622
1631
  .sp
1623
1632
  Nil!(*\fIargs\fR, &\fIblock\fR)
1624
1633
  T}:T{
1625
1634
  .sp
1626
- lib/detest\&.rb:1168
1635
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1627
1636
  T}
1628
1637
  T{
1629
1638
  .sp
1630
1639
  Nil?(*\fIargs\fR, &\fIblock\fR)
1631
1640
  T}:T{
1632
1641
  .sp
1633
- lib/detest\&.rb:1168
1642
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1634
1643
  T}
1635
1644
  T{
1636
1645
  .sp
1637
1646
  Share(*\fIargs\fR, &\fIblock\fR)
1638
1647
  T}:T{
1639
1648
  .sp
1640
- lib/detest\&.rb:1168
1649
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1641
1650
  T}
1642
1651
  T{
1643
1652
  .sp
1644
1653
  Share!(*\fIargs\fR, &\fIblock\fR)
1645
1654
  T}:T{
1646
1655
  .sp
1647
- lib/detest\&.rb:1168
1656
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1648
1657
  T}
1649
1658
  T{
1650
1659
  .sp
1651
1660
  Share?(*\fIargs\fR, &\fIblock\fR)
1652
1661
  T}:T{
1653
1662
  .sp
1654
- lib/detest\&.rb:1168
1663
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1655
1664
  T}
1656
1665
  T{
1657
1666
  .sp
1658
1667
  True(*\fIargs\fR, &\fIblock\fR)
1659
1668
  T}:T{
1660
1669
  .sp
1661
- lib/detest\&.rb:1168
1670
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1662
1671
  T}
1663
1672
  T{
1664
1673
  .sp
1665
1674
  True!(*\fIargs\fR, &\fIblock\fR)
1666
1675
  T}:T{
1667
1676
  .sp
1668
- lib/detest\&.rb:1168
1677
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1669
1678
  T}
1670
1679
  T{
1671
1680
  .sp
1672
1681
  True?(*\fIargs\fR, &\fIblock\fR)
1673
1682
  T}:T{
1674
1683
  .sp
1675
- lib/detest\&.rb:1168
1684
+ \m[blue]\fBlib/detest\&.rb:1166\fR\m[]\&\s-2\u[29]\d\s+2
1676
1685
  T}
1677
1686
  .TE
1678
1687
  .sp 1
1679
1688
  .SH "HACKING"
1680
1689
  .SS "Prerequisites"
1681
1690
  .sp
1682
- Install Ruby libraries necessary for development:
1691
+ Install Ruby libraries necessary for development using [Bundler]:
1683
1692
  .sp
1684
1693
  .if n \{\
1685
1694
  .RS 4
1686
1695
  .\}
1687
1696
  .nf
1688
- gem install detest \-\-development
1697
+ bundle install
1689
1698
  .fi
1690
1699
  .if n \{\
1691
1700
  .RE
@@ -1738,7 +1747,7 @@ irb \-r detest
1738
1747
  .RE
1739
1748
  .\}
1740
1749
  .sp
1741
- Or by running Ruby through the ruby\-wrapper tool\&.
1750
+ Or by running Ruby through the \m[blue]\fBruby\-wrapper\fR\m[]\&\s-2\u[44]\d\s+2 tool\&.
1742
1751
  .SS "RubyGems setup"
1743
1752
  .sp
1744
1753
  If you use Ruby 1\&.8 or older, then ensure that RubyGems is activated before you use any libraries in the lib/ directory or run any executables in the bin/ directory\&.
@@ -1771,7 +1780,7 @@ set \-x RUBYOPT \-rubygems # fish
1771
1780
  .\}
1772
1781
  .SS "Running tests"
1773
1782
  .sp
1774
- Simply execute the included test runner, which sets up Ruby\(cqs $LOAD_PATH for testing, loads the test/helper\&.rb file, and then evaluates all test/**/*_test\&.rb files:
1783
+ Simply execute the included test runner, which sets up Ruby\(cqs $LOAD_PATH for testing, loads the included test/test_helper\&.rb file, and then evaluates all test/**/*_test\&.rb files:
1775
1784
  .sp
1776
1785
  .if n \{\
1777
1786
  .RS 4
@@ -1783,11 +1792,55 @@ ruby test/runner
1783
1792
  .RE
1784
1793
  .\}
1785
1794
  .sp
1786
- Its exit status will indicate whether all tests have passed\&. It may also print additional pass/fail information depending on the testing library used in the test/helper\&.rb file\&.
1795
+ Its exit status will indicate whether all tests have passed\&. It may also print additional pass/fail information depending on the testing library used in the test/test_helper\&.rb file\&.
1787
1796
  .SS "Contributing"
1788
1797
  .sp
1789
- Fork this project on GitHub and send a pull request\&.
1798
+ \m[blue]\fBFork this project on GitHub\fR\m[] and send a pull request\&.
1790
1799
  .SH "HISTORY"
1800
+ .SS "Version 3\&.1\&.3 (2011\-04\-22)"
1801
+ .sp
1802
+ This release fixes bugs in the Test::Unit emulation layer\&.
1803
+ .PP
1804
+ \fBBug fixes\fR
1805
+ .sp
1806
+ .RS 4
1807
+ .ie n \{\
1808
+ \h'-04'\(bu\h'+03'\c
1809
+ .\}
1810
+ .el \{\
1811
+ .sp -1
1812
+ .IP \(bu 2.3
1813
+ .\}
1814
+
1815
+ assert_send()
1816
+ did not follow Test::Unit syntax\&.
1817
+ .RE
1818
+ .sp
1819
+ .RS 4
1820
+ .ie n \{\
1821
+ \h'-04'\(bu\h'+03'\c
1822
+ .\}
1823
+ .el \{\
1824
+ .sp -1
1825
+ .IP \(bu 2.3
1826
+ .\}
1827
+
1828
+ assert_operator()
1829
+ did not set failure message\&.
1830
+ .RE
1831
+ .PP
1832
+ \fBHousekeeping\fR
1833
+ .sp
1834
+ .RS 4
1835
+ .ie n \{\
1836
+ \h'-04'\(bu\h'+03'\c
1837
+ .\}
1838
+ .el \{\
1839
+ .sp -1
1840
+ .IP \(bu 2.3
1841
+ .\}
1842
+ Upgrade to Inochi 6\&.0\&.2\&.
1843
+ .RE
1791
1844
  .SS "Version 3\&.1\&.2 (2010\-08\-10)"
1792
1845
  .sp
1793
1846
  This release adds links to API documentation beside methods mentioned in the help manual and restores metadata that was missing in the gem release package\&.
@@ -2493,7 +2546,7 @@ executable as command\-line interface to this library\&.
2493
2546
  .IP \(bu 2.3
2494
2547
  .\}
2495
2548
  Do not
2496
- require \'rubygems\'
2549
+ require \*(Aqrubygems\*(Aq
2497
2550
  before loading the "ruby\-debug" library\&.
2498
2551
  .RE
2499
2552
  .sp
@@ -2873,7 +2926,7 @@ Iñaki Baz Castillo used Dfect and suggested new features\&.
2873
2926
  Add
2874
2927
  Dfect::S()
2875
2928
  method for adding status messages to the execution report\&.
2876
- This feature was requested
2929
+ \m[blue]\fBThis feature was requested\fR\m[]\&\s-2\u[45]\d\s+2
2877
2930
  by Iñaki Baz Castillo\&.
2878
2931
  .RE
2879
2932
  .PP
@@ -3030,7 +3083,7 @@ tags\&.
3030
3083
  .IP \(bu 2.3
3031
3084
  .\}
3032
3085
  Open source is for fun, so
3033
- be nice
3086
+ \m[blue]\fBbe nice\fR\m[]\&\s-2\u[46]\d\s+2
3034
3087
  and speak of "related works" instead of "competitors"\&.
3035
3088
  .RE
3036
3089
  .SS "Version 1\&.0\&.0 (2009\-05\-03)"
@@ -3263,7 +3316,7 @@ Added workaround for YAML error that occurs when serializing a class object:
3263
3316
  .RS 4
3264
3317
  .\}
3265
3318
  .nf
3266
- TypeError: can\'t dump anonymous class Class
3319
+ TypeError: can\*(Aqt dump anonymous class Class
3267
3320
  .fi
3268
3321
  .if n \{\
3269
3322
  .RE
@@ -3328,7 +3381,7 @@ Recent experiments in assertion testing libraries smashed my world view:
3328
3381
  .sp
3329
3382
  The status quo was certainly \fInot\fR "good enough", as I had so blindly believed all these years\&. In fact, they were \fIverbose\fR behemoths that chose to encode endless permutations of conjecture into methods\&.
3330
3383
  .sp
3331
- Empowered by this revelation and inspired by Sean O\(cqHalpin\(cqs musing on alternative names for assertion methods, I rose to challenge the status quo\&.
3384
+ Empowered by this revelation and inspired by \m[blue]\fBSean O\(cqHalpin\(cqs musing\fR\m[]\&\s-2\u[47]\d\s+2 on alternative names for assertion methods, I rose to challenge the status quo\&.
3332
3385
  .sp
3333
3386
  And so I present to you the first public release of "Dfect"\&.
3334
3387
  .SH "AUTHORS"
@@ -3341,7 +3394,7 @@ François Beausoleil, Gavin Sinclair, Iñaki Baz Castillo, Sean O\(cqHalpin
3341
3394
  .sp
3342
3395
  (the ISC license)
3343
3396
  .sp
3344
- Copyright 2009 Suraj N\&. Kurapati <sunaku@gmail\&.com>
3397
+ Copyright 2009 Suraj N\&. Kurapati <\m[blue]\fBsunaku@gmail\&.com\fR\m[]\&\s-2\u[48]\d\s+2>
3345
3398
  .sp
3346
3399
  Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies\&.
3347
3400
  .sp
@@ -3364,97 +3417,346 @@ lt lt
3364
3417
  lt lt
3365
3418
  lt lt
3366
3419
  lt lt
3420
+ lt lt
3367
3421
  lt lt.
3368
3422
  T{
3369
3423
  .sp
3370
- assert2
3424
+ [assert2]
3371
3425
  T}:T{
3372
3426
  .sp
3373
- http://assert2\&.rubyforge\&.org
3427
+ \m[blue]\fBhttp://assert2\&.rubyforge\&.org\fR\m[]
3374
3428
  T}
3375
3429
  T{
3376
3430
  .sp
3377
- Attest
3431
+ [Attest]
3378
3432
  T}:T{
3379
3433
  .sp
3380
- http://gsinclair\&.github\&.com/attest\&.html
3434
+ \m[blue]\fBhttp://gsinclair\&.github\&.com/attest\&.html\fR\m[]
3381
3435
  T}
3382
3436
  T{
3383
3437
  .sp
3384
- Inochi
3438
+ [Bundler]
3385
3439
  T}:T{
3386
3440
  .sp
3387
- http://snk\&.tuxfamily\&.org/lib/inochi/
3441
+ \m[blue]\fBhttp://gembundler\&.com\fR\m[]
3388
3442
  T}
3389
3443
  T{
3390
3444
  .sp
3391
- Minitest
3445
+ [Inochi]
3392
3446
  T}:T{
3393
3447
  .sp
3394
- http://blog\&.zenspider\&.com/minitest/
3448
+ \m[blue]\fBhttp://snk\&.tuxfamily\&.org/lib/inochi/\fR\m[]
3395
3449
  T}
3396
3450
  T{
3397
3451
  .sp
3398
- OrderedHash
3452
+ [Minitest]
3399
3453
  T}:T{
3400
3454
  .sp
3401
- http://rubygems\&.org/gems/orderedhash
3455
+ \m[blue]\fBhttp://blog\&.zenspider\&.com/minitest/\fR\m[]
3402
3456
  T}
3403
3457
  T{
3404
3458
  .sp
3405
- RSpec
3459
+ [OrderedHash]
3406
3460
  T}:T{
3407
3461
  .sp
3408
- http://rspec\&.info
3462
+ \m[blue]\fBhttp://rubygems\&.org/gems/orderedhash\fR\m[]
3409
3463
  T}
3410
3464
  T{
3411
3465
  .sp
3412
- ruby\-debug
3466
+ [RSpec]
3413
3467
  T}:T{
3414
3468
  .sp
3415
- http://github\&.com/mark\-moseley/ruby\-debug
3469
+ \m[blue]\fBhttp://rspec\&.info\fR\m[]
3416
3470
  T}
3417
3471
  T{
3418
3472
  .sp
3419
- RubyGems
3473
+ [ruby\-debug]
3420
3474
  T}:T{
3421
3475
  .sp
3422
- http://rubygems\&.org
3476
+ \m[blue]\fBhttp://github\&.com/mark\-moseley/ruby\-debug\fR\m[]
3423
3477
  T}
3424
3478
  T{
3425
3479
  .sp
3426
- Ruby
3480
+ [RubyGems]
3427
3481
  T}:T{
3428
3482
  .sp
3429
- http://ruby\-lang\&.org
3483
+ \m[blue]\fBhttp://rubygems\&.org\fR\m[]
3430
3484
  T}
3431
3485
  T{
3432
3486
  .sp
3433
- Test::Unit
3487
+ [Ruby]
3488
+ T}:T{
3489
+ .sp
3490
+ \m[blue]\fBhttp://ruby\-lang\&.org\fR\m[]
3491
+ T}
3492
+ T{
3493
+ .sp
3494
+ [Test::Unit]
3434
3495
  T}:T{
3435
3496
  .sp
3436
- http://ruby\-doc\&.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit\&.html
3497
+ \m[blue]\fBhttp://ruby\-doc\&.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit\&.html\fR\m[]
3437
3498
  T}
3438
3499
  T{
3439
3500
  .sp
3440
- Testy
3501
+ [Testy]
3441
3502
  T}:T{
3442
3503
  .sp
3443
- http://github\&.com/ahoward/testy/tree/master
3504
+ \m[blue]\fBhttp://github\&.com/ahoward/testy/tree/master\fR\m[]
3444
3505
  T}
3445
3506
  T{
3446
3507
  .sp
3447
- Verify
3508
+ [Verify]
3448
3509
  T}:T{
3449
3510
  .sp
3450
- http://www\&.ruby\-forum\&.com/topic/183354
3511
+ \m[blue]\fBhttp://www\&.ruby\-forum\&.com/topic/183354\fR\m[]
3451
3512
  T}
3452
3513
  T{
3453
3514
  .sp
3454
- xUnit
3515
+ [xUnit]
3455
3516
  T}:T{
3456
3517
  .sp
3457
- http://en\&.wikipedia\&.org/wiki/XUnit
3518
+ \m[blue]\fBhttp://en\&.wikipedia\&.org/wiki/XUnit\fR\m[]
3458
3519
  T}
3459
3520
  .TE
3460
3521
  .sp 1
3522
+ .SH "NOTES"
3523
+ .IP " 1." 4
3524
+ API documentation
3525
+ .RS 4
3526
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#T-class_method
3527
+ .RE
3528
+ .IP " 2." 4
3529
+ API documentation
3530
+ .RS 4
3531
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#F-class_method
3532
+ .RE
3533
+ .IP " 3." 4
3534
+ API documentation
3535
+ .RS 4
3536
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#N-class_method
3537
+ .RE
3538
+ .IP " 4." 4
3539
+ API documentation
3540
+ .RS 4
3541
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#E-class_method
3542
+ .RE
3543
+ .IP " 5." 4
3544
+ API documentation
3545
+ .RS 4
3546
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#C-class_method
3547
+ .RE
3548
+ .IP " 6." 4
3549
+ API documentation
3550
+ .RS 4
3551
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#T%21-class_method
3552
+ .RE
3553
+ .IP " 7." 4
3554
+ API documentation
3555
+ .RS 4
3556
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#F%21-class_method
3557
+ .RE
3558
+ .IP " 8." 4
3559
+ API documentation
3560
+ .RS 4
3561
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#N%21-class_method
3562
+ .RE
3563
+ .IP " 9." 4
3564
+ API documentation
3565
+ .RS 4
3566
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#E%21-class_method
3567
+ .RE
3568
+ .IP "10." 4
3569
+ API documentation
3570
+ .RS 4
3571
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#C%21-class_method
3572
+ .RE
3573
+ .IP "11." 4
3574
+ API documentation
3575
+ .RS 4
3576
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#T%3F-class_method
3577
+ .RE
3578
+ .IP "12." 4
3579
+ API documentation
3580
+ .RS 4
3581
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#F%3F-class_method
3582
+ .RE
3583
+ .IP "13." 4
3584
+ API documentation
3585
+ .RS 4
3586
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#N%3F-class_method
3587
+ .RE
3588
+ .IP "14." 4
3589
+ API documentation
3590
+ .RS 4
3591
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#E%3F-class_method
3592
+ .RE
3593
+ .IP "15." 4
3594
+ API documentation
3595
+ .RS 4
3596
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#C%3F-class_method
3597
+ .RE
3598
+ .IP "16." 4
3599
+ The D() method
3600
+ .RS 4
3601
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#D-class_method
3602
+ .RE
3603
+ .IP "17." 4
3604
+ The D!() method
3605
+ .RS 4
3606
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#D%21-class_method
3607
+ .RE
3608
+ .IP "18." 4
3609
+ The S() method
3610
+ .RS 4
3611
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#S-class_method
3612
+ .RE
3613
+ .IP "19." 4
3614
+ The S!() method
3615
+ .RS 4
3616
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#S%21-class_method
3617
+ .RE
3618
+ .IP "20." 4
3619
+ The S?() method
3620
+ .RS 4
3621
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#S%3F-class_method
3622
+ .RE
3623
+ .IP "21." 4
3624
+ The I() method
3625
+ .RS 4
3626
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#I-class_method
3627
+ .RE
3628
+ .IP "22." 4
3629
+ The I!() method
3630
+ .RS 4
3631
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#I%21-class_method
3632
+ .RE
3633
+ .IP "23." 4
3634
+ API documentation
3635
+ .RS 4
3636
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#%3C-class_method
3637
+ .RE
3638
+ .IP "24." 4
3639
+ API documentation
3640
+ .RS 4
3641
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#%3E-class_method
3642
+ .RE
3643
+ .IP "25." 4
3644
+ API documentation
3645
+ .RS 4
3646
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#%3C%3C-class_method
3647
+ .RE
3648
+ .IP "26." 4
3649
+ API documentation
3650
+ .RS 4
3651
+ \%http://snk.tuxfamily.org/lib/detest/api//Detest.html#%3E%3E-class_method
3652
+ .RE
3653
+ .IP "27." 4
3654
+ lib/detest/spec.rb:21
3655
+ .RS 4
3656
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/spec.rb#L21
3657
+ .RE
3658
+ .IP "28." 4
3659
+ lib/detest/spec.rb:10
3660
+ .RS 4
3661
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/spec.rb#L10
3662
+ .RE
3663
+ .IP "29." 4
3664
+ lib/detest.rb:1166
3665
+ .RS 4
3666
+ \%http://github.com/sunaku/detest/tree/master/lib/detest.rb#L1166
3667
+ .RE
3668
+ .IP "30." 4
3669
+ lib/detest/unit.rb:26
3670
+ .RS 4
3671
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L26
3672
+ .RE
3673
+ .IP "31." 4
3674
+ lib/detest/unit.rb:31
3675
+ .RS 4
3676
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L31
3677
+ .RE
3678
+ .IP "32." 4
3679
+ lib/detest/unit.rb:36
3680
+ .RS 4
3681
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L36
3682
+ .RE
3683
+ .IP "33." 4
3684
+ lib/detest/unit.rb:47
3685
+ .RS 4
3686
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L47
3687
+ .RE
3688
+ .IP "34." 4
3689
+ lib/detest/unit.rb:52
3690
+ .RS 4
3691
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L52
3692
+ .RE
3693
+ .IP "35." 4
3694
+ lib/detest/unit.rb:57
3695
+ .RS 4
3696
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L57
3697
+ .RE
3698
+ .IP "36." 4
3699
+ lib/detest/unit.rb:67
3700
+ .RS 4
3701
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L67
3702
+ .RE
3703
+ .IP "37." 4
3704
+ lib/detest/unit.rb:62
3705
+ .RS 4
3706
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L62
3707
+ .RE
3708
+ .IP "38." 4
3709
+ lib/detest/unit.rb:77
3710
+ .RS 4
3711
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L77
3712
+ .RE
3713
+ .IP "39." 4
3714
+ lib/detest/unit.rb:82
3715
+ .RS 4
3716
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L82
3717
+ .RE
3718
+ .IP "40." 4
3719
+ lib/detest/unit.rb:86
3720
+ .RS 4
3721
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L86
3722
+ .RE
3723
+ .IP "41." 4
3724
+ lib/detest/unit.rb:72
3725
+ .RS 4
3726
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L72
3727
+ .RE
3728
+ .IP "42." 4
3729
+ lib/detest/unit.rb:95
3730
+ .RS 4
3731
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L95
3732
+ .RE
3733
+ .IP "43." 4
3734
+ lib/detest/unit.rb:91
3735
+ .RS 4
3736
+ \%http://github.com/sunaku/detest/tree/master/lib/detest/unit.rb#L91
3737
+ .RE
3738
+ .IP "44." 4
3739
+ ruby-wrapper
3740
+ .RS 4
3741
+ \%http://github.com/chneukirchen/rup/blob/master/ruby-wrapper
3742
+ .RE
3743
+ .IP "45." 4
3744
+ This feature was requested
3745
+ .RS 4
3746
+ \%http://github.com/sunaku/dfect/issues/1
3747
+ .RE
3748
+ .IP "46." 4
3749
+ be nice
3750
+ .RS 4
3751
+ \%http://loiclemeur.com/english/2009/03/never-criticize-your-competitors.html
3752
+ .RE
3753
+ .IP "47." 4
3754
+ Sean O\(cqHalpin\(cqs musing
3755
+ .RS 4
3756
+ \%http://www.ruby-forum.com/topic/183354#801895
3757
+ .RE
3758
+ .IP "48." 4
3759
+ sunaku@gmail.com
3760
+ .RS 4
3761
+ \%mailto:sunaku@gmail.com
3762
+ .RE