ryanbriones-ZenTest 3.11.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 +523 -0
- data/Manifest.txt +69 -0
- data/README.txt +110 -0
- data/Rakefile +68 -0
- data/articles/Article.css +721 -0
- data/articles/getting_started_with_autotest.html +532 -0
- data/articles/how_to_use_zentest.txt +393 -0
- data/bin/autotest +55 -0
- data/bin/multiruby +40 -0
- data/bin/multiruby_setup +68 -0
- data/bin/rails_test_audit +80 -0
- data/bin/unit_diff +38 -0
- data/bin/zentest +28 -0
- data/example.txt +42 -0
- data/example1.rb +7 -0
- data/example2.rb +15 -0
- data/example_dot_autotest.rb +45 -0
- data/lib/autotest.rb +654 -0
- data/lib/autotest/autoupdate.rb +26 -0
- data/lib/autotest/camping.rb +37 -0
- data/lib/autotest/cctray.rb +57 -0
- data/lib/autotest/discover.rb +6 -0
- data/lib/autotest/emacs.rb +35 -0
- data/lib/autotest/email_notify.rb +66 -0
- data/lib/autotest/fixtures.rb +12 -0
- data/lib/autotest/growl.rb +28 -0
- data/lib/autotest/heckle.rb +14 -0
- data/lib/autotest/html_report.rb +31 -0
- data/lib/autotest/jabber_notify.rb +111 -0
- data/lib/autotest/kdenotify.rb +14 -0
- data/lib/autotest/menu.rb +51 -0
- data/lib/autotest/migrate.rb +7 -0
- data/lib/autotest/notify.rb +34 -0
- data/lib/autotest/once.rb +9 -0
- data/lib/autotest/pretty.rb +83 -0
- data/lib/autotest/rails.rb +81 -0
- data/lib/autotest/rcov.rb +22 -0
- data/lib/autotest/redgreen.rb +21 -0
- data/lib/autotest/restart.rb +11 -0
- data/lib/autotest/screen.rb +73 -0
- data/lib/autotest/shame.rb +45 -0
- data/lib/autotest/snarl.rb +51 -0
- data/lib/autotest/timestamp.rb +9 -0
- data/lib/functional_test_matrix.rb +92 -0
- data/lib/multiruby.rb +401 -0
- data/lib/test/rails.rb +295 -0
- data/lib/test/rails/controller_test_case.rb +382 -0
- data/lib/test/rails/functional_test_case.rb +79 -0
- data/lib/test/rails/helper_test_case.rb +64 -0
- data/lib/test/rails/ivar_proxy.rb +31 -0
- data/lib/test/rails/pp_html_document.rb +74 -0
- data/lib/test/rails/rake_tasks.rb +50 -0
- data/lib/test/rails/render_tree.rb +93 -0
- data/lib/test/rails/test_case.rb +28 -0
- data/lib/test/rails/view_test_case.rb +597 -0
- data/lib/test/zentest_assertions.rb +134 -0
- data/lib/unit_diff.rb +259 -0
- data/lib/zentest.rb +566 -0
- data/lib/zentest_mapping.rb +99 -0
- data/test/test_autotest.rb +449 -0
- data/test/test_help.rb +36 -0
- data/test/test_rails_autotest.rb +229 -0
- data/test/test_rails_controller_test_case.rb +58 -0
- data/test/test_rails_helper_test_case.rb +48 -0
- data/test/test_rails_view_test_case.rb +275 -0
- data/test/test_unit_diff.rb +319 -0
- data/test/test_zentest.rb +566 -0
- data/test/test_zentest_assertions.rb +128 -0
- data/test/test_zentest_mapping.rb +222 -0
- metadata +151 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
require 'test/unit'
|
|
2
|
+
require 'test/zentest_assertions'
|
|
3
|
+
|
|
4
|
+
class TestZenTestAssertions < Test::Unit::TestCase
|
|
5
|
+
@@has_mini = defined? Mini
|
|
6
|
+
@@exception = if @@has_mini then
|
|
7
|
+
Mini::Assertion
|
|
8
|
+
else
|
|
9
|
+
Test::Unit::AssertionFailedError
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def util_assert_triggered expected
|
|
13
|
+
e = assert_raises @@exception do
|
|
14
|
+
yield
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
assert_equal expected, e.message.sub(/(---Backtrace---).*/m, '\1')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_assert_empty
|
|
21
|
+
assert_empty []
|
|
22
|
+
|
|
23
|
+
msg = if @@has_mini then
|
|
24
|
+
"Expected [true] to be empty."
|
|
25
|
+
else
|
|
26
|
+
"[true] expected to be empty."
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
util_assert_triggered msg do
|
|
30
|
+
assert_empty [true]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_assert_include
|
|
35
|
+
assert_include [true], true
|
|
36
|
+
|
|
37
|
+
msg = if @@has_mini then
|
|
38
|
+
"Expected [true] to include false."
|
|
39
|
+
else
|
|
40
|
+
"[true]\ndoes not include\nfalse."
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
util_assert_triggered msg do
|
|
44
|
+
assert_include [true], false
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_assert_in_epsilon
|
|
49
|
+
assert_in_epsilon 1.234, 1.234, 0.0001
|
|
50
|
+
|
|
51
|
+
msg = if @@has_mini then
|
|
52
|
+
"Expected 1.235 - 1.234 (0.00100000000000011) to be < 0.0001234."
|
|
53
|
+
else
|
|
54
|
+
"1.235 expected to be within 0.01% of 1.234, was 0.000809716599190374"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
util_assert_triggered msg do
|
|
58
|
+
assert_in_epsilon 1.235, 1.234, 0.0001
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_deny
|
|
63
|
+
deny false
|
|
64
|
+
deny nil
|
|
65
|
+
|
|
66
|
+
e = assert_raises Test::Unit::AssertionFailedError do
|
|
67
|
+
deny true
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
assert_match(/Failed refutation, no message given/, e.message)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_deny_empty
|
|
74
|
+
deny_empty [true]
|
|
75
|
+
|
|
76
|
+
msg = if @@has_mini then
|
|
77
|
+
"Expected [] to not be empty."
|
|
78
|
+
else
|
|
79
|
+
"[] expected to have stuff."
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
util_assert_triggered msg do
|
|
83
|
+
deny_empty []
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def test_deny_equal
|
|
89
|
+
deny_equal true, false
|
|
90
|
+
|
|
91
|
+
assert_raises Test::Unit::AssertionFailedError do
|
|
92
|
+
deny_equal true, true
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_deny_include
|
|
97
|
+
deny_include [true], false
|
|
98
|
+
|
|
99
|
+
msg = if @@has_mini then
|
|
100
|
+
"Expected [true] to not include true."
|
|
101
|
+
else
|
|
102
|
+
"[true] includes true."
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
util_assert_triggered msg do
|
|
106
|
+
deny_include [true], true
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_deny_nil
|
|
111
|
+
deny_nil false
|
|
112
|
+
|
|
113
|
+
assert_raises Test::Unit::AssertionFailedError do
|
|
114
|
+
deny_nil nil
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def test_util_capture
|
|
119
|
+
out, err = util_capture do
|
|
120
|
+
puts 'out'
|
|
121
|
+
$stderr.puts 'err'
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
assert_equal "out\n", out
|
|
125
|
+
assert_equal "err\n", err
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
require 'test/unit' unless defined? $ZENTEST and $ZENTEST
|
|
2
|
+
|
|
3
|
+
$TESTING = true
|
|
4
|
+
|
|
5
|
+
require 'zentest_mapping' unless defined? $ZENTEST
|
|
6
|
+
|
|
7
|
+
class Dummy
|
|
8
|
+
attr_accessor :inherited_methods
|
|
9
|
+
include ZenTestMapping
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
class TestZentestMapping < Test::Unit::TestCase
|
|
13
|
+
def setup
|
|
14
|
+
@tester = Dummy.new
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def util_simple_setup
|
|
18
|
+
klasses = {
|
|
19
|
+
"Something" =>
|
|
20
|
+
{
|
|
21
|
+
"method1" => true,
|
|
22
|
+
"method1!" => true,
|
|
23
|
+
"method1=" => true,
|
|
24
|
+
"method1?" => true,
|
|
25
|
+
"attrib" => true,
|
|
26
|
+
"attrib=" => true,
|
|
27
|
+
"equal?" => true,
|
|
28
|
+
"self.method3" => true,
|
|
29
|
+
"self.[]" => true,
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
test_klasses = {
|
|
33
|
+
"TestSomething" =>
|
|
34
|
+
{
|
|
35
|
+
"test_class_method4" => true,
|
|
36
|
+
"test_method2" => true,
|
|
37
|
+
"setup" => true,
|
|
38
|
+
"teardown" => true,
|
|
39
|
+
"test_class_index" => true,
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
@tester.inherited_methods = test_klasses.merge(klasses)
|
|
43
|
+
@generated_code = "
|
|
44
|
+
require 'test/unit' unless defined? $ZENTEST and $ZENTEST
|
|
45
|
+
|
|
46
|
+
class Something
|
|
47
|
+
def self.method4(*args)
|
|
48
|
+
raise NotImplementedError, 'Need to write self.method4'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def method2(*args)
|
|
52
|
+
raise NotImplementedError, 'Need to write method2'
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
class TestSomething < Test::Unit::TestCase
|
|
57
|
+
def test_class_method3
|
|
58
|
+
raise NotImplementedError, 'Need to write test_class_method3'
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_attrib
|
|
62
|
+
raise NotImplementedError, 'Need to write test_attrib'
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def test_attrib_equals
|
|
66
|
+
raise NotImplementedError, 'Need to write test_attrib_equals'
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_equal_eh
|
|
70
|
+
raise NotImplementedError, 'Need to write test_equal_eh'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_method1
|
|
74
|
+
raise NotImplementedError, 'Need to write test_method1'
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def test_method1_bang
|
|
78
|
+
raise NotImplementedError, 'Need to write test_method1_bang'
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_method1_eh
|
|
82
|
+
raise NotImplementedError, 'Need to write test_method1_eh'
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def test_method1_equals
|
|
86
|
+
raise NotImplementedError, 'Need to write test_method1_equals'
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Number of errors detected: 10
|
|
91
|
+
"
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_normal_to_test
|
|
95
|
+
self.util_simple_setup
|
|
96
|
+
assert_equal("test_method1", @tester.normal_to_test("method1"))
|
|
97
|
+
assert_equal("test_method1_bang", @tester.normal_to_test("method1!"))
|
|
98
|
+
assert_equal("test_method1_eh", @tester.normal_to_test("method1?"))
|
|
99
|
+
assert_equal("test_method1_equals", @tester.normal_to_test("method1="))
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_normal_to_test_cls
|
|
103
|
+
self.util_simple_setup
|
|
104
|
+
assert_equal("test_class_method1", @tester.normal_to_test("self.method1"))
|
|
105
|
+
assert_equal("test_class_method1_bang", @tester.normal_to_test("self.method1!"))
|
|
106
|
+
assert_equal("test_class_method1_eh", @tester.normal_to_test("self.method1?"))
|
|
107
|
+
assert_equal("test_class_method1_equals", @tester.normal_to_test("self.method1="))
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_normal_to_test_operators
|
|
111
|
+
self.util_simple_setup
|
|
112
|
+
assert_equal("test_and", @tester.normal_to_test("&"))
|
|
113
|
+
assert_equal("test_bang", @tester.normal_to_test("!"))
|
|
114
|
+
assert_equal("test_carat", @tester.normal_to_test("^"))
|
|
115
|
+
assert_equal("test_div", @tester.normal_to_test("/"))
|
|
116
|
+
assert_equal("test_equalstilde", @tester.normal_to_test("=~"))
|
|
117
|
+
assert_equal("test_minus", @tester.normal_to_test("-"))
|
|
118
|
+
assert_equal("test_or", @tester.normal_to_test("|"))
|
|
119
|
+
assert_equal("test_percent", @tester.normal_to_test("%"))
|
|
120
|
+
assert_equal("test_plus", @tester.normal_to_test("+"))
|
|
121
|
+
assert_equal("test_tilde", @tester.normal_to_test("~"))
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_normal_to_test_overlap
|
|
125
|
+
self.util_simple_setup
|
|
126
|
+
assert_equal("test_equals2", @tester.normal_to_test("=="))
|
|
127
|
+
assert_equal("test_equals3", @tester.normal_to_test("==="))
|
|
128
|
+
assert_equal("test_ge", @tester.normal_to_test(">="))
|
|
129
|
+
assert_equal("test_gt", @tester.normal_to_test(">"))
|
|
130
|
+
assert_equal("test_gt2", @tester.normal_to_test(">>"))
|
|
131
|
+
assert_equal("test_index", @tester.normal_to_test("[]"))
|
|
132
|
+
assert_equal("test_index_equals", @tester.normal_to_test("[]="))
|
|
133
|
+
assert_equal("test_lt", @tester.normal_to_test("<"))
|
|
134
|
+
assert_equal("test_lt2", @tester.normal_to_test("<\<"))
|
|
135
|
+
assert_equal("test_lte", @tester.normal_to_test("<="))
|
|
136
|
+
assert_equal("test_method", @tester.normal_to_test("method"))
|
|
137
|
+
assert_equal("test_method_equals", @tester.normal_to_test("method="))
|
|
138
|
+
assert_equal("test_spaceship", @tester.normal_to_test("<=>"))
|
|
139
|
+
assert_equal("test_times", @tester.normal_to_test("*"))
|
|
140
|
+
assert_equal("test_times2", @tester.normal_to_test("**"))
|
|
141
|
+
assert_equal("test_unary_minus", @tester.normal_to_test("-@"))
|
|
142
|
+
assert_equal("test_unary_plus", @tester.normal_to_test("+@"))
|
|
143
|
+
assert_equal("test_class_index", @tester.normal_to_test("self.[]"))
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def test_test_to_normal
|
|
147
|
+
self.util_simple_setup
|
|
148
|
+
assert_equal("method1!", @tester.test_to_normal("test_method1_bang", "Something"))
|
|
149
|
+
assert_equal("method1", @tester.test_to_normal("test_method1", "Something"))
|
|
150
|
+
assert_equal("method1=", @tester.test_to_normal("test_method1_equals", "Something"))
|
|
151
|
+
assert_equal("method1?", @tester.test_to_normal("test_method1_eh", "Something"))
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def test_test_to_normal_cls
|
|
155
|
+
self.util_simple_setup
|
|
156
|
+
assert_equal("self.method1", @tester.test_to_normal("test_class_method1"))
|
|
157
|
+
assert_equal("self.method1!", @tester.test_to_normal("test_class_method1_bang"))
|
|
158
|
+
assert_equal("self.method1?", @tester.test_to_normal("test_class_method1_eh"))
|
|
159
|
+
assert_equal("self.method1=", @tester.test_to_normal("test_class_method1_equals"))
|
|
160
|
+
assert_equal("self.[]", @tester.test_to_normal("test_class_index"))
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def test_test_to_normal_extended
|
|
164
|
+
self.util_simple_setup
|
|
165
|
+
assert_equal("equal?", @tester.test_to_normal("test_equal_eh_extension", "Something"))
|
|
166
|
+
assert_equal("equal?", @tester.test_to_normal("test_equal_eh_extension_again", "Something"))
|
|
167
|
+
assert_equal("method1", @tester.test_to_normal("test_method1_extension", "Something"))
|
|
168
|
+
assert_equal("method1", @tester.test_to_normal("test_method1_extension_again", "Something"))
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def test_test_to_normal_mapped
|
|
172
|
+
self.util_simple_setup
|
|
173
|
+
assert_equal("*", @tester.test_to_normal("test_times"))
|
|
174
|
+
assert_equal("*", @tester.test_to_normal("test_times_ext"))
|
|
175
|
+
assert_equal("==", @tester.test_to_normal("test_equals2"))
|
|
176
|
+
assert_equal("==", @tester.test_to_normal("test_equals2_ext"))
|
|
177
|
+
assert_equal("===", @tester.test_to_normal("test_equals3"))
|
|
178
|
+
assert_equal("===", @tester.test_to_normal("test_equals3_ext"))
|
|
179
|
+
assert_equal("[]", @tester.test_to_normal("test_index"))
|
|
180
|
+
assert_equal("[]", @tester.test_to_normal("test_index_ext"))
|
|
181
|
+
assert_equal("[]=", @tester.test_to_normal("test_index_equals"))
|
|
182
|
+
assert_equal("[]=", @tester.test_to_normal("test_index_equals_ext"))
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
def test_test_to_normal_operators
|
|
186
|
+
self.util_simple_setup
|
|
187
|
+
assert_equal("&", @tester.test_to_normal("test_and"))
|
|
188
|
+
assert_equal("!", @tester.test_to_normal("test_bang"))
|
|
189
|
+
assert_equal("^", @tester.test_to_normal("test_carat"))
|
|
190
|
+
assert_equal("/", @tester.test_to_normal("test_div"))
|
|
191
|
+
assert_equal("=~", @tester.test_to_normal("test_equalstilde"))
|
|
192
|
+
assert_equal("-", @tester.test_to_normal("test_minus"))
|
|
193
|
+
assert_equal("|", @tester.test_to_normal("test_or"))
|
|
194
|
+
assert_equal("%", @tester.test_to_normal("test_percent"))
|
|
195
|
+
assert_equal("+", @tester.test_to_normal("test_plus"))
|
|
196
|
+
assert_equal("~", @tester.test_to_normal("test_tilde"))
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
def test_test_to_normal_overlap
|
|
200
|
+
self.util_simple_setup
|
|
201
|
+
assert_equal("==", @tester.test_to_normal("test_equals2"))
|
|
202
|
+
assert_equal("===", @tester.test_to_normal("test_equals3"))
|
|
203
|
+
assert_equal(">=", @tester.test_to_normal("test_ge"))
|
|
204
|
+
assert_equal(">", @tester.test_to_normal("test_gt"))
|
|
205
|
+
assert_equal(">>", @tester.test_to_normal("test_gt2"))
|
|
206
|
+
assert_equal("[]", @tester.test_to_normal("test_index"))
|
|
207
|
+
assert_equal("[]=", @tester.test_to_normal("test_index_equals"))
|
|
208
|
+
assert_equal("<", @tester.test_to_normal("test_lt"))
|
|
209
|
+
assert_equal("<\<", @tester.test_to_normal("test_lt2"))
|
|
210
|
+
assert_equal("<=", @tester.test_to_normal("test_lte"))
|
|
211
|
+
assert_equal("<=>", @tester.test_to_normal("test_spaceship"))
|
|
212
|
+
assert_equal("*", @tester.test_to_normal("test_times"))
|
|
213
|
+
assert_equal("**", @tester.test_to_normal("test_times2"))
|
|
214
|
+
assert_equal("-@", @tester.test_to_normal("test_unary_minus"))
|
|
215
|
+
assert_equal("+@", @tester.test_to_normal("test_unary_plus"))
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
def test_to_normal_subset
|
|
219
|
+
self.util_simple_setup
|
|
220
|
+
assert_equal("get_foo", @tester.test_to_normal("test_get_foo"))
|
|
221
|
+
end
|
|
222
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: ryanbriones-ZenTest
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 3.11.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Ryan Davis
|
|
8
|
+
- Eric Hodel
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
|
|
13
|
+
date: 2008-10-23 00:00:00 -07:00
|
|
14
|
+
default_executable:
|
|
15
|
+
dependencies:
|
|
16
|
+
- !ruby/object:Gem::Dependency
|
|
17
|
+
name: hoe
|
|
18
|
+
version_requirement:
|
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
20
|
+
requirements:
|
|
21
|
+
- - ">="
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: 1.8.1
|
|
24
|
+
version:
|
|
25
|
+
description: "ZenTest provides 4 different tools and 1 library: zentest, unit_diff, autotest, multiruby, and Test::Rails. ZenTest scans your target and unit-test code and writes your missing code based on simple naming rules, enabling XP at a much quicker pace. ZenTest only works with Ruby and Test::Unit. unit_diff is a command-line filter to diff expected results from actual results and allow you to quickly see exactly what is wrong. autotest is a continous testing facility meant to be used during development. As soon as you save a file, autotest will run the corresponding dependent tests. multiruby runs anything you want on multiple versions of ruby. Great for compatibility checking! Use multiruby_setup to manage your installed versions. Test::Rails helps you build industrial-strength Rails code."
|
|
26
|
+
email:
|
|
27
|
+
- ryand-ruby@zenspider.com
|
|
28
|
+
- drbrain@segment7.net
|
|
29
|
+
executables:
|
|
30
|
+
- autotest
|
|
31
|
+
- multiruby
|
|
32
|
+
- multiruby_setup
|
|
33
|
+
- rails_test_audit
|
|
34
|
+
- unit_diff
|
|
35
|
+
- zentest
|
|
36
|
+
extensions: []
|
|
37
|
+
|
|
38
|
+
extra_rdoc_files:
|
|
39
|
+
- History.txt
|
|
40
|
+
- Manifest.txt
|
|
41
|
+
- README.txt
|
|
42
|
+
- articles/how_to_use_zentest.txt
|
|
43
|
+
- example.txt
|
|
44
|
+
files:
|
|
45
|
+
- History.txt
|
|
46
|
+
- Manifest.txt
|
|
47
|
+
- README.txt
|
|
48
|
+
- Rakefile
|
|
49
|
+
- articles/Article.css
|
|
50
|
+
- articles/getting_started_with_autotest.html
|
|
51
|
+
- articles/how_to_use_zentest.txt
|
|
52
|
+
- bin/autotest
|
|
53
|
+
- bin/multiruby
|
|
54
|
+
- bin/multiruby_setup
|
|
55
|
+
- bin/rails_test_audit
|
|
56
|
+
- bin/unit_diff
|
|
57
|
+
- bin/zentest
|
|
58
|
+
- example.txt
|
|
59
|
+
- example1.rb
|
|
60
|
+
- example2.rb
|
|
61
|
+
- example_dot_autotest.rb
|
|
62
|
+
- lib/autotest.rb
|
|
63
|
+
- lib/autotest/autoupdate.rb
|
|
64
|
+
- lib/autotest/camping.rb
|
|
65
|
+
- lib/autotest/cctray.rb
|
|
66
|
+
- lib/autotest/discover.rb
|
|
67
|
+
- lib/autotest/emacs.rb
|
|
68
|
+
- lib/autotest/email_notify.rb
|
|
69
|
+
- lib/autotest/fixtures.rb
|
|
70
|
+
- lib/autotest/growl.rb
|
|
71
|
+
- lib/autotest/heckle.rb
|
|
72
|
+
- lib/autotest/html_report.rb
|
|
73
|
+
- lib/autotest/jabber_notify.rb
|
|
74
|
+
- lib/autotest/kdenotify.rb
|
|
75
|
+
- lib/autotest/menu.rb
|
|
76
|
+
- lib/autotest/migrate.rb
|
|
77
|
+
- lib/autotest/notify.rb
|
|
78
|
+
- lib/autotest/once.rb
|
|
79
|
+
- lib/autotest/pretty.rb
|
|
80
|
+
- lib/autotest/rails.rb
|
|
81
|
+
- lib/autotest/rcov.rb
|
|
82
|
+
- lib/autotest/redgreen.rb
|
|
83
|
+
- lib/autotest/restart.rb
|
|
84
|
+
- lib/autotest/screen.rb
|
|
85
|
+
- lib/autotest/shame.rb
|
|
86
|
+
- lib/autotest/snarl.rb
|
|
87
|
+
- lib/autotest/timestamp.rb
|
|
88
|
+
- lib/functional_test_matrix.rb
|
|
89
|
+
- lib/multiruby.rb
|
|
90
|
+
- lib/test/rails.rb
|
|
91
|
+
- lib/test/rails/controller_test_case.rb
|
|
92
|
+
- lib/test/rails/functional_test_case.rb
|
|
93
|
+
- lib/test/rails/helper_test_case.rb
|
|
94
|
+
- lib/test/rails/ivar_proxy.rb
|
|
95
|
+
- lib/test/rails/pp_html_document.rb
|
|
96
|
+
- lib/test/rails/rake_tasks.rb
|
|
97
|
+
- lib/test/rails/render_tree.rb
|
|
98
|
+
- lib/test/rails/test_case.rb
|
|
99
|
+
- lib/test/rails/view_test_case.rb
|
|
100
|
+
- lib/test/zentest_assertions.rb
|
|
101
|
+
- lib/unit_diff.rb
|
|
102
|
+
- lib/zentest.rb
|
|
103
|
+
- lib/zentest_mapping.rb
|
|
104
|
+
- test/test_autotest.rb
|
|
105
|
+
- test/test_help.rb
|
|
106
|
+
- test/test_rails_autotest.rb
|
|
107
|
+
- test/test_rails_controller_test_case.rb
|
|
108
|
+
- test/test_rails_helper_test_case.rb
|
|
109
|
+
- test/test_rails_view_test_case.rb
|
|
110
|
+
- test/test_unit_diff.rb
|
|
111
|
+
- test/test_zentest.rb
|
|
112
|
+
- test/test_zentest_assertions.rb
|
|
113
|
+
- test/test_zentest_mapping.rb
|
|
114
|
+
has_rdoc: true
|
|
115
|
+
homepage: http://www.zenspider.com/ZSS/Products/ZenTest/
|
|
116
|
+
post_install_message:
|
|
117
|
+
rdoc_options:
|
|
118
|
+
- --main
|
|
119
|
+
- README.txt
|
|
120
|
+
require_paths:
|
|
121
|
+
- lib
|
|
122
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
|
+
requirements:
|
|
124
|
+
- - ">="
|
|
125
|
+
- !ruby/object:Gem::Version
|
|
126
|
+
version: "0"
|
|
127
|
+
version:
|
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
|
+
requirements:
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: "0"
|
|
133
|
+
version:
|
|
134
|
+
requirements: []
|
|
135
|
+
|
|
136
|
+
rubyforge_project: zentest
|
|
137
|
+
rubygems_version: 1.2.0
|
|
138
|
+
signing_key:
|
|
139
|
+
specification_version: 2
|
|
140
|
+
summary: "ZenTest provides 4 different tools and 1 library: zentest, unit_diff, autotest, multiruby, and Test::Rails"
|
|
141
|
+
test_files:
|
|
142
|
+
- test/test_autotest.rb
|
|
143
|
+
- test/test_help.rb
|
|
144
|
+
- test/test_rails_autotest.rb
|
|
145
|
+
- test/test_rails_controller_test_case.rb
|
|
146
|
+
- test/test_rails_helper_test_case.rb
|
|
147
|
+
- test/test_rails_view_test_case.rb
|
|
148
|
+
- test/test_unit_diff.rb
|
|
149
|
+
- test/test_zentest.rb
|
|
150
|
+
- test/test_zentest_assertions.rb
|
|
151
|
+
- test/test_zentest_mapping.rb
|