detest 3.1.2 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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