rspec 1.1.4 → 1.1.5

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 (157) hide show
  1. data/{CHANGES → History.txt} +116 -64
  2. data/Manifest.txt +403 -0
  3. data/{MIT-LICENSE → README.txt} +43 -0
  4. data/Rakefile +39 -212
  5. data/{TODO → TODO.txt} +0 -0
  6. data/bin/autospec +4 -0
  7. data/bin/spec +1 -1
  8. data/examples/pure/yielding_example.rb +33 -0
  9. data/examples/stories/game-of-life/.loadpath +5 -0
  10. data/examples/stories/game-of-life/behaviour/everything.rb +1 -1
  11. data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +17 -17
  12. data/init.rb +9 -0
  13. data/lib/autotest/discover.rb +1 -1
  14. data/lib/autotest/rspec.rb +3 -29
  15. data/lib/spec.rb +10 -12
  16. data/lib/spec/adapters.rb +1 -0
  17. data/lib/spec/adapters/ruby_engine.rb +26 -0
  18. data/lib/spec/adapters/ruby_engine/mri.rb +8 -0
  19. data/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
  20. data/lib/spec/example/errors.rb +6 -0
  21. data/lib/spec/example/example_group_methods.rb +17 -14
  22. data/lib/spec/example/example_matcher.rb +2 -0
  23. data/lib/spec/example/example_methods.rb +4 -9
  24. data/lib/spec/example/module_inclusion_warnings.rb +2 -1
  25. data/lib/spec/expectations/extensions/object.rb +2 -2
  26. data/lib/spec/expectations/handler.rb +8 -16
  27. data/lib/spec/extensions/main.rb +2 -17
  28. data/lib/spec/matchers.rb +8 -2
  29. data/lib/spec/matchers/be.rb +0 -3
  30. data/lib/spec/matchers/change.rb +44 -40
  31. data/lib/spec/matchers/has.rb +1 -1
  32. data/lib/spec/matchers/have.rb +17 -12
  33. data/lib/spec/matchers/operator_matcher.rb +10 -4
  34. data/lib/spec/matchers/simple_matcher.rb +113 -10
  35. data/lib/spec/mocks.rb +1 -1
  36. data/lib/spec/mocks/argument_constraints.rb +185 -0
  37. data/lib/spec/mocks/argument_expectation.rb +35 -173
  38. data/lib/spec/mocks/framework.rb +1 -1
  39. data/lib/spec/mocks/message_expectation.rb +30 -5
  40. data/lib/spec/mocks/methods.rb +14 -2
  41. data/lib/spec/mocks/mock.rb +4 -0
  42. data/lib/spec/mocks/proxy.rb +46 -5
  43. data/lib/spec/mocks/spec_methods.rb +9 -1
  44. data/lib/spec/rake/spectask.rb +14 -22
  45. data/lib/spec/rake/verify_rcov.rb +3 -3
  46. data/lib/spec/runner.rb +18 -6
  47. data/lib/spec/runner/backtrace_tweaker.rb +6 -7
  48. data/lib/spec/runner/command_line.rb +6 -17
  49. data/lib/spec/runner/drb_command_line.rb +1 -1
  50. data/lib/spec/runner/formatter/base_formatter.rb +3 -1
  51. data/lib/spec/runner/formatter/base_text_formatter.rb +5 -9
  52. data/lib/spec/runner/formatter/html_formatter.rb +1 -1
  53. data/lib/spec/runner/formatter/nested_text_formatter.rb +1 -1
  54. data/lib/spec/runner/formatter/progress_bar_formatter.rb +2 -2
  55. data/lib/spec/runner/formatter/specdoc_formatter.rb +1 -1
  56. data/lib/spec/runner/formatter/story/html_formatter.rb +62 -16
  57. data/lib/spec/runner/formatter/story/plain_text_formatter.rb +68 -16
  58. data/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
  59. data/lib/spec/runner/heckle_runner.rb +2 -2
  60. data/lib/spec/runner/option_parser.rb +2 -1
  61. data/lib/spec/runner/options.rb +18 -9
  62. data/lib/spec/runner/reporter.rb +24 -4
  63. data/lib/spec/runner/spec_parser.rb +1 -1
  64. data/lib/spec/story/runner.rb +1 -2
  65. data/lib/spec/story/runner/story_mediator.rb +14 -0
  66. data/lib/spec/story/runner/story_parser.rb +20 -0
  67. data/lib/spec/story/step.rb +40 -28
  68. data/lib/spec/story/step_mother.rb +2 -1
  69. data/lib/spec/story/world.rb +6 -2
  70. data/lib/spec/version.rb +13 -22
  71. data/rake_tasks/failing_examples_with_html.rake +1 -1
  72. data/rake_tasks/verify_rcov.rake +2 -2
  73. data/rspec.gemspec +33 -0
  74. data/spec/autotest/rspec_spec.rb +90 -141
  75. data/spec/spec/adapters/ruby_engine_spec.rb +16 -0
  76. data/spec/spec/example/base_formatter_spec.rb +112 -0
  77. data/spec/spec/example/example_group_factory_spec.rb +2 -2
  78. data/spec/spec/example/example_group_methods_spec.rb +55 -4
  79. data/spec/spec/example/example_group_spec.rb +4 -3
  80. data/spec/spec/example/example_methods_spec.rb +18 -14
  81. data/spec/spec/example/pending_module_spec.rb +38 -0
  82. data/spec/spec/example/shared_example_group_spec.rb +1 -1
  83. data/spec/spec/expectations/extensions/object_spec.rb +0 -12
  84. data/spec/spec/extensions/main_spec.rb +3 -8
  85. data/spec/spec/matchers/change_spec.rb +16 -6
  86. data/spec/spec/matchers/handler_spec.rb +58 -37
  87. data/spec/spec/matchers/has_spec.rb +10 -0
  88. data/spec/spec/matchers/have_spec.rb +105 -2
  89. data/spec/spec/matchers/operator_matcher_spec.rb +35 -2
  90. data/spec/spec/matchers/simple_matcher_spec.rb +64 -2
  91. data/spec/spec/mocks/any_number_of_times_spec.rb +7 -0
  92. data/spec/spec/mocks/bug_report_496.rb +17 -0
  93. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +7 -1
  94. data/spec/spec/mocks/hash_including_matcher_spec.rb +45 -24
  95. data/spec/spec/mocks/mock_spec.rb +55 -10
  96. data/spec/spec/mocks/nil_expectation_warning_spec.rb +54 -0
  97. data/spec/spec/mocks/null_object_mock_spec.rb +14 -0
  98. data/spec/spec/mocks/options_hash_spec.rb +18 -28
  99. data/spec/spec/mocks/partial_mock_spec.rb +2 -0
  100. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +20 -6
  101. data/spec/spec/mocks/stub_spec.rb +7 -0
  102. data/spec/spec/runner/command_line_spec.rb +5 -12
  103. data/spec/spec/runner/drb_command_line_spec.rb +13 -6
  104. data/spec/spec/runner/formatter/html_formatter_spec.rb +2 -1
  105. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +3 -3
  106. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +20 -2
  107. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +2 -1
  108. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +3 -3
  109. data/spec/spec/runner/formatter/story/html_formatter_spec.rb +76 -2
  110. data/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +161 -0
  111. data/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
  112. data/spec/spec/runner/heckle_runner_spec.rb +8 -8
  113. data/spec/spec/runner/option_parser_spec.rb +21 -6
  114. data/spec/spec/runner/output_one_time_fixture_runner.rb +1 -1
  115. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +6 -0
  116. data/spec/spec/runner/reporter_spec.rb +51 -5
  117. data/spec/spec/runner/spec_parser_spec.rb +4 -4
  118. data/spec/spec/story/runner/plain_text_story_runner_spec.rb +2 -5
  119. data/spec/spec/story/runner/story_mediator_spec.rb +10 -0
  120. data/spec/spec/story/runner/story_parser_spec.rb +23 -6
  121. data/spec/spec/story/scenario_spec.rb +1 -3
  122. data/spec/spec/story/step_mother_spec.rb +12 -0
  123. data/spec/spec/story/step_spec.rb +57 -4
  124. data/spec/spec/story/story_spec.rb +1 -3
  125. data/spec/spec/story/world_spec.rb +1 -1
  126. data/spec/spec_helper.rb +21 -68
  127. data/stories/all.rb +1 -1
  128. data/stories/configuration/before_blocks.story +21 -0
  129. data/stories/configuration/stories.rb +7 -0
  130. data/stories/example_groups/stories.rb +3 -4
  131. data/stories/resources/spec/before_blocks_example.rb +32 -0
  132. data/stories/stories/multiline_steps.story +23 -0
  133. data/stories/stories/steps/multiline_steps.rb +13 -0
  134. data/stories/stories/stories.rb +6 -0
  135. data/story_server/prototype/javascripts/builder.js +136 -0
  136. data/story_server/prototype/javascripts/controls.js +972 -0
  137. data/story_server/prototype/javascripts/dragdrop.js +976 -0
  138. data/story_server/prototype/javascripts/effects.js +1117 -0
  139. data/story_server/prototype/javascripts/prototype.js +4140 -0
  140. data/story_server/prototype/javascripts/rspec.js +149 -0
  141. data/story_server/prototype/javascripts/scriptaculous.js +58 -0
  142. data/story_server/prototype/javascripts/slider.js +276 -0
  143. data/story_server/prototype/javascripts/sound.js +55 -0
  144. data/story_server/prototype/javascripts/unittest.js +568 -0
  145. data/story_server/prototype/lib/server.rb +24 -0
  146. data/story_server/prototype/stories.html +176 -0
  147. data/story_server/prototype/stylesheets/rspec.css +136 -0
  148. data/story_server/prototype/stylesheets/test.css +90 -0
  149. metadata +166 -166
  150. data/README +0 -36
  151. data/UPGRADE +0 -7
  152. data/bin/spec_translator +0 -8
  153. data/lib/spec/mocks/argument_constraint_matchers.rb +0 -31
  154. data/lib/spec/translator.rb +0 -114
  155. data/spec/spec/example/example_spec.rb +0 -53
  156. data/spec/spec/runner/execution_context_spec.rb +0 -37
  157. data/spec/spec/translator_spec.rb +0 -265
