dfect 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CREDITS +1 -0
- data/doc/api/{files/ANN_txt.html → classes/Class.html} +21 -28
- data/doc/api/classes/Dfect.html +446 -139
- data/doc/api/created.rid +1 -1
- data/doc/api/files/CREDITS.html +62 -0
- data/doc/api/files/LICENSE.html +4 -2
- data/doc/api/files/lib/dfect/auto_rb.html +4 -2
- data/doc/api/files/lib/dfect_rb.html +3 -1
- data/doc/api/js/searchdoc.js +1 -2
- data/doc/api/panel/search_index.js +1 -1
- data/doc/history.erb +31 -2
- data/doc/index.xhtml +773 -0
- data/doc/intro.erb +28 -15
- data/doc/setup.erb +4 -4
- data/doc/usage.erb +105 -46
- data/lib/dfect.rb +385 -87
- data/rakefile +4 -2
- data/test/dfect.rb +168 -15
- metadata +21 -19
data/test/dfect.rb
CHANGED
@@ -6,56 +6,158 @@
|
|
6
6
|
require 'dfect/auto'
|
7
7
|
|
8
8
|
D 'T()' do
|
9
|
-
T { true
|
9
|
+
T { true }
|
10
10
|
T { !false }
|
11
|
-
T { !nil
|
11
|
+
T { !nil }
|
12
12
|
|
13
|
-
T { 0 }
|
13
|
+
T { 0 } # zero is true in Ruby! :)
|
14
14
|
T { 1 }
|
15
15
|
|
16
16
|
D 'must return block value' do
|
17
17
|
inner = rand()
|
18
18
|
outer = T { inner }
|
19
19
|
|
20
|
-
T {
|
20
|
+
T { outer == inner }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
D 'T!()' do
|
25
|
+
T! { !true }
|
26
|
+
T! { false }
|
27
|
+
T! { nil }
|
28
|
+
|
29
|
+
D 'must be same as F()' do
|
30
|
+
T { D.method(:T!) == D.method(:F) }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
D 'T?()' do
|
35
|
+
T { T? { true } }
|
36
|
+
F { T? { false } }
|
37
|
+
F { T? { nil } }
|
38
|
+
|
39
|
+
D 'must not return block value' do
|
40
|
+
inner = rand()
|
41
|
+
outer = T? { inner }
|
42
|
+
|
43
|
+
F { outer == inner }
|
44
|
+
T { outer == true }
|
21
45
|
end
|
22
46
|
end
|
23
47
|
|
24
48
|
D 'F()' do
|
25
49
|
F { !true }
|
26
50
|
F { false }
|
27
|
-
F { nil
|
51
|
+
F { nil }
|
28
52
|
|
29
53
|
D 'must return block value' do
|
30
|
-
inner =
|
54
|
+
inner = nil
|
31
55
|
outer = F { inner }
|
32
56
|
|
33
|
-
T {
|
57
|
+
T { outer == inner }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
D 'F!()' do
|
62
|
+
T! { !true }
|
63
|
+
T! { false }
|
64
|
+
T! { nil }
|
65
|
+
|
66
|
+
D 'must be same as T()' do
|
67
|
+
T { D.method(:F!) == D.method(:T) }
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
D 'F?()' do
|
72
|
+
T { T? { true } }
|
73
|
+
F { T? { false } }
|
74
|
+
F { T? { nil } }
|
75
|
+
|
76
|
+
D 'must not return block value' do
|
77
|
+
inner = rand()
|
78
|
+
outer = F? { inner }
|
79
|
+
|
80
|
+
F { outer == inner }
|
81
|
+
T { outer == false }
|
34
82
|
end
|
35
83
|
end
|
36
84
|
|
37
85
|
D 'E()' do
|
38
|
-
E SyntaxError
|
39
|
-
|
86
|
+
E(SyntaxError) { raise SyntaxError }
|
87
|
+
|
88
|
+
D 'forbids block to not raise anything' do
|
89
|
+
F { E? {} }
|
40
90
|
end
|
41
91
|
|
42
|
-
D '
|
43
|
-
|
92
|
+
D 'forbids block to raise something unexpected' do
|
93
|
+
F { E?(ArgumentError) { raise SyntaxError } }
|
94
|
+
end
|
95
|
+
|
96
|
+
D 'defaults to StandardError when no kinds specified' do
|
97
|
+
E { raise StandardError }
|
98
|
+
E { raise }
|
99
|
+
end
|
100
|
+
|
101
|
+
D 'does not default to StandardError when kinds are specified' do
|
102
|
+
F { E?(SyntaxError) { raise } }
|
103
|
+
end
|
44
104
|
|
105
|
+
D 'allows nested rescue' do
|
45
106
|
E SyntaxError do
|
46
107
|
begin
|
47
|
-
raise
|
48
|
-
rescue
|
108
|
+
raise LoadError
|
109
|
+
rescue LoadError
|
49
110
|
end
|
50
111
|
|
112
|
+
raise rescue nil
|
113
|
+
|
51
114
|
raise SyntaxError
|
52
115
|
end
|
53
116
|
end
|
54
117
|
end
|
55
118
|
|
119
|
+
D 'E!()' do
|
120
|
+
E!(SyntaxError) { raise ArgumentError }
|
121
|
+
|
122
|
+
D 'allows block to not raise anything' do
|
123
|
+
E!(SyntaxError) {}
|
124
|
+
end
|
125
|
+
|
126
|
+
D 'allows block to raise something unexpected' do
|
127
|
+
T { not E?(ArgumentError) { raise SyntaxError } }
|
128
|
+
end
|
129
|
+
|
130
|
+
D 'defaults to StandardError when no kinds specified' do
|
131
|
+
E! { raise LoadError }
|
132
|
+
end
|
133
|
+
|
134
|
+
D 'does not default to StandardError when kinds are specified' do
|
135
|
+
T { not E?(SyntaxError) { raise } }
|
136
|
+
end
|
137
|
+
|
138
|
+
D 'allows nested rescue' do
|
139
|
+
E! SyntaxError do
|
140
|
+
begin
|
141
|
+
raise LoadError
|
142
|
+
rescue LoadError
|
143
|
+
end
|
144
|
+
|
145
|
+
raise rescue nil
|
146
|
+
|
147
|
+
raise ArgumentError
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
56
152
|
D 'C()' do
|
57
|
-
C :foo
|
58
|
-
|
153
|
+
C(:foo) { throw :foo }
|
154
|
+
|
155
|
+
D 'forbids block to not throw anything' do
|
156
|
+
F { C?(:bar) {} }
|
157
|
+
end
|
158
|
+
|
159
|
+
D 'forbids block to throw something unexpected' do
|
160
|
+
F { C?(:bar) { throw :foo } }
|
59
161
|
end
|
60
162
|
|
61
163
|
D 'allows nested catch' do
|
@@ -67,6 +169,43 @@ D 'C()' do
|
|
67
169
|
throw :foo
|
68
170
|
end
|
69
171
|
end
|
172
|
+
|
173
|
+
D 'returns the value thrown along with symbol' do
|
174
|
+
inner = rand()
|
175
|
+
outer = C(:foo) { throw :foo, inner }
|
176
|
+
|
177
|
+
T { outer == inner }
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
D 'C!()' do
|
182
|
+
C!(:bar) { throw :foo }
|
183
|
+
|
184
|
+
D 'allows block to not throw anything' do
|
185
|
+
C!(:bar) {}
|
186
|
+
end
|
187
|
+
|
188
|
+
D 'allows block to throw something unexpected' do
|
189
|
+
T { not C?(:bar) { throw :foo } }
|
190
|
+
end
|
191
|
+
|
192
|
+
D 'allows nested catch' do
|
193
|
+
C! :bar do
|
194
|
+
catch :moz do
|
195
|
+
throw :moz
|
196
|
+
end
|
197
|
+
|
198
|
+
throw :foo
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
D 'does not return the value thrown along with symbol' do
|
203
|
+
inner = rand()
|
204
|
+
outer = C!(:foo) { throw :bar, inner }
|
205
|
+
|
206
|
+
F { outer == inner }
|
207
|
+
T { outer == nil }
|
208
|
+
end
|
70
209
|
end
|
71
210
|
|
72
211
|
D 'D()' do
|
@@ -140,6 +279,20 @@ D 'D()' do
|
|
140
279
|
end
|
141
280
|
end
|
142
281
|
|
282
|
+
D 'D.<() must allow inheritance checking when called without a block' do
|
283
|
+
F { D < Kernel }
|
284
|
+
F { D < Object }
|
285
|
+
F { D < Module }
|
286
|
+
T { D.class == Module }
|
287
|
+
|
288
|
+
c = Class.new { include D }
|
289
|
+
T { c < D }
|
290
|
+
end
|
291
|
+
|
292
|
+
D 'YAML must be able to serialize a class' do
|
293
|
+
T { SyntaxError.to_yaml == "--- SyntaxError\n" }
|
294
|
+
end
|
295
|
+
|
143
296
|
D 'stoping #run' do
|
144
297
|
Dfect.stop
|
145
298
|
raise 'this must not be reached!'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dfect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Suraj N. Kurapati
|
@@ -9,10 +9,19 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-04-
|
12
|
+
date: 2009-04-28 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: inochi
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
16
25
|
description: Assertion testing library for Ruby
|
17
26
|
email: sunaku@gmail.com
|
18
27
|
executables: []
|
@@ -22,41 +31,32 @@ extensions: []
|
|
22
31
|
extra_rdoc_files: []
|
23
32
|
|
24
33
|
files:
|
34
|
+
- CREDITS
|
25
35
|
- rakefile
|
26
|
-
- test
|
27
36
|
- test/dfect.rb
|
28
|
-
- lib
|
29
|
-
- lib/dfect
|
30
37
|
- lib/dfect/auto.rb
|
31
38
|
- lib/dfect.rb
|
32
39
|
- LICENSE
|
33
|
-
- doc
|
34
40
|
- doc/intro.erb
|
35
41
|
- doc/setup.erb
|
36
|
-
- doc/
|
42
|
+
- doc/index.xhtml
|
43
|
+
- doc/api/classes/Class.html
|
37
44
|
- doc/api/classes/Object.html
|
38
45
|
- doc/api/classes/Dfect.html
|
39
|
-
- doc/api/panel
|
40
46
|
- doc/api/panel/search_index.js
|
41
47
|
- doc/api/panel/tree.js
|
42
48
|
- doc/api/panel/index.html
|
43
|
-
- doc/api/js
|
44
49
|
- doc/api/js/searchdoc.js
|
45
50
|
- doc/api/js/jquery-effect.js
|
46
51
|
- doc/api/js/jquery-1.3.2.min.js
|
47
52
|
- doc/api/js/main.js
|
48
|
-
- doc/api/files
|
53
|
+
- doc/api/files/CREDITS.html
|
49
54
|
- doc/api/files/LICENSE.html
|
50
|
-
- doc/api/files/lib
|
51
55
|
- doc/api/files/lib/dfect_rb.html
|
52
|
-
- doc/api/files/lib/dfect
|
53
56
|
- doc/api/files/lib/dfect/auto_rb.html
|
54
|
-
- doc/api/files/ANN_txt.html
|
55
|
-
- doc/api/css
|
56
57
|
- doc/api/css/main.css
|
57
58
|
- doc/api/css/reset.css
|
58
59
|
- doc/api/css/panel.css
|
59
|
-
- doc/api/i
|
60
60
|
- doc/api/i/arrows.png
|
61
61
|
- doc/api/i/tree_bg.png
|
62
62
|
- doc/api/i/results_bg.png
|
@@ -67,6 +67,8 @@ files:
|
|
67
67
|
- doc/index.erb
|
68
68
|
has_rdoc: true
|
69
69
|
homepage: http://snk.tuxfamily.org/lib/dfect
|
70
|
+
licenses: []
|
71
|
+
|
70
72
|
post_install_message:
|
71
73
|
rdoc_options: []
|
72
74
|
|
@@ -87,9 +89,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
89
|
requirements: []
|
88
90
|
|
89
91
|
rubyforge_project: sunaku
|
90
|
-
rubygems_version: 1.3.
|
92
|
+
rubygems_version: 1.3.2
|
91
93
|
signing_key:
|
92
|
-
specification_version:
|
94
|
+
specification_version: 3
|
93
95
|
summary: Assertion testing library for Ruby
|
94
96
|
test_files: []
|
95
97
|
|