dfect 0.0.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/test/dfect.rb ADDED
@@ -0,0 +1,146 @@
1
+ #--
2
+ # Copyright 2009 Suraj N. Kurapati
3
+ # See the LICENSE file for details.
4
+ #++
5
+
6
+ require 'dfect/auto'
7
+
8
+ D 'T()' do
9
+ T { true }
10
+ T { !false }
11
+ T { !nil }
12
+
13
+ T { 0 }
14
+ T { 1 }
15
+
16
+ D 'must return block value' do
17
+ inner = rand()
18
+ outer = T { inner }
19
+
20
+ T { inner == outer }
21
+ end
22
+ end
23
+
24
+ D 'F()' do
25
+ F { !true }
26
+ F { false }
27
+ F { nil }
28
+
29
+ D 'must return block value' do
30
+ inner = false
31
+ outer = F { inner }
32
+
33
+ T { inner == outer }
34
+ end
35
+ end
36
+
37
+ D 'E()' do
38
+ E SyntaxError do
39
+ raise SyntaxError
40
+ end
41
+
42
+ D 'allows nested rescue' do
43
+ klass = Class.new(Exception)
44
+
45
+ E SyntaxError do
46
+ begin
47
+ raise ArgumentError
48
+ rescue
49
+ end
50
+
51
+ raise SyntaxError
52
+ end
53
+ end
54
+ end
55
+
56
+ D 'C()' do
57
+ C :foo do
58
+ throw :foo
59
+ end
60
+
61
+ D 'allows nested catch' do
62
+ C :foo do
63
+ catch :bar do
64
+ throw :bar
65
+ end
66
+
67
+ throw :foo
68
+ end
69
+ end
70
+ end
71
+
72
+ D 'D()' do
73
+ history = []
74
+
75
+ D .<< { history << :before_all }
76
+ D .< { history << :before_each }
77
+ D .> { history << :after_each }
78
+ D .>> { history << :after_all }
79
+
80
+ D 'first nesting' do
81
+ T { history.select {|x| x == :before_all }.length == 1 }
82
+ T { history.select {|x| x == :before_each }.length == 1 }
83
+ F { history.select {|x| x == :after_each }.length == 1 }
84
+ T { history.select {|x| x == :after_all }.length == 0 }
85
+ end
86
+
87
+ D 'second nesting' do
88
+ T { history.select {|x| x == :before_all }.length == 1 }
89
+ T { history.select {|x| x == :before_each }.length == 2 }
90
+ T { history.select {|x| x == :after_each }.length == 1 }
91
+ T { history.select {|x| x == :after_all }.length == 0 }
92
+ end
93
+
94
+ D 'third nesting' do
95
+ T { history.select {|x| x == :before_all }.length == 1 }
96
+ T { history.select {|x| x == :before_each }.length == 3 }
97
+ T { history.select {|x| x == :after_each }.length == 2 }
98
+ T { history.select {|x| x == :after_all }.length == 0 }
99
+ end
100
+
101
+ D 'fourth nesting' do
102
+ D .<< { history << :nested_before_all }
103
+ D .< { history << :nested_before_each }
104
+ D .> { history << :nested_after_each }
105
+ D .>> { history << :nested_after_all }
106
+
107
+ nested_before_each = 0
108
+
109
+ D .< do
110
+ # outer values remain the same for this nesting
111
+ T { history.select {|x| x == :before_all }.length == 1 }
112
+ T { history.select {|x| x == :before_each }.length == 4 }
113
+ T { history.select {|x| x == :after_each }.length == 3 }
114
+ T { history.select {|x| x == :after_all }.length == 0 }
115
+
116
+ nested_before_each += 1
117
+ T { history.select {|x| x == :nested_before_each }.length == nested_before_each }
118
+ end
119
+
120
+ D 'first double-nesting' do
121
+ T { history.select {|x| x == :nested_before_all }.length == 1 }
122
+ T { history.select {|x| x == :nested_before_each }.length == 1 }
123
+ F { history.select {|x| x == :nested_after_each }.length == 1 }
124
+ T { history.select {|x| x == :nested_after_all }.length == 0 }
125
+ end
126
+
127
+ D 'second double-nesting' do
128
+ T { history.select {|x| x == :nested_before_all }.length == 1 }
129
+ T { history.select {|x| x == :nested_before_each }.length == 2 }
130
+ T { history.select {|x| x == :nested_after_each }.length == 1 }
131
+ T { history.select {|x| x == :nested_after_all }.length == 0 }
132
+ end
133
+
134
+ D 'third double-nesting' do
135
+ T { history.select {|x| x == :nested_before_all }.length == 1 }
136
+ T { history.select {|x| x == :nested_before_each }.length == 3 }
137
+ T { history.select {|x| x == :nested_after_each }.length == 2 }
138
+ T { history.select {|x| x == :nested_after_all }.length == 0 }
139
+ end
140
+ end
141
+ end
142
+
143
+ D 'stoping #run' do
144
+ Dfect.stop
145
+ raise 'this must not be reached!'
146
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dfect
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Suraj N. Kurapati
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-04-13 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Assertion testing library for Ruby
17
+ email: sunaku@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - rakefile
26
+ - test
27
+ - test/dfect.rb
28
+ - lib
29
+ - lib/dfect
30
+ - lib/dfect/auto.rb
31
+ - lib/dfect.rb
32
+ - LICENSE
33
+ - doc
34
+ - doc/intro.erb
35
+ - doc/setup.erb
36
+ - doc/api/classes
37
+ - doc/api/classes/Object.html
38
+ - doc/api/classes/Dfect.html
39
+ - doc/api/panel
40
+ - doc/api/panel/search_index.js
41
+ - doc/api/panel/tree.js
42
+ - doc/api/panel/index.html
43
+ - doc/api/js
44
+ - doc/api/js/searchdoc.js
45
+ - doc/api/js/jquery-effect.js
46
+ - doc/api/js/jquery-1.3.2.min.js
47
+ - doc/api/js/main.js
48
+ - doc/api/files
49
+ - doc/api/files/LICENSE.html
50
+ - doc/api/files/lib
51
+ - doc/api/files/lib/dfect_rb.html
52
+ - doc/api/files/lib/dfect
53
+ - doc/api/files/lib/dfect/auto_rb.html
54
+ - doc/api/files/ANN_txt.html
55
+ - doc/api/css
56
+ - doc/api/css/main.css
57
+ - doc/api/css/reset.css
58
+ - doc/api/css/panel.css
59
+ - doc/api/i
60
+ - doc/api/i/arrows.png
61
+ - doc/api/i/tree_bg.png
62
+ - doc/api/i/results_bg.png
63
+ - doc/api/created.rid
64
+ - doc/api/index.html
65
+ - doc/usage.erb
66
+ - doc/history.erb
67
+ - doc/index.erb
68
+ has_rdoc: true
69
+ homepage: http://snk.tuxfamily.org/lib/dfect
70
+ post_install_message:
71
+ rdoc_options: []
72
+
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: "0"
80
+ version:
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: "0"
86
+ version:
87
+ requirements: []
88
+
89
+ rubyforge_project: sunaku
90
+ rubygems_version: 1.3.1
91
+ signing_key:
92
+ specification_version: 2
93
+ summary: Assertion testing library for Ruby
94
+ test_files: []
95
+