@@ -0,0 +1,403 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ TODO.txt
6
+ bin/autospec
7
+ bin/spec
8
+ examples/pure/autogenerated_docstrings_example.rb
9
+ examples/pure/before_and_after_example.rb
10
+ examples/pure/behave_as_example.rb
11
+ examples/pure/custom_expectation_matchers.rb
12
+ examples/pure/custom_formatter.rb
13
+ examples/pure/dynamic_spec.rb
14
+ examples/pure/file_accessor.rb
15
+ examples/pure/file_accessor_spec.rb
16
+ examples/pure/greeter_spec.rb
17
+ examples/pure/helper_method_example.rb
18
+ examples/pure/io_processor.rb
19
+ examples/pure/io_processor_spec.rb
20
+ examples/pure/legacy_spec.rb
21
+ examples/pure/mocking_example.rb
22
+ examples/pure/multi_threaded_behaviour_runner.rb
23
+ examples/pure/nested_classes_example.rb
24
+ examples/pure/partial_mock_example.rb
25
+ examples/pure/pending_example.rb
26
+ examples/pure/predicate_example.rb
27
+ examples/pure/priority.txt
28
+ examples/pure/shared_example_group_example.rb
29
+ examples/pure/shared_stack_examples.rb
30
+ examples/pure/spec_helper.rb
31
+ examples/pure/stack.rb
32
+ examples/pure/stack_spec.rb
33
+ examples/pure/stack_spec_with_nested_example_groups.rb
34
+ examples/pure/stubbing_example.rb
35
+ examples/pure/yielding_example.rb
36
+ examples/stories/adder.rb
37
+ examples/stories/addition
38
+ examples/stories/addition.rb
39
+ examples/stories/calculator.rb
40
+ examples/stories/game-of-life/.loadpath
41
+ examples/stories/game-of-life/README.txt
42
+ examples/stories/game-of-life/behaviour/everything.rb
43
+ examples/stories/game-of-life/behaviour/examples/examples.rb
44
+ examples/stories/game-of-life/behaviour/examples/game_behaviour.rb
45
+ examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb
46
+ examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story
47
+ examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story
48
+ examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story
49
+ examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story
50
+ examples/stories/game-of-life/behaviour/stories/ICanKillACell.story
51
+ examples/stories/game-of-life/behaviour/stories/TheGridWraps.story
52
+ examples/stories/game-of-life/behaviour/stories/create_a_cell.rb
53
+ examples/stories/game-of-life/behaviour/stories/helper.rb
54
+ examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb
55
+ examples/stories/game-of-life/behaviour/stories/steps.rb
56
+ examples/stories/game-of-life/behaviour/stories/stories.rb
57
+ examples/stories/game-of-life/behaviour/stories/stories.txt
58
+ examples/stories/game-of-life/life.rb
59
+ examples/stories/game-of-life/life/game.rb
60
+ examples/stories/game-of-life/life/grid.rb
61
+ examples/stories/helper.rb
62
+ examples/stories/steps/addition_steps.rb
63
+ failing_examples/README.txt
64
+ failing_examples/diffing_spec.rb
65
+ failing_examples/failing_autogenerated_docstrings_example.rb
66
+ failing_examples/failure_in_setup.rb
67
+ failing_examples/failure_in_teardown.rb
68
+ failing_examples/mocking_example.rb
69
+ failing_examples/mocking_with_flexmock.rb
70
+ failing_examples/mocking_with_mocha.rb
71
+ failing_examples/mocking_with_rr.rb
72
+ failing_examples/partial_mock_example.rb
73
+ failing_examples/predicate_example.rb
74
+ failing_examples/raising_example.rb
75
+ failing_examples/spec_helper.rb
76
+ failing_examples/syntax_error_example.rb
77
+ failing_examples/team_spec.rb
78
+ failing_examples/timeout_behaviour.rb
79
+ init.rb
80
+ lib/autotest/discover.rb
81
+ lib/autotest/rspec.rb
82
+ lib/spec.rb
83
+ lib/spec/adapters.rb
84
+ lib/spec/adapters/ruby_engine.rb
85
+ lib/spec/adapters/ruby_engine/mri.rb
86
+ lib/spec/adapters/ruby_engine/rubinius.rb
87
+ lib/spec/example.rb
88
+ lib/spec/example/configuration.rb
89
+ lib/spec/example/errors.rb
90
+ lib/spec/example/example_group.rb
91
+ lib/spec/example/example_group_factory.rb
92
+ lib/spec/example/example_group_methods.rb
93
+ lib/spec/example/example_matcher.rb
94
+ lib/spec/example/example_methods.rb
95
+ lib/spec/example/module_inclusion_warnings.rb
96
+ lib/spec/example/module_reopening_fix.rb
97
+ lib/spec/example/pending.rb
98
+ lib/spec/example/shared_example_group.rb
99
+ lib/spec/expectations.rb
100
+ lib/spec/expectations/differs/default.rb
101
+ lib/spec/expectations/errors.rb
102
+ lib/spec/expectations/extensions.rb
103
+ lib/spec/expectations/extensions/object.rb
104
+ lib/spec/expectations/extensions/string_and_symbol.rb
105
+ lib/spec/expectations/handler.rb
106
+ lib/spec/extensions.rb
107
+ lib/spec/extensions/class.rb
108
+ lib/spec/extensions/main.rb
109
+ lib/spec/extensions/metaclass.rb
110
+ lib/spec/extensions/object.rb
111
+ lib/spec/interop/test.rb
112
+ lib/spec/interop/test/unit/autorunner.rb
113
+ lib/spec/interop/test/unit/testcase.rb
114
+ lib/spec/interop/test/unit/testresult.rb
115
+ lib/spec/interop/test/unit/testsuite_adapter.rb
116
+ lib/spec/interop/test/unit/ui/console/testrunner.rb
117
+ lib/spec/matchers.rb
118
+ lib/spec/matchers/be.rb
119
+ lib/spec/matchers/be_close.rb
120
+ lib/spec/matchers/change.rb
121
+ lib/spec/matchers/eql.rb
122
+ lib/spec/matchers/equal.rb
123
+ lib/spec/matchers/exist.rb
124
+ lib/spec/matchers/has.rb
125
+ lib/spec/matchers/have.rb
126
+ lib/spec/matchers/include.rb
127
+ lib/spec/matchers/match.rb
128
+ lib/spec/matchers/operator_matcher.rb
129
+ lib/spec/matchers/raise_error.rb
130
+ lib/spec/matchers/respond_to.rb
131
+ lib/spec/matchers/satisfy.rb
132
+ lib/spec/matchers/simple_matcher.rb
133
+ lib/spec/matchers/throw_symbol.rb
134
+ lib/spec/mocks.rb
135
+ lib/spec/mocks/argument_constraints.rb
136
+ lib/spec/mocks/argument_expectation.rb
137
+ lib/spec/mocks/error_generator.rb
138
+ lib/spec/mocks/errors.rb
139
+ lib/spec/mocks/extensions.rb
140
+ lib/spec/mocks/extensions/object.rb
141
+ lib/spec/mocks/framework.rb
142
+ lib/spec/mocks/message_expectation.rb
143
+ lib/spec/mocks/methods.rb
144
+ lib/spec/mocks/mock.rb
145
+ lib/spec/mocks/order_group.rb
146
+ lib/spec/mocks/proxy.rb
147
+ lib/spec/mocks/space.rb
148
+ lib/spec/mocks/spec_methods.rb
149
+ lib/spec/rake/spectask.rb
150
+ lib/spec/rake/verify_rcov.rb
151
+ lib/spec/runner.rb
152
+ lib/spec/runner/backtrace_tweaker.rb
153
+ lib/spec/runner/class_and_arguments_parser.rb
154
+ lib/spec/runner/command_line.rb
155
+ lib/spec/runner/drb_command_line.rb
156
+ lib/spec/runner/example_group_runner.rb
157
+ lib/spec/runner/formatter/base_formatter.rb
158
+ lib/spec/runner/formatter/base_text_formatter.rb
159
+ lib/spec/runner/formatter/failing_example_groups_formatter.rb
160
+ lib/spec/runner/formatter/failing_examples_formatter.rb
161
+ lib/spec/runner/formatter/html_formatter.rb
162
+ lib/spec/runner/formatter/nested_text_formatter.rb
163
+ lib/spec/runner/formatter/profile_formatter.rb
164
+ lib/spec/runner/formatter/progress_bar_formatter.rb
165
+ lib/spec/runner/formatter/snippet_extractor.rb
166
+ lib/spec/runner/formatter/specdoc_formatter.rb
167
+ lib/spec/runner/formatter/story/html_formatter.rb
168
+ lib/spec/runner/formatter/story/plain_text_formatter.rb
169
+ lib/spec/runner/formatter/story/progress_bar_formatter.rb
170
+ lib/spec/runner/formatter/text_mate_formatter.rb
171
+ lib/spec/runner/heckle_runner.rb
172
+ lib/spec/runner/heckle_runner_unsupported.rb
173
+ lib/spec/runner/option_parser.rb
174
+ lib/spec/runner/options.rb
175
+ lib/spec/runner/reporter.rb
176
+ lib/spec/runner/spec_parser.rb
177
+ lib/spec/story.rb
178
+ lib/spec/story/extensions.rb
179
+ lib/spec/story/extensions/main.rb
180
+ lib/spec/story/extensions/regexp.rb
181
+ lib/spec/story/extensions/string.rb
182
+ lib/spec/story/given_scenario.rb
183
+ lib/spec/story/runner.rb
184
+ lib/spec/story/runner/plain_text_story_runner.rb
185
+ lib/spec/story/runner/scenario_collector.rb
186
+ lib/spec/story/runner/scenario_runner.rb
187
+ lib/spec/story/runner/story_mediator.rb
188
+ lib/spec/story/runner/story_parser.rb
189
+ lib/spec/story/runner/story_runner.rb
190
+ lib/spec/story/scenario.rb
191
+ lib/spec/story/step.rb
192
+ lib/spec/story/step_group.rb
193
+ lib/spec/story/step_mother.rb
194
+ lib/spec/story/story.rb
195
+ lib/spec/story/world.rb
196
+ lib/spec/version.rb
197
+ plugins/mock_frameworks/flexmock.rb
198
+ plugins/mock_frameworks/mocha.rb
199
+ plugins/mock_frameworks/rr.rb
200
+ plugins/mock_frameworks/rspec.rb
201
+ rake_tasks/examples.rake
202
+ rake_tasks/examples_with_rcov.rake
203
+ rake_tasks/failing_examples_with_html.rake
204
+ rake_tasks/verify_rcov.rake
205
+ rspec.gemspec
206
+ spec/README.jruby
207
+ spec/autotest/discover_spec.rb
208
+ spec/autotest/rspec_spec.rb
209
+ spec/autotest_helper.rb
210
+ spec/autotest_matchers.rb
211
+ spec/rspec_suite.rb
212
+ spec/ruby_forker.rb
213
+ spec/spec.opts
214
+ spec/spec/adapters/ruby_engine_spec.rb
215
+ spec/spec/example/base_formatter_spec.rb
216
+ spec/spec/example/configuration_spec.rb
217
+ spec/spec/example/example_group/described_module_spec.rb
218
+ spec/spec/example/example_group/warning_messages_spec.rb
219
+ spec/spec/example/example_group_class_definition_spec.rb
220
+ spec/spec/example/example_group_factory_spec.rb
221
+ spec/spec/example/example_group_methods_spec.rb
222
+ spec/spec/example/example_group_spec.rb
223
+ spec/spec/example/example_matcher_spec.rb
224
+ spec/spec/example/example_methods_spec.rb
225
+ spec/spec/example/example_runner_spec.rb
226
+ spec/spec/example/nested_example_group_spec.rb
227
+ spec/spec/example/pending_module_spec.rb
228
+ spec/spec/example/predicate_matcher_spec.rb
229
+ spec/spec/example/shared_example_group_spec.rb
230
+ spec/spec/example/subclassing_example_group_spec.rb
231
+ spec/spec/expectations/differs/default_spec.rb
232
+ spec/spec/expectations/extensions/object_spec.rb
233
+ spec/spec/expectations/fail_with_spec.rb
234
+ spec/spec/extensions/main_spec.rb
235
+ spec/spec/interop/test/unit/resources/spec_that_fails.rb
236
+ spec/spec/interop/test/unit/resources/spec_that_passes.rb
237
+ spec/spec/interop/test/unit/resources/spec_with_errors.rb
238
+ spec/spec/interop/test/unit/resources/test_case_that_fails.rb
239
+ spec/spec/interop/test/unit/resources/test_case_that_passes.rb
240
+ spec/spec/interop/test/unit/resources/test_case_with_errors.rb
241
+ spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb
242
+ spec/spec/interop/test/unit/spec_spec.rb
243
+ spec/spec/interop/test/unit/test_unit_spec_helper.rb
244
+ spec/spec/interop/test/unit/testcase_spec.rb
245
+ spec/spec/interop/test/unit/testsuite_adapter_spec.rb
246
+ spec/spec/matchers/be_close_spec.rb
247
+ spec/spec/matchers/be_spec.rb
248
+ spec/spec/matchers/change_spec.rb
249
+ spec/spec/matchers/description_generation_spec.rb
250
+ spec/spec/matchers/eql_spec.rb
251
+ spec/spec/matchers/equal_spec.rb
252
+ spec/spec/matchers/exist_spec.rb
253
+ spec/spec/matchers/handler_spec.rb
254
+ spec/spec/matchers/has_spec.rb
255
+ spec/spec/matchers/have_spec.rb
256
+ spec/spec/matchers/include_spec.rb
257
+ spec/spec/matchers/match_spec.rb
258
+ spec/spec/matchers/matcher_methods_spec.rb
259
+ spec/spec/matchers/mock_constraint_matchers_spec.rb
260
+ spec/spec/matchers/operator_matcher_spec.rb
261
+ spec/spec/matchers/raise_error_spec.rb
262
+ spec/spec/matchers/respond_to_spec.rb
263
+ spec/spec/matchers/satisfy_spec.rb
264
+ spec/spec/matchers/simple_matcher_spec.rb
265
+ spec/spec/matchers/throw_symbol_spec.rb
266
+ spec/spec/mocks/any_number_of_times_spec.rb
267
+ spec/spec/mocks/argument_expectation_spec.rb
268
+ spec/spec/mocks/at_least_spec.rb
269
+ spec/spec/mocks/at_most_spec.rb
270
+ spec/spec/mocks/bug_report_10260_spec.rb
271
+ spec/spec/mocks/bug_report_10263_spec.rb
272
+ spec/spec/mocks/bug_report_11545_spec.rb
273
+ spec/spec/mocks/bug_report_15719_spec.rb
274
+ spec/spec/mocks/bug_report_496.rb
275
+ spec/spec/mocks/bug_report_7611_spec.rb
276
+ spec/spec/mocks/bug_report_7805_spec.rb
277
+ spec/spec/mocks/bug_report_8165_spec.rb
278
+ spec/spec/mocks/bug_report_8302_spec.rb
279
+ spec/spec/mocks/failing_mock_argument_constraints_spec.rb
280
+ spec/spec/mocks/hash_including_matcher_spec.rb
281
+ spec/spec/mocks/mock_ordering_spec.rb
282
+ spec/spec/mocks/mock_space_spec.rb
283
+ spec/spec/mocks/mock_spec.rb
284
+ spec/spec/mocks/multiple_return_value_spec.rb
285
+ spec/spec/mocks/nil_expectation_warning_spec.rb
286
+ spec/spec/mocks/null_object_mock_spec.rb
287
+ spec/spec/mocks/once_counts_spec.rb
288
+ spec/spec/mocks/options_hash_spec.rb
289
+ spec/spec/mocks/partial_mock_spec.rb
290
+ spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
291
+ spec/spec/mocks/passing_mock_argument_constraints_spec.rb
292
+ spec/spec/mocks/precise_counts_spec.rb
293
+ spec/spec/mocks/record_messages_spec.rb
294
+ spec/spec/mocks/stub_spec.rb
295
+ spec/spec/mocks/twice_counts_spec.rb
296
+ spec/spec/package/bin_spec_spec.rb
297
+ spec/spec/runner/class_and_argument_parser_spec.rb
298
+ spec/spec/runner/command_line_spec.rb
299
+ spec/spec/runner/drb_command_line_spec.rb
300
+ spec/spec/runner/empty_file.txt
301
+ spec/spec/runner/examples.txt
302
+ spec/spec/runner/failed.txt
303
+ spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb
304
+ spec/spec/runner/formatter/failing_examples_formatter_spec.rb
305
+ spec/spec/runner/formatter/html_formatted-1.8.4.html
306
+ spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html
307
+ spec/spec/runner/formatter/html_formatted-1.8.5.html
308
+ spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html
309
+ spec/spec/runner/formatter/html_formatted-1.8.6.html
310
+ spec/spec/runner/formatter/html_formatter_spec.rb
311
+ spec/spec/runner/formatter/nested_text_formatter_spec.rb
312
+ spec/spec/runner/formatter/profile_formatter_spec.rb
313
+ spec/spec/runner/formatter/progress_bar_formatter_spec.rb
314
+ spec/spec/runner/formatter/snippet_extractor_spec.rb
315
+ spec/spec/runner/formatter/spec_mate_formatter_spec.rb
316
+ spec/spec/runner/formatter/specdoc_formatter_spec.rb
317
+ spec/spec/runner/formatter/story/html_formatter_spec.rb
318
+ spec/spec/runner/formatter/story/plain_text_formatter_spec.rb
319
+ spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb
320
+ spec/spec/runner/formatter/text_mate_formatted-1.8.4.html
321
+ spec/spec/runner/formatter/text_mate_formatted-1.8.6.html
322
+ spec/spec/runner/heckle_runner_spec.rb
323
+ spec/spec/runner/heckler_spec.rb
324
+ spec/spec/runner/noisy_backtrace_tweaker_spec.rb
325
+ spec/spec/runner/option_parser_spec.rb
326
+ spec/spec/runner/options_spec.rb
327
+ spec/spec/runner/output_one_time_fixture.rb
328
+ spec/spec/runner/output_one_time_fixture_runner.rb
329
+ spec/spec/runner/output_one_time_spec.rb
330
+ spec/spec/runner/quiet_backtrace_tweaker_spec.rb
331
+ spec/spec/runner/reporter_spec.rb
332
+ spec/spec/runner/resources/a_bar.rb
333
+ spec/spec/runner/resources/a_foo.rb
334
+ spec/spec/runner/resources/a_spec.rb
335
+ spec/spec/runner/spec.opts
336
+ spec/spec/runner/spec_drb.opts
337
+ spec/spec/runner/spec_parser/spec_parser_fixture.rb
338
+ spec/spec/runner/spec_parser_spec.rb
339
+ spec/spec/runner/spec_spaced.opts
340
+ spec/spec/runner_spec.rb
341
+ spec/spec/spec_classes.rb
342
+ spec/spec/story/builders.rb
343
+ spec/spec/story/extensions/main_spec.rb
344
+ spec/spec/story/extensions_spec.rb
345
+ spec/spec/story/given_scenario_spec.rb
346
+ spec/spec/story/runner/plain_text_story_runner_spec.rb
347
+ spec/spec/story/runner/scenario_collector_spec.rb
348
+ spec/spec/story/runner/scenario_runner_spec.rb
349
+ spec/spec/story/runner/story_mediator_spec.rb
350
+ spec/spec/story/runner/story_parser_spec.rb
351
+ spec/spec/story/runner/story_runner_spec.rb
352
+ spec/spec/story/runner_spec.rb
353
+ spec/spec/story/scenario_spec.rb
354
+ spec/spec/story/step_group_spec.rb
355
+ spec/spec/story/step_mother_spec.rb
356
+ spec/spec/story/step_spec.rb
357
+ spec/spec/story/story_helper.rb
358
+ spec/spec/story/story_spec.rb
359
+ spec/spec/story/world_spec.rb
360
+ spec/spec_helper.rb
361
+ stories/all.rb
362
+ stories/configuration/before_blocks.story
363
+ stories/configuration/stories.rb
364
+ stories/example_groups/autogenerated_docstrings
365
+ stories/example_groups/example_group_with_should_methods
366
+ stories/example_groups/nested_groups
367
+ stories/example_groups/output
368
+ stories/example_groups/stories.rb
369
+ stories/helper.rb
370
+ stories/interop/examples_and_tests_together
371
+ stories/interop/stories.rb
372
+ stories/interop/test_case_with_should_methods
373
+ stories/mock_framework_integration/stories.rb
374
+ stories/mock_framework_integration/use_flexmock.story
375
+ stories/pending_stories/README
376
+ stories/resources/helpers/cmdline.rb
377
+ stories/resources/helpers/story_helper.rb
378
+ stories/resources/matchers/smart_match.rb
379
+ stories/resources/spec/before_blocks_example.rb
380
+ stories/resources/spec/example_group_with_should_methods.rb
381
+ stories/resources/spec/simple_spec.rb
382
+ stories/resources/spec/spec_with_flexmock.rb
383
+ stories/resources/steps/running_rspec.rb
384
+ stories/resources/stories/failing_story.rb
385
+ stories/resources/test/spec_and_test_together.rb
386
+ stories/resources/test/test_case_with_should_methods.rb
387
+ stories/stories/multiline_steps.story
388
+ stories/stories/steps/multiline_steps.rb
389
+ stories/stories/stories.rb
390
+ story_server/prototype/javascripts/builder.js
391
+ story_server/prototype/javascripts/controls.js
392
+ story_server/prototype/javascripts/dragdrop.js
393
+ story_server/prototype/javascripts/effects.js
394
+ story_server/prototype/javascripts/prototype.js
395
+ story_server/prototype/javascripts/rspec.js
396
+ story_server/prototype/javascripts/scriptaculous.js
397
+ story_server/prototype/javascripts/slider.js
398
+ story_server/prototype/javascripts/sound.js
399
+ story_server/prototype/javascripts/unittest.js
400
+ story_server/prototype/lib/server.rb
401
+ story_server/prototype/stories.html
402
+ story_server/prototype/stylesheets/rspec.css
403
+ story_server/prototype/stylesheets/test.css
@@ -1,3 +1,46 @@
1
+ = RSpec
2
+
3
+ * http://rspec.info
4
+ * http://rspec.info/rdoc/
5
+ * http://github.com/dchelimsky/rspec/wikis
6
+ * mailto:rspec-devel@rubyforge.org
7
+
8
+ == DESCRIPTION:
9
+
10
+ RSpec is a Behaviour Driven Development framework with tools to express User
11
+ Stories with Executable Scenarios and Executable Examples at the code level.
12
+
13
+ == FEATURES:
14
+
15
+ * Spec::Story provides a framework for expressing User Stories and Scenarios
16
+ * Spec::Example provides a framework for expressing Isolated Examples
17
+ * Spec::Matchers provides Expression Matchers for use with Spec::Expectations and Spec::Mocks.
18
+
19
+ == SYNOPSIS:
20
+
21
+ Spec::Expectations supports setting expectations on your objects so you
22
+ can do things like:
23
+
24
+ result.should equal(expected_result)
25
+
26
+ Spec::Mocks supports creating Mock Objects, Stubs, and adding Mock/Stub
27
+ behaviour to your existing objects.
28
+
29
+ == INSTALL:
30
+
31
+ [sudo] gem install rspec
32
+
33
+ or
34
+
35
+ git clone git://github.com/dchelimsky/rspec.git
36
+ cd rspec
37
+ rake gem
38
+ rake install_gem
39
+
40
+ == LICENSE:
41
+
42
+ (The MIT License)
43
+
1
44
  Copyright (c) 2005-2008 The RSpec Development Team
