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.
Files changed (70) hide show
  1. data/History.txt +523 -0
  2. data/Manifest.txt +69 -0
  3. data/README.txt +110 -0
  4. data/Rakefile +68 -0
  5. data/articles/Article.css +721 -0
  6. data/articles/getting_started_with_autotest.html +532 -0
  7. data/articles/how_to_use_zentest.txt +393 -0
  8. data/bin/autotest +55 -0
  9. data/bin/multiruby +40 -0
  10. data/bin/multiruby_setup +68 -0
  11. data/bin/rails_test_audit +80 -0
  12. data/bin/unit_diff +38 -0
  13. data/bin/zentest +28 -0
  14. data/example.txt +42 -0
  15. data/example1.rb +7 -0
  16. data/example2.rb +15 -0
  17. data/example_dot_autotest.rb +45 -0
  18. data/lib/autotest.rb +654 -0
  19. data/lib/autotest/autoupdate.rb +26 -0
  20. data/lib/autotest/camping.rb +37 -0
  21. data/lib/autotest/cctray.rb +57 -0
  22. data/lib/autotest/discover.rb +6 -0
  23. data/lib/autotest/emacs.rb +35 -0
  24. data/lib/autotest/email_notify.rb +66 -0
  25. data/lib/autotest/fixtures.rb +12 -0
  26. data/lib/autotest/growl.rb +28 -0
  27. data/lib/autotest/heckle.rb +14 -0
  28. data/lib/autotest/html_report.rb +31 -0
  29. data/lib/autotest/jabber_notify.rb +111 -0
  30. data/lib/autotest/kdenotify.rb +14 -0
  31. data/lib/autotest/menu.rb +51 -0
  32. data/lib/autotest/migrate.rb +7 -0
  33. data/lib/autotest/notify.rb +34 -0
  34. data/lib/autotest/once.rb +9 -0
  35. data/lib/autotest/pretty.rb +83 -0
  36. data/lib/autotest/rails.rb +81 -0
  37. data/lib/autotest/rcov.rb +22 -0
  38. data/lib/autotest/redgreen.rb +21 -0
  39. data/lib/autotest/restart.rb +11 -0
  40. data/lib/autotest/screen.rb +73 -0
  41. data/lib/autotest/shame.rb +45 -0
  42. data/lib/autotest/snarl.rb +51 -0
  43. data/lib/autotest/timestamp.rb +9 -0
  44. data/lib/functional_test_matrix.rb +92 -0
  45. data/lib/multiruby.rb +401 -0
  46. data/lib/test/rails.rb +295 -0
  47. data/lib/test/rails/controller_test_case.rb +382 -0
  48. data/lib/test/rails/functional_test_case.rb +79 -0
  49. data/lib/test/rails/helper_test_case.rb +64 -0
  50. data/lib/test/rails/ivar_proxy.rb +31 -0
  51. data/lib/test/rails/pp_html_document.rb +74 -0
  52. data/lib/test/rails/rake_tasks.rb +50 -0
  53. data/lib/test/rails/render_tree.rb +93 -0
  54. data/lib/test/rails/test_case.rb +28 -0
  55. data/lib/test/rails/view_test_case.rb +597 -0
  56. data/lib/test/zentest_assertions.rb +134 -0
  57. data/lib/unit_diff.rb +259 -0
  58. data/lib/zentest.rb +566 -0
  59. data/lib/zentest_mapping.rb +99 -0
  60. data/test/test_autotest.rb +449 -0
  61. data/test/test_help.rb +36 -0
  62. data/test/test_rails_autotest.rb +229 -0
  63. data/test/test_rails_controller_test_case.rb +58 -0
  64. data/test/test_rails_helper_test_case.rb +48 -0
  65. data/test/test_rails_view_test_case.rb +275 -0
  66. data/test/test_unit_diff.rb +319 -0
  67. data/test/test_zentest.rb +566 -0
  68. data/test/test_zentest_assertions.rb +128 -0
  69. data/test/test_zentest_mapping.rb +222 -0
  70. 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