ZenTest 3.4.3 → 3.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +46 -3
- data/Manifest.txt +13 -0
- data/README.txt +1 -0
- data/Rakefile +20 -3
- data/bin/autotest +23 -37
- data/bin/multiruby +13 -7
- data/bin/unit_diff +1 -1
- data/example_dot_autotest.rb +14 -0
- data/lib/autotest.rb +77 -30
- data/lib/autotest/autoupdate.rb +26 -0
- data/lib/autotest/emacs.rb +29 -0
- data/lib/autotest/fixtures.rb +12 -0
- data/lib/autotest/growl.rb +7 -17
- data/lib/autotest/heckle.rb +14 -0
- data/lib/autotest/migrate.rb +7 -0
- data/lib/autotest/notify.rb +38 -0
- data/lib/autotest/redgreen.rb +7 -4
- data/lib/autotest/screen.rb +77 -0
- data/lib/autotest/shame.rb +45 -0
- data/lib/autotest/timestamp.rb +3 -1
- data/lib/camping_autotest.rb +37 -0
- data/lib/functional_test_matrix.rb +85 -0
- data/lib/rails_autotest.rb +49 -41
- data/lib/rspec_rails_autotest.rb +119 -0
- data/lib/test/rails.rb +28 -1
- data/lib/test/rails/controller_test_case.rb +27 -6
- data/lib/test/rails/functional_test_case.rb +3 -0
- data/lib/test/rails/helper_test_case.rb +3 -0
- data/lib/test/rails/view_test_case.rb +13 -5
- data/lib/test/zentest_assertions.rb +42 -23
- data/lib/unit_diff.rb +86 -69
- data/lib/zentest.rb +58 -87
- data/lib/zentest_mapping.rb +97 -0
- data/test/test_autotest.rb +23 -3
- data/test/test_help.rb +10 -4
- data/test/test_rails_autotest.rb +6 -4
- data/test/test_rails_controller_test_case.rb +10 -2
- data/test/test_ruby_fork.rb +12 -12
- data/test/test_unit_diff.rb +37 -33
- data/test/test_zentest.rb +15 -141
- data/test/test_zentest_assertions.rb +38 -18
- data/test/test_zentest_mapping.rb +213 -0
- metadata +18 -4
@@ -6,50 +6,70 @@ class TestZenTestAssertions < Test::Unit::TestCase
|
|
6
6
|
def test_assert_empty
|
7
7
|
assert_empty []
|
8
8
|
|
9
|
-
assert_raise Test::Unit::AssertionFailedError do
|
9
|
+
e = assert_raise Test::Unit::AssertionFailedError do
|
10
10
|
assert_empty [true]
|
11
11
|
end
|
12
|
+
|
13
|
+
assert_equal "[true] expected to be empty.", e.message
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_assert_include
|
17
|
+
assert_include true, [true]
|
18
|
+
|
19
|
+
e = assert_raise Test::Unit::AssertionFailedError do
|
20
|
+
assert_include false, [true]
|
21
|
+
end
|
22
|
+
|
23
|
+
assert_equal "[true]\ndoes not include\nfalse.", e.message
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_assert_in_epsilon
|
27
|
+
assert_in_epsilon 1.234, 1.234, 0.0001
|
28
|
+
|
29
|
+
e = assert_raise Test::Unit::AssertionFailedError do
|
30
|
+
assert_in_epsilon 1.235, 1.234, 0.0001
|
31
|
+
end
|
32
|
+
|
33
|
+
assert_equal "1.235 expected to be within 0.01% of 1.234, was 0.000809716599190374", e.message
|
12
34
|
end
|
13
35
|
|
14
36
|
def test_deny
|
15
37
|
deny false
|
16
38
|
deny nil
|
17
39
|
|
18
|
-
assert_raise Test::Unit::AssertionFailedError do
|
40
|
+
e = assert_raise Test::Unit::AssertionFailedError do
|
19
41
|
deny true
|
20
42
|
end
|
21
|
-
end
|
22
43
|
|
23
|
-
|
24
|
-
deny_equal true, false
|
25
|
-
|
26
|
-
assert_raise Test::Unit::AssertionFailedError do
|
27
|
-
deny_equal true, true
|
28
|
-
end
|
44
|
+
assert_equal "<true> is not false or nil.", e.message
|
29
45
|
end
|
30
46
|
|
31
47
|
def test_deny_empty
|
32
48
|
deny_empty [true]
|
33
49
|
|
34
|
-
assert_raise Test::Unit::AssertionFailedError do
|
50
|
+
e = assert_raise Test::Unit::AssertionFailedError do
|
35
51
|
deny_empty []
|
36
52
|
end
|
37
|
-
end
|
38
53
|
|
39
|
-
|
40
|
-
|
54
|
+
assert_equal "[] expected to have stuff.", e.message
|
55
|
+
end
|
41
56
|
|
57
|
+
def test_deny_equal
|
58
|
+
deny_equal true, false
|
59
|
+
|
42
60
|
assert_raise Test::Unit::AssertionFailedError do
|
43
|
-
|
61
|
+
deny_equal true, true
|
44
62
|
end
|
45
63
|
end
|
46
64
|
|
47
|
-
def
|
48
|
-
|
65
|
+
def test_deny_include
|
66
|
+
deny_include false, [true]
|
49
67
|
|
50
|
-
assert_raise Test::Unit::AssertionFailedError do
|
51
|
-
|
68
|
+
e = assert_raise Test::Unit::AssertionFailedError do
|
69
|
+
deny_include true, [true]
|
52
70
|
end
|
71
|
+
|
72
|
+
assert_equal "[true] includes true.", e.message
|
53
73
|
end
|
54
74
|
|
55
75
|
def test_deny_nil
|
@@ -0,0 +1,213 @@
|
|
1
|
+
require 'test/unit' unless defined? $ZENTEST and $ZENTEST
|
2
|
+
|
3
|
+
$TESTING = true
|
4
|
+
|
5
|
+
# I do this so I can still run ZenTest against the tests and itself...
|
6
|
+
require 'zentest' unless defined? $ZENTEST
|
7
|
+
|
8
|
+
class TestZenTestMapping < Test::Unit::TestCase
|
9
|
+
def setup
|
10
|
+
@tester = ZenTest.new # FIX: just inject the module
|
11
|
+
end
|
12
|
+
|
13
|
+
def util_simple_setup
|
14
|
+
@tester.klasses = {
|
15
|
+
"Something" =>
|
16
|
+
{
|
17
|
+
"method1" => true,
|
18
|
+
"method1!" => true,
|
19
|
+
"method1=" => true,
|
20
|
+
"method1?" => true,
|
21
|
+
"attrib" => true,
|
22
|
+
"attrib=" => true,
|
23
|
+
"equal?" => true,
|
24
|
+
"self.method3" => true,
|
25
|
+
"self.[]" => true,
|
26
|
+
},
|
27
|
+
}
|
28
|
+
@tester.test_klasses = {
|
29
|
+
"TestSomething" =>
|
30
|
+
{
|
31
|
+
"test_class_method4" => true,
|
32
|
+
"test_method2" => true,
|
33
|
+
"setup" => true,
|
34
|
+
"teardown" => true,
|
35
|
+
"test_class_index" => true,
|
36
|
+
},
|
37
|
+
}
|
38
|
+
@tester.inherited_methods = @tester.test_klasses.merge(@tester.klasses)
|
39
|
+
@generated_code = "
|
40
|
+
require 'test/unit' unless defined? $ZENTEST and $ZENTEST
|
41
|
+
|
42
|
+
class Something
|
43
|
+
def self.method4(*args)
|
44
|
+
raise NotImplementedError, 'Need to write self.method4'
|
45
|
+
end
|
46
|
+
|
47
|
+
def method2(*args)
|
48
|
+
raise NotImplementedError, 'Need to write method2'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
class TestSomething < Test::Unit::TestCase
|
53
|
+
def test_class_method3
|
54
|
+
raise NotImplementedError, 'Need to write test_class_method3'
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_attrib
|
58
|
+
raise NotImplementedError, 'Need to write test_attrib'
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_attrib_equals
|
62
|
+
raise NotImplementedError, 'Need to write test_attrib_equals'
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_equal_eh
|
66
|
+
raise NotImplementedError, 'Need to write test_equal_eh'
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_method1
|
70
|
+
raise NotImplementedError, 'Need to write test_method1'
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_method1_bang
|
74
|
+
raise NotImplementedError, 'Need to write test_method1_bang'
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_method1_eh
|
78
|
+
raise NotImplementedError, 'Need to write test_method1_eh'
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_method1_equals
|
82
|
+
raise NotImplementedError, 'Need to write test_method1_equals'
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Number of errors detected: 10
|
87
|
+
"
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_normal_to_test
|
91
|
+
self.util_simple_setup
|
92
|
+
assert_equal("test_method1", @tester.normal_to_test("method1"))
|
93
|
+
assert_equal("test_method1_bang", @tester.normal_to_test("method1!"))
|
94
|
+
assert_equal("test_method1_eh", @tester.normal_to_test("method1?"))
|
95
|
+
assert_equal("test_method1_equals", @tester.normal_to_test("method1="))
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_normal_to_test_cls
|
99
|
+
self.util_simple_setup
|
100
|
+
assert_equal("test_class_method1", @tester.normal_to_test("self.method1"))
|
101
|
+
assert_equal("test_class_method1_bang", @tester.normal_to_test("self.method1!"))
|
102
|
+
assert_equal("test_class_method1_eh", @tester.normal_to_test("self.method1?"))
|
103
|
+
assert_equal("test_class_method1_equals", @tester.normal_to_test("self.method1="))
|
104
|
+
end
|
105
|
+
|
106
|
+
def test_normal_to_test_operators
|
107
|
+
self.util_simple_setup
|
108
|
+
assert_equal("test_and", @tester.normal_to_test("&"))
|
109
|
+
assert_equal("test_bang", @tester.normal_to_test("!"))
|
110
|
+
assert_equal("test_carat", @tester.normal_to_test("^"))
|
111
|
+
assert_equal("test_div", @tester.normal_to_test("/"))
|
112
|
+
assert_equal("test_equalstilde", @tester.normal_to_test("=~"))
|
113
|
+
assert_equal("test_minus", @tester.normal_to_test("-"))
|
114
|
+
assert_equal("test_or", @tester.normal_to_test("|"))
|
115
|
+
assert_equal("test_percent", @tester.normal_to_test("%"))
|
116
|
+
assert_equal("test_plus", @tester.normal_to_test("+"))
|
117
|
+
assert_equal("test_tilde", @tester.normal_to_test("~"))
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_normal_to_test_overlap
|
121
|
+
self.util_simple_setup
|
122
|
+
assert_equal("test_equals2", @tester.normal_to_test("=="))
|
123
|
+
assert_equal("test_equals3", @tester.normal_to_test("==="))
|
124
|
+
assert_equal("test_ge", @tester.normal_to_test(">="))
|
125
|
+
assert_equal("test_gt", @tester.normal_to_test(">"))
|
126
|
+
assert_equal("test_gt2", @tester.normal_to_test(">>"))
|
127
|
+
assert_equal("test_index", @tester.normal_to_test("[]"))
|
128
|
+
assert_equal("test_index_equals", @tester.normal_to_test("[]="))
|
129
|
+
assert_equal("test_lt", @tester.normal_to_test("<"))
|
130
|
+
assert_equal("test_lt2", @tester.normal_to_test("<\<"))
|
131
|
+
assert_equal("test_lte", @tester.normal_to_test("<="))
|
132
|
+
assert_equal("test_method", @tester.normal_to_test("method"))
|
133
|
+
assert_equal("test_method_equals", @tester.normal_to_test("method="))
|
134
|
+
assert_equal("test_spaceship", @tester.normal_to_test("<=>"))
|
135
|
+
assert_equal("test_times", @tester.normal_to_test("*"))
|
136
|
+
assert_equal("test_times2", @tester.normal_to_test("**"))
|
137
|
+
assert_equal("test_unary_minus", @tester.normal_to_test("-@"))
|
138
|
+
assert_equal("test_unary_plus", @tester.normal_to_test("+@"))
|
139
|
+
assert_equal("test_class_index", @tester.normal_to_test("self.[]"))
|
140
|
+
end
|
141
|
+
|
142
|
+
def test_test_to_normal
|
143
|
+
self.util_simple_setup
|
144
|
+
assert_equal("method1!", @tester.test_to_normal("test_method1_bang", "Something"))
|
145
|
+
assert_equal("method1", @tester.test_to_normal("test_method1", "Something"))
|
146
|
+
assert_equal("method1=", @tester.test_to_normal("test_method1_equals", "Something"))
|
147
|
+
assert_equal("method1?", @tester.test_to_normal("test_method1_eh", "Something"))
|
148
|
+
end
|
149
|
+
|
150
|
+
def test_test_to_normal_cls
|
151
|
+
self.util_simple_setup
|
152
|
+
assert_equal("self.method1", @tester.test_to_normal("test_class_method1"))
|
153
|
+
assert_equal("self.method1!", @tester.test_to_normal("test_class_method1_bang"))
|
154
|
+
assert_equal("self.method1?", @tester.test_to_normal("test_class_method1_eh"))
|
155
|
+
assert_equal("self.method1=", @tester.test_to_normal("test_class_method1_equals"))
|
156
|
+
assert_equal("self.[]", @tester.test_to_normal("test_class_index"))
|
157
|
+
end
|
158
|
+
|
159
|
+
def test_test_to_normal_extended
|
160
|
+
self.util_simple_setup
|
161
|
+
assert_equal("equal?", @tester.test_to_normal("test_equal_eh_extension", "Something"))
|
162
|
+
assert_equal("equal?", @tester.test_to_normal("test_equal_eh_extension_again", "Something"))
|
163
|
+
assert_equal("method1", @tester.test_to_normal("test_method1_extension", "Something"))
|
164
|
+
assert_equal("method1", @tester.test_to_normal("test_method1_extension_again", "Something"))
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_test_to_normal_mapped
|
168
|
+
self.util_simple_setup
|
169
|
+
assert_equal("*", @tester.test_to_normal("test_times"))
|
170
|
+
assert_equal("*", @tester.test_to_normal("test_times_ext"))
|
171
|
+
assert_equal("==", @tester.test_to_normal("test_equals2"))
|
172
|
+
assert_equal("==", @tester.test_to_normal("test_equals2_ext"))
|
173
|
+
assert_equal("===", @tester.test_to_normal("test_equals3"))
|
174
|
+
assert_equal("===", @tester.test_to_normal("test_equals3_ext"))
|
175
|
+
assert_equal("[]", @tester.test_to_normal("test_index"))
|
176
|
+
assert_equal("[]", @tester.test_to_normal("test_index_ext"))
|
177
|
+
assert_equal("[]=", @tester.test_to_normal("test_index_equals"))
|
178
|
+
assert_equal("[]=", @tester.test_to_normal("test_index_equals_ext"))
|
179
|
+
end
|
180
|
+
|
181
|
+
def test_test_to_normal_operators
|
182
|
+
self.util_simple_setup
|
183
|
+
assert_equal("&", @tester.test_to_normal("test_and"))
|
184
|
+
assert_equal("!", @tester.test_to_normal("test_bang"))
|
185
|
+
assert_equal("^", @tester.test_to_normal("test_carat"))
|
186
|
+
assert_equal("/", @tester.test_to_normal("test_div"))
|
187
|
+
assert_equal("=~", @tester.test_to_normal("test_equalstilde"))
|
188
|
+
assert_equal("-", @tester.test_to_normal("test_minus"))
|
189
|
+
assert_equal("|", @tester.test_to_normal("test_or"))
|
190
|
+
assert_equal("%", @tester.test_to_normal("test_percent"))
|
191
|
+
assert_equal("+", @tester.test_to_normal("test_plus"))
|
192
|
+
assert_equal("~", @tester.test_to_normal("test_tilde"))
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_test_to_normal_overlap
|
196
|
+
self.util_simple_setup
|
197
|
+
assert_equal("==", @tester.test_to_normal("test_equals2"))
|
198
|
+
assert_equal("===", @tester.test_to_normal("test_equals3"))
|
199
|
+
assert_equal(">=", @tester.test_to_normal("test_ge"))
|
200
|
+
assert_equal(">", @tester.test_to_normal("test_gt"))
|
201
|
+
assert_equal(">>", @tester.test_to_normal("test_gt2"))
|
202
|
+
assert_equal("[]", @tester.test_to_normal("test_index"))
|
203
|
+
assert_equal("[]=", @tester.test_to_normal("test_index_equals"))
|
204
|
+
assert_equal("<", @tester.test_to_normal("test_lt"))
|
205
|
+
assert_equal("<\<", @tester.test_to_normal("test_lt2"))
|
206
|
+
assert_equal("<=", @tester.test_to_normal("test_lte"))
|
207
|
+
assert_equal("<=>", @tester.test_to_normal("test_spaceship"))
|
208
|
+
assert_equal("*", @tester.test_to_normal("test_times"))
|
209
|
+
assert_equal("**", @tester.test_to_normal("test_times2"))
|
210
|
+
assert_equal("-@", @tester.test_to_normal("test_unary_minus"))
|
211
|
+
assert_equal("+@", @tester.test_to_normal("test_unary_plus"))
|
212
|
+
end
|
213
|
+
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.0
|
2
|
+
rubygems_version: 0.9.0.9
|
3
3
|
specification_version: 1
|
4
4
|
name: ZenTest
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 3.
|
7
|
-
date:
|
6
|
+
version: 3.5.1
|
7
|
+
date: 2007-04-17 00:00:00 -04:00
|
8
8
|
summary: "ZenTest provides 4 different tools and 1 library: zentest, unit_diff, autotest, multiruby, and Test::Rails."
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -47,15 +47,26 @@ files:
|
|
47
47
|
- example2.rb
|
48
48
|
- example_dot_autotest.rb
|
49
49
|
- lib/autotest.rb
|
50
|
+
- lib/autotest/autoupdate.rb
|
51
|
+
- lib/autotest/emacs.rb
|
52
|
+
- lib/autotest/fixtures.rb
|
50
53
|
- lib/autotest/growl.rb
|
54
|
+
- lib/autotest/heckle.rb
|
51
55
|
- lib/autotest/html_report.rb
|
52
56
|
- lib/autotest/kdenotify.rb
|
53
57
|
- lib/autotest/menu.rb
|
58
|
+
- lib/autotest/migrate.rb
|
59
|
+
- lib/autotest/notify.rb
|
54
60
|
- lib/autotest/pretty.rb
|
55
61
|
- lib/autotest/redgreen.rb
|
62
|
+
- lib/autotest/screen.rb
|
63
|
+
- lib/autotest/shame.rb
|
56
64
|
- lib/autotest/snarl.rb
|
57
65
|
- lib/autotest/timestamp.rb
|
66
|
+
- lib/camping_autotest.rb
|
67
|
+
- lib/functional_test_matrix.rb
|
58
68
|
- lib/rails_autotest.rb
|
69
|
+
- lib/rspec_rails_autotest.rb
|
59
70
|
- lib/ruby_fork.rb
|
60
71
|
- lib/test/rails.rb
|
61
72
|
- lib/test/rails/controller_test_case.rb
|
@@ -70,6 +81,7 @@ files:
|
|
70
81
|
- lib/test/zentest_assertions.rb
|
71
82
|
- lib/unit_diff.rb
|
72
83
|
- lib/zentest.rb
|
84
|
+
- lib/zentest_mapping.rb
|
73
85
|
- test/test_autotest.rb
|
74
86
|
- test/test_help.rb
|
75
87
|
- test/test_rails_autotest.rb
|
@@ -80,6 +92,7 @@ files:
|
|
80
92
|
- test/test_unit_diff.rb
|
81
93
|
- test/test_zentest.rb
|
82
94
|
- test/test_zentest_assertions.rb
|
95
|
+
- test/test_zentest_mapping.rb
|
83
96
|
test_files:
|
84
97
|
- test/test_autotest.rb
|
85
98
|
- test/test_help.rb
|
@@ -91,6 +104,7 @@ test_files:
|
|
91
104
|
- test/test_unit_diff.rb
|
92
105
|
- test/test_zentest.rb
|
93
106
|
- test/test_zentest_assertions.rb
|
107
|
+
- test/test_zentest_mapping.rb
|
94
108
|
rdoc_options: []
|
95
109
|
|
96
110
|
extra_rdoc_files: []
|
@@ -115,5 +129,5 @@ dependencies:
|
|
115
129
|
requirements:
|
116
130
|
- - ">="
|
117
131
|
- !ruby/object:Gem::Version
|
118
|
-
version: 1.
|
132
|
+
version: 1.2.0
|
119
133
|
version:
|