2
45
 
3
46
  Permission is hereby granted, free of charge, to any person obtaining
data/Rakefile CHANGED
@@ -1,105 +1,60 @@
1
- $:.unshift('lib')
1
+ # -*- ruby -*-
2
+
3
+ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
2
4
  require 'rubygems'
3
- require 'rake/gempackagetask'
4
- require 'rake/contrib/rubyforgepublisher'
5
- require 'rake/clean'
6
- require 'rake/rdoctask'
7
- require 'rake/testtask'
5
+ require 'hoe'
8
6
  require 'spec/version'
9
- dir = File.dirname(__FILE__)
7
+ require 'spec/rake/spectask'
8
+
9
+ class Hoe
10
+ def extra_deps
11
+ @extra_deps.reject! { |x| Array(x).first == 'hoe' }
12
+ @extra_deps
13
+ end
14
+ end
15
+
16
+ Hoe.new('rspec', Spec::VERSION::STRING) do |p|
17
+ p.summary = Spec::VERSION::SUMMARY
18
+ p.url = 'http://rspec.info/'
19
+ p.description = "Behaviour Driven Development for Ruby."
20
+ p.rubyforge_name = 'rspec'
21
+ p.developer('RSpec Development Team', 'rspec-devel@rubyforge.org')
22
+ p.spec_extras = { :to_ruby => lambda { |str| File.open("rspec.gemspec", "w+"){ |f| f.puts str } } }
23
+ end
24
+
25
+ ['audit','test','test_deps','default','publish_docs','post_blog'].each do |task|
26
+ Rake.application.instance_variable_get('@tasks').delete(task)
27
+ end
28
+
29
+ task :verify_rcov => [:spec, :stories]
30
+ task :default => :verify_rcov
10
31
 
