ZenTest 3.4.3 → 3.5.1
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/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:
|