11
- # Some of the tasks are in separate files since they are also part of the website documentation
32
+ # # Some of the tasks are in separate files since they are also part of the website documentation
12
33
  load File.dirname(__FILE__) + '/rake_tasks/examples.rake'
13
34
  load File.dirname(__FILE__) + '/rake_tasks/examples_with_rcov.rake'
14
35
  load File.dirname(__FILE__) + '/rake_tasks/failing_examples_with_html.rake'
15
36
  load File.dirname(__FILE__) + '/rake_tasks/verify_rcov.rake'
16
37
 
17
- PKG_NAME = "rspec"
18
- PKG_VERSION = Spec::VERSION::STRING
19
- PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
20
- PKG_FILES = FileList[
21
- '[A-Z]*',
22
- 'lib/**/*.rb',
23
- 'spec/**/*',
24
- 'examples/**/*',
25
- 'failing_examples/**/*',
26
- 'plugins/**/*',
27
- 'stories/**/*',
28
- 'rake_tasks/**/*'
29
- ]
30
-
31
- task :default => [:verify_rcov]
32
- task :verify_rcov => [:spec, :stories]
33
-
34
38
  desc "Run all specs"
35
39
  Spec::Rake::SpecTask.new do |t|
36
40
  t.spec_files = FileList['spec/**/*_spec.rb']
37
41
  t.spec_opts = ['--options', 'spec/spec.opts']
38
42
  unless ENV['NO_RCOV']
39
43
  t.rcov = true
40
- t.rcov_dir = '../doc/output/coverage'
41
- t.rcov_opts = ['--exclude', 'spec\/spec,bin\/spec,examples,\/var\/lib\/gems,\/Library\/Ruby,\.autotest']
44
+ t.rcov_dir = 'coverage'
45
+ t.rcov_opts = ['--exclude', "lib/spec.rb,lib/spec/runner.rb,spec\/spec,bin\/spec,examples,\/var\/lib\/gems,\/Library\/Ruby,\.autotest,#{ENV['GEM_HOME']}"]
42
46
  end
43
47
  end
44
48
 
45
49
  desc "Run all stories"
46
50
  task :stories do
47
- html = 'story_server/prototype/rspec_stories.html'
48
- ruby "stories/all.rb --colour --format plain --format html:#{html}"
49
- unless IO.read(html) =~ /<span class="param">/m
50
- raise 'highlighted parameters are broken in story HTML'
51
- end
51
+ ruby "stories/all.rb --colour --format plain"
52
52
  end
53
53
 
54
- desc "Run all specs and store html output in doc/output/report.html"
55
- Spec::Rake::SpecTask.new('spec_html') do |t|
56
- t.spec_files = FileList['spec/**/*_spec.rb']
57
- t.spec_opts = ['--format html:../../../../doc/output/report.html', '--format progress','--backtrace']
58
- end
59
-
60
- desc "Run all failing examples"
54
+ desc "Run failing examples (see failure output)"
61
55
  Spec::Rake::SpecTask.new('failing_examples') do |t|
62
56
  t.spec_files = FileList['failing_examples/**/*_spec.rb']
63
- end
64
-
65
- desc 'Generate RDoc'
66
- rd = Rake::RDocTask.new do |rdoc|
67
- rdoc.rdoc_dir = '../doc/output/rdoc'
68
- rdoc.options << '--title' << 'RSpec' << '--line-numbers' << '--inline-source' << '--main' << 'README'
69
- rdoc.rdoc_files.include('README', 'CHANGES', 'MIT-LICENSE', 'UPGRADE', 'lib/**/*.rb')
70
- end
71
-
72
- spec = Gem::Specification.new do |s|
73
- s.name = PKG_NAME
74
- s.version = PKG_VERSION
75
- s.summary = Spec::VERSION::DESCRIPTION
76
- s.description = <<-EOF
77
- RSpec is a behaviour driven development (BDD) framework for Ruby. RSpec was
78
- created in response to Dave Astels' article _A New Look at Test Driven Development_
79
- which can be read at: http://daveastels.com/index.php?p=5 RSpec is intended to
80
- provide the features discussed in Dave's article.
81
- EOF
82
-
83
- s.files = PKG_FILES.to_a
84
- s.require_path = 'lib'
85
-
86
- s.has_rdoc = true
87
- s.rdoc_options = rd.options
88
- s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$|^EXAMPLES.rd$/ }.to_a
89
-
90
- s.bindir = 'bin'
91
- s.executables = ['spec', 'spec_translator']
92
- s.default_executable = 'spec'
93
- s.author = "RSpec Development Team"
94
- s.email = "rspec-devel@rubyforge.org"
95
- s.homepage = "http://rspec.rubyforge.org"
96
- s.platform = Gem::Platform::RUBY
97
- s.rubyforge_project = "rspec"
98
- end
99
-
100
- Rake::GemPackageTask.new(spec) do |pkg|
101
- pkg.need_zip = true
102
- pkg.need_tar = true
57
+ t.spec_opts = ['--options', 'spec/spec.opts']
103
58
  end
104
59
 
105
60
  def egrep(pattern)
@@ -121,142 +76,14 @@ task :todo do
121
76
  egrep /(FIXME|TODO|TBD)/
122
77
  end
123
78
 
124
- task :release => [:verify_committed, :verify_user, :spec, :publish_packages, :tag, :publish_news]
79
+ desc "verify_committed, verify_rcov, post_news, release"
80
+ task :complete_release => [:verify_committed, :verify_rcov, :post_news, :release]
125
81
 
126
82
  desc "Verifies that there is no uncommitted code"
127
83
  task :verify_committed do
128
- # IO.popen('git status') do |io|
129
- # io.each_line do |line|
130
- # raise "\n!!! Do a git commit first !!!\n\n" if line =~ /^#\s*modified:/
131
- # end
132
- # end
133
- end
134
-
135
- desc "Creates a tag in svn"
136
- task :tag do
137
- # from = `svn info #{File.dirname(__FILE__)}`.match(/URL: (.*)\/rspec/n)[1]
138
- # to = from.gsub(/trunk/, "tags/#{Spec::VERSION::TAG}")
139
- # current = from.gsub(/trunk/, "tags/CURRENT")
140
- #
141
- # puts "Creating tag in SVN"
142
- # tag_cmd = "svn cp #{from} #{to} -m \"Tag release #{Spec::VERSION::FULL_VERSION}\""
143
- # `#{tag_cmd}` ; raise "ERROR: #{tag_cmd}" unless $? == 0
144
- #
145
- # puts "Removing CURRENT"
146
- # remove_current_cmd = "svn rm #{current} -m \"Remove tags/CURRENT\""
147
- # `#{remove_current_cmd}` ; raise "ERROR: #{remove_current_cmd}" unless $? == 0
148
- #
149
- # puts "Re-Creating CURRENT"
150
- # create_current_cmd = "svn cp #{to} #{current} -m \"Copy #{Spec::VERSION::TAG} to tags/CURRENT\""
151
- # `#{create_current_cmd}` ; "ERROR: #{create_current_cmd}" unless $? == 0
152
- end
153
-
154
- task :verify_user do
155
- raise "RUBYFORGE_USER environment variable not set!" unless ENV['RUBYFORGE_USER']
156
- end
157
-
158
- desc "Upload Website to RubyForge"
159
- task :publish_website => [:verify_user, :website] do
160
- unless Spec::VERSION::RELEASE_CANDIDATE
161
- publisher = Rake::SshDirPublisher.new(
162
- "rspec-website@rubyforge.org",
163
- "/var/www/gforge-projects/#{PKG_NAME}",
164
- "../doc/output"
165
- )
166
- publisher.upload
167
- else
168
- puts "** Not publishing packages to RubyForge - this is a prerelease"
169
- end
170
- end
171
-
172
- desc "Upload Website archive to RubyForge"
173
- task :archive_website => [:verify_user, :website] do
174
- publisher = Rake::SshDirPublisher.new(
175
- "rspec-website@rubyforge.org",
176
- "/var/www/gforge-projects/#{PKG_NAME}/#{Spec::VERSION::TAG}",
177
- "../doc/output"
178
- )
179
- publisher.upload
180
- end
181
-
182
- desc "Package the Rails plugin"
183
- task :package_rspec_on_rails do
184
- mkdir 'pkg' rescue nil
185
- rm_rf "pkg/rspec-rails-#{PKG_VERSION}" rescue nil
186
- `git clone ../rspec-rails pkg/rspec-rails-#{PKG_VERSION}`
187
- rm_rf "pkg/rspec-rails-#{PKG_VERSION}/.git"
188
- Dir.chdir 'pkg' do
189
- `tar cvzf rspec-rails-#{PKG_VERSION}.tgz rspec-rails-#{PKG_VERSION}`
190
- end
191
- end
192
- task :pkg => :package_rspec_on_rails
193
-
194
- desc "Package the RSpec.tmbundle"
195
- task :package_tmbundle do
196
- mkdir 'pkg' rescue nil
197
- rm_rf "pkg/RSpec-#{PKG_VERSION}.tmbundle" rescue nil
198
- `git clone ../../../../RSpec.tmbundle pkg/RSpec-#{PKG_VERSION}.tmbundle`
199
- rm_rf "pkg/RSpec-#{PKG_VERSION}.tmbundle/.git"
200
- Dir.chdir 'pkg' do
201
- `tar cvzf RSpec-#{PKG_VERSION}.tmbundle.tgz RSpec-#{PKG_VERSION}.tmbundle`
202
- end
203
- end
204
- task :pkg => :package_tmbundle
205
-
206
- desc "Publish gem+tgz+zip on RubyForge. You must make sure lib/version.rb is aligned with the CHANGELOG file"
207
- task :publish_packages => [:verify_user, :package, :pkg] do
208
- release_files = FileList[
209
- "pkg/#{PKG_FILE_NAME}.gem",
210
- "pkg/#{PKG_FILE_NAME}.tgz",
211
- "pkg/rspec-rails-#{PKG_VERSION}.tgz",
212
- "pkg/#{PKG_FILE_NAME}.zip",
213
- "pkg/RSpec-#{PKG_VERSION}.tmbundle.tgz"
214
- ]
215
- unless Spec::VERSION::RELEASE_CANDIDATE
216
- require 'meta_project'
217
- require 'rake/contrib/xforge'
218
-
219
- Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(PKG_NAME)) do |xf|
220
- # Never hardcode user name and password in the Rakefile!
221
- xf.user_name = ENV['RUBYFORGE_USER']
222
- xf.files = release_files.to_a
223
- xf.release_name = "RSpec #{PKG_VERSION}"
224
- end
225
- else
226
- puts "SINCE THIS IS A PRERELEASE, FILES ARE UPLOADED WITH SSH, NOT TO THE RUBYFORGE FILE SECTION"
227
- puts "YOU MUST TYPE THE PASSWORD #{release_files.length} TIMES..."
228
-
229
- host = "rspec-website@rubyforge.org"
230
- remote_dir = "/var/www/gforge-projects/#{PKG_NAME}"
231
-
232
- publisher = Rake::SshFilePublisher.new(
233
- host,
234
- remote_dir,
235
- File.dirname(__FILE__),
236
- *release_files
237
- )
238
- publisher.upload
239
-
240
- puts "UPLADED THE FOLLOWING FILES:"
241
- release_files.each do |file|
242
- name = file.match(/pkg\/(.*)/)[1]
243
- puts "* http://rspec.rubyforge.org/#{name}"
244
- end
245
-
246
- puts "They are not linked to anywhere, so don't forget to tell people!"
247
- end
248
- end
249
-
250
- desc "Publish news on RubyForge"
251
- task :publish_news => [:verify_user] do
252
- unless Spec::VERSION::RELEASE_CANDIDATE
253
- require 'meta_project'
254
- require 'rake/contrib/xforge'
255
- Rake::XForge::NewsPublisher.new(MetaProject::Project::XForge::RubyForge.new(PKG_NAME)) do |news|
256
- # Never hardcode user name and password in the Rakefile!
257
- news.user_name = ENV['RUBYFORGE_USER']
84
+ IO.popen('git status') do |io|
85
+ io.each_line do |line|
86
+ raise "\n!!! Do a git commit first !!!\n\n" if line =~ /^#\s*modified:/
258
87
  end
259
- else
260
- puts "** Not publishing news to RubyForge - this is a prerelease"
261
88
  end
262
89
  end