rspec-rails-w-factory_girl 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. data/.document +7 -0
  2. data/Contribute.rdoc +4 -0
  3. data/History.rdoc +310 -0
  4. data/License.txt +33 -0
  5. data/Manifest.txt +166 -0
  6. data/README.rdoc +45 -0
  7. data/Rakefile +72 -0
  8. data/TODO.txt +17 -0
  9. data/Upgrade.rdoc +148 -0
  10. data/generators/integration_spec/integration_spec_generator.rb +10 -0
  11. data/generators/integration_spec/templates/integration_spec.rb +4 -0
  12. data/generators/rspec/CHANGES +1 -0
  13. data/generators/rspec/rspec_generator.rb +73 -0
  14. data/generators/rspec/templates/previous_failures.txt +0 -0
  15. data/generators/rspec/templates/rcov.opts +2 -0
  16. data/generators/rspec/templates/rspec.rake +144 -0
  17. data/generators/rspec/templates/script/autospec +6 -0
  18. data/generators/rspec/templates/script/spec +10 -0
  19. data/generators/rspec/templates/spec.opts +4 -0
  20. data/generators/rspec/templates/spec_helper.rb +54 -0
  21. data/generators/rspec_controller/USAGE +33 -0
  22. data/generators/rspec_controller/rspec_controller_generator.rb +47 -0
  23. data/generators/rspec_controller/templates/controller_spec.rb +25 -0
  24. data/generators/rspec_controller/templates/helper_spec.rb +11 -0
  25. data/generators/rspec_controller/templates/view_spec.rb +12 -0
  26. data/generators/rspec_default_values.rb +28 -0
  27. data/generators/rspec_model/USAGE +18 -0
  28. data/generators/rspec_model/rspec_model_generator.rb +34 -0
  29. data/generators/rspec_model/templates/factories.rb +8 -0
  30. data/generators/rspec_model/templates/model_spec.rb +13 -0
  31. data/generators/rspec_scaffold/rspec_scaffold_generator.rb +154 -0
  32. data/generators/rspec_scaffold/templates/controller_spec.rb +131 -0
  33. data/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
  34. data/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
  35. data/generators/rspec_scaffold/templates/index_erb_spec.rb +27 -0
  36. data/generators/rspec_scaffold/templates/new_erb_spec.rb +25 -0
  37. data/generators/rspec_scaffold/templates/routing_spec.rb +33 -0
  38. data/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
  39. data/init.rb +9 -0
  40. data/lib/autotest/discover.rb +5 -0
  41. data/lib/autotest/rails_rspec.rb +76 -0
  42. data/lib/spec/rails/example/assigns_hash_proxy.rb +39 -0
  43. data/lib/spec/rails/example/controller_example_group.rb +285 -0
  44. data/lib/spec/rails/example/cookies_proxy.rb +29 -0
  45. data/lib/spec/rails/example/functional_example_group.rb +106 -0
  46. data/lib/spec/rails/example/helper_example_group.rb +153 -0
  47. data/lib/spec/rails/example/integration_example_group.rb +16 -0
  48. data/lib/spec/rails/example/model_example_group.rb +15 -0
  49. data/lib/spec/rails/example/render_observer.rb +80 -0
  50. data/lib/spec/rails/example/routing_example_group.rb +13 -0
  51. data/lib/spec/rails/example/routing_helpers.rb +66 -0
  52. data/lib/spec/rails/example/view_example_group.rb +199 -0
  53. data/lib/spec/rails/example.rb +48 -0
  54. data/lib/spec/rails/extensions/action_controller/rescue.rb +42 -0
  55. data/lib/spec/rails/extensions/action_controller/test_case.rb +16 -0
  56. data/lib/spec/rails/extensions/action_controller/test_response.rb +21 -0
  57. data/lib/spec/rails/extensions/action_view/base.rb +35 -0
  58. data/lib/spec/rails/extensions/active_record/base.rb +45 -0
  59. data/lib/spec/rails/extensions/active_support/test_case.rb +7 -0
  60. data/lib/spec/rails/extensions/spec/matchers/have.rb +23 -0
  61. data/lib/spec/rails/extensions/spec/runner/configuration.rb +44 -0
  62. data/lib/spec/rails/extensions.rb +11 -0
  63. data/lib/spec/rails/interop/testcase.rb +14 -0
  64. data/lib/spec/rails/matchers/ar_be_valid.rb +27 -0
  65. data/lib/spec/rails/matchers/assert_select.rb +180 -0
  66. data/lib/spec/rails/matchers/change.rb +13 -0
  67. data/lib/spec/rails/matchers/have_text.rb +57 -0
  68. data/lib/spec/rails/matchers/include_text.rb +54 -0
  69. data/lib/spec/rails/matchers/redirect_to.rb +126 -0
  70. data/lib/spec/rails/matchers/render_template.rb +129 -0
  71. data/lib/spec/rails/matchers/route_to.rb +149 -0
  72. data/lib/spec/rails/matchers.rb +32 -0
  73. data/lib/spec/rails/mocks.rb +136 -0
  74. data/lib/spec/rails/version.rb +16 -0
  75. data/lib/spec/rails.rb +26 -0
  76. data/spec/autotest/mappings_spec.rb +86 -0
  77. data/spec/rails_suite.rb +7 -0
  78. data/spec/resources/controllers/action_view_base_spec_controller.rb +2 -0
  79. data/spec/resources/controllers/application.rb +9 -0
  80. data/spec/resources/controllers/controller_spec_controller.rb +127 -0
  81. data/spec/resources/controllers/example.txt +1 -0
  82. data/spec/resources/controllers/redirect_spec_controller.rb +70 -0
  83. data/spec/resources/controllers/render_spec_controller.rb +34 -0
  84. data/spec/resources/controllers/rjs_spec_controller.rb +58 -0
  85. data/spec/resources/helpers/addition_helper.rb +5 -0
  86. data/spec/resources/helpers/explicit_helper.rb +46 -0
  87. data/spec/resources/helpers/more_explicit_helper.rb +5 -0
  88. data/spec/resources/helpers/plugin_application_helper.rb +6 -0
  89. data/spec/resources/helpers/view_spec_helper.rb +13 -0
  90. data/spec/resources/models/animal.rb +4 -0
  91. data/spec/resources/models/person.rb +18 -0
  92. data/spec/resources/models/thing.rb +3 -0
  93. data/spec/resources/views/controller_spec/_partial.html.erb +0 -0
  94. data/spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb +1 -0
  95. data/spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb +1 -0
  96. data/spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb +0 -0
  97. data/spec/resources/views/controller_spec/action_with_errors_in_template.html.erb +1 -0
  98. data/spec/resources/views/controller_spec/action_with_template.html.erb +1 -0
  99. data/spec/resources/views/layouts/application.html.erb +0 -0
  100. data/spec/resources/views/layouts/simple.html.erb +0 -0
  101. data/spec/resources/views/objects/_object.html.erb +1 -0
  102. data/spec/resources/views/render_spec/_a_partial.html.erb +0 -0
  103. data/spec/resources/views/render_spec/action_with_alternate_layout.html.erb +0 -0
  104. data/spec/resources/views/render_spec/some_action.html.erb +0 -0
  105. data/spec/resources/views/render_spec/some_action.js.rjs +1 -0
  106. data/spec/resources/views/rjs_spec/_replacement_partial.html.erb +1 -0
  107. data/spec/resources/views/rjs_spec/hide_div.js.rjs +1 -0
  108. data/spec/resources/views/rjs_spec/hide_page_element.js.rjs +1 -0
  109. data/spec/resources/views/rjs_spec/insert_html.js.rjs +1 -0
  110. data/spec/resources/views/rjs_spec/replace.js.rjs +1 -0
  111. data/spec/resources/views/rjs_spec/replace_html.js.rjs +1 -0
  112. data/spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs +1 -0
  113. data/spec/resources/views/rjs_spec/visual_effect.js.rjs +1 -0
  114. data/spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs +1 -0
  115. data/spec/resources/views/tag_spec/no_tags.html.erb +1 -0
  116. data/spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb +1 -0
  117. data/spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb +1 -0
  118. data/spec/resources/views/view_spec/_partial.html.erb +2 -0
  119. data/spec/resources/views/view_spec/_partial_used_twice.html.erb +0 -0
  120. data/spec/resources/views/view_spec/_partial_with_local_variable.html.erb +1 -0
  121. data/spec/resources/views/view_spec/_partial_with_sub_partial.html.erb +1 -0
  122. data/spec/resources/views/view_spec/_spacer.html.erb +1 -0
  123. data/spec/resources/views/view_spec/accessor.html.erb +6 -0
  124. data/spec/resources/views/view_spec/block_helper.html.erb +3 -0
  125. data/spec/resources/views/view_spec/entry_form.html.erb +2 -0
  126. data/spec/resources/views/view_spec/explicit_helper.html.erb +2 -0
  127. data/spec/resources/views/view_spec/foo/show.html.erb +1 -0
  128. data/spec/resources/views/view_spec/implicit_helper.html.erb +2 -0
  129. data/spec/resources/views/view_spec/multiple_helpers.html.erb +3 -0
  130. data/spec/resources/views/view_spec/path_params.html.erb +1 -0
  131. data/spec/resources/views/view_spec/should_not_receive.html.erb +3 -0
  132. data/spec/resources/views/view_spec/template_with_partial.html.erb +5 -0
  133. data/spec/resources/views/view_spec/template_with_partial_using_collection.html.erb +3 -0
  134. data/spec/resources/views/view_spec/template_with_partial_with_array.html.erb +1 -0
  135. data/spec/resources/views/view_spec/view_helpers.html.erb +1 -0
  136. data/spec/spec/rails/example/assigns_hash_proxy_spec.rb +109 -0
  137. data/spec/spec/rails/example/configuration_spec.rb +65 -0
  138. data/spec/spec/rails/example/controller_example_group_spec.rb +307 -0
  139. data/spec/spec/rails/example/controller_isolation_spec.rb +75 -0
  140. data/spec/spec/rails/example/cookies_proxy_spec.rb +87 -0
  141. data/spec/spec/rails/example/error_handling_spec.rb +90 -0
  142. data/spec/spec/rails/example/example_group_factory_spec.rb +112 -0
  143. data/spec/spec/rails/example/helper_example_group_spec.rb +247 -0
  144. data/spec/spec/rails/example/model_example_group_spec.rb +32 -0
  145. data/spec/spec/rails/example/routing_example_group_spec.rb +10 -0
  146. data/spec/spec/rails/example/shared_routing_example_group_examples.rb +237 -0
  147. data/spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
  148. data/spec/spec/rails/example/view_example_group_spec.rb +346 -0
  149. data/spec/spec/rails/extensions/action_view_base_spec.rb +79 -0
  150. data/spec/spec/rails/extensions/active_record_spec.rb +14 -0
  151. data/spec/spec/rails/interop/testcase_spec.rb +70 -0
  152. data/spec/spec/rails/matchers/ar_be_valid_spec.rb +19 -0
  153. data/spec/spec/rails/matchers/assert_select_spec.rb +835 -0
  154. data/spec/spec/rails/matchers/errors_on_spec.rb +37 -0
  155. data/spec/spec/rails/matchers/have_text_spec.rb +69 -0
  156. data/spec/spec/rails/matchers/include_text_spec.rb +62 -0
  157. data/spec/spec/rails/matchers/redirect_to_spec.rb +253 -0
  158. data/spec/spec/rails/matchers/render_template_spec.rb +208 -0
  159. data/spec/spec/rails/matchers/should_change_spec.rb +15 -0
  160. data/spec/spec/rails/mocks/ar_classes.rb +10 -0
  161. data/spec/spec/rails/mocks/mock_model_spec.rb +109 -0
  162. data/spec/spec/rails/mocks/stub_model_spec.rb +80 -0
  163. data/spec/spec/rails/sample_modified_fixture.rb +8 -0
  164. data/spec/spec/rails/sample_spec.rb +8 -0
  165. data/spec/spec/rails/spec_spec.rb +11 -0
  166. data/spec/spec_helper.rb +78 -0
  167. metadata +301 -0
data/.document ADDED
@@ -0,0 +1,7 @@
1
+ lib/**/*.rb
2
+ History.rdoc
3
+ License.txt
4
+ README.rdoc
5
+ Upgrade.rdoc
6
+ features/**/*.feature
7
+
data/Contribute.rdoc ADDED
@@ -0,0 +1,4 @@
1
+ == Contribute
2
+
3
+ If you're interested in contributing to rspec-rails, please see
4
+ http://wiki.github.com/dchelimsky/rspec-dev for information.
data/History.rdoc ADDED
@@ -0,0 +1,310 @@
1
+ === Version 1.3.3 /
2
+
3
+ * bug fix
4
+ * support message expectation on template.render with locals (Sergey
5
+ Nebolsin). Closes #941.
6
+ * helper instance variable no longer persists across examples
7
+ (alex rothenberg). Closes #627.
8
+
9
+ === Version 1.3.2 / 2010-01-13
10
+
11
+ * bug fix
12
+ * generator only adds code for rspec-rails
13
+ * which depends on rspec
14
+
15
+ === Version 1.3.1 / 2010-01-12
16
+
17
+ * bug fix
18
+ * ensure that Spec::Rails module is defined (Jack Chen and Ryan Bigg).
19
+ Closes #939.
20
+
21
+ === Version 1.3.0 / 2010-01-11
22
+
23
+ * enhancements
24
+ * use stub() instead of stub!() in generators
25
+ * generate gem config in test.rb with 'script/generate rspec'
26
+
27
+ === Version 1.2.9 / 2009-10-05
28
+
29
+ * enhancements
30
+ * added route_to and be_routable matchers (Randy Harmon). Closes #843.
31
+ * Provide better failure message for render_template when redirected (Josh
32
+ Nichols). Closes #885.
33
+ * generated specs require 'spec_helper'
34
+
35
+ * bug fixes
36
+ * pass the correct args to super in controller#render depending on the rails
37
+ version (Lucas Carlson). Closes #865.
38
+ * use Rack::Utils.parse_query to convert query strings to hashes. Closes #872.
39
+ * errors correctly bubble up when a controller spec in isolation mode
40
+ requests a non-existent action/template
41
+ * no error if either action or template exist
42
+ * error if neither exist
43
+ * Closes #888.
44
+ * mock_model stubs destroyed? to return false
45
+
46
+ * removals
47
+ * spec_server has been removed in favor of spork.
48
+ * You can still use the --drb flag, but you've got to install the spork
49
+ gem.
50
+ * Windows users who cannot use the spork gem can install the spec_server
51
+ from http://github.com/dchelimsky/spec_server
52
+
53
+ === Version 1.2.7 / 2009-06-22
54
+
55
+ * enhancements
56
+ * alias :stub!, :stub so rspec-rails extensions of rspec stubs can use the
57
+ same syntax as rspec (core)
58
+ * integration specs (Ben Mabey and David Chelimsky)
59
+ * added support for references and belongs_to generated model specs (José
60
+ Valim). Closes #792.
61
+ * add discovery for autotest-rails to keep compatible with ZenTest-4.0.0
62
+ (Ryan Davis). Closes #838.
63
+ * controller specs in isolation mode don't care whether the file exists
64
+ anymore!
65
+
66
+ * bug fixes
67
+ * allow rspec-rails to work without ActiveRecord. Closes #810.
68
+ * fix bug with have() matcher failure message (Dave Giunta). Closes #818.
69
+ * fix bug where render_template('new') would pass if 'newer' was rendered
70
+ (or anything that started with 'new')
71
+
72
+ * deprecations
73
+ * spec_server is now deprecated - use spork instead (gem install spork).
74
+ Closes #827.
75
+
76
+ === Version 1.2.6 / 2009-04-30
77
+
78
+ * bug fixes
79
+ * restored rake tasks for rspec[-rails] as plugins
80
+
81
+ === Version 1.2.5 / 2009-04-29
82
+
83
+ * enhancements
84
+ * support :xml and :strict config options for have_tag matcher (patch from
85
+ Peer Allan and Max Murphy). Closes #783.
86
+
87
+ * bug fixes
88
+ * Fixed a small typo that makes rake stats fail (José Valim). Closes #802.
89
+ * link_to and friends are available to ViewExampleGroup again
90
+ (J.B. Rainsberger). Closes #787.
91
+ * spec_server works correctly with rails 2.3 again (Neil Buckley). Closes
92
+ #759.
93
+
94
+ === Version 1.2.4 / 2009-03-13
95
+
96
+ No changes in this release, but aligns with the rspec-1.2.4 release. Someday
97
+ soon, this binding of rspec/rspec-rails versions needs to end!
98
+
99
+ === Version 1.2.3 / 2009-03-13
100
+
101
+ No changes in this release, but aligns with the rspec-1.2.3 release.
102
+
103
+ === Version 1.2.2 / 2009-03-22
104
+
105
+ No changes in this release, but aligns with the rspec-1.2.2 release.
106
+
107
+ === Version 1.2.1 / 2009-03-22
108
+
109
+ This is a bug-fix release, recommended for anybody who has already upgraded to
110
+ rspec-rails-1.2.0 or is upgrading to rails-2.3.2
111
+
112
+ See Upgrade.rdoc for information about upgrading to rspec-rails-1.2.1
113
+
114
+ * enhancements
115
+
116
+ * more cleanup of internals (reducing dependency on rspec-core)
117
+ * don't require config/environments more than once
118
+ * autotest includes spec/routing directory (Matt Peterson). Closes #739.
119
+ * display helpful messages when installing rspec-rails running
120
+ script/generate rspec
121
+ * thanks for Dr Nic for the pointers
122
+ * restored require 'rubygems' where needed
123
+ * export NO_RUBYGEMS=true if you don't use rubygems
124
+
125
+ * bug fixes
126
+
127
+ * fix scoping issues in rspec-rails' own suite for ruby 1.9.1 (Matthias
128
+ Hennemeyer). Closes #717.
129
+ * rake stats no longer hides test directories. Closes #748.
130
+ * fixed regression that was introduced in 1.2 in which controller_name
131
+ failed to override the controller class passed to describe() (patches from
132
+ Aaron Gibralter and Zach Dennis). Closes #732.
133
+
134
+ === Version 1.2.0 / 2009-03-15
135
+
136
+ IMPORTANT: See Upgrade.rdoc for information about upgrading to rspec-rails-1.2.0
137
+
138
+ IMPORTANT: This release includes the following backwards-compatibility-breaking changes.
139
+
140
+ * rspec-rails supports rails 2.0.2, 2.1.2, 2.2.2 and 2.3.2
141
+
142
+ * We are no longer supporting 1.x versions of rails.
143
+
144
+ * expect_render and stub_render have been removed.
145
+
146
+ * Both of these methods were deprecated in rspec-rails-1.1.5, released in Sept, 2008.
147
+
148
+ * { route_for(args).should == "/path" } now delegates to assert_generates (in rails)
149
+
150
+ * see Upgrade.txt for more information
151
+
152
+ * deprecations
153
+
154
+ * controller.use_rails_error_handling! is deprecated
155
+ * use rescue_action_in_public! (from rails) instead
156
+
157
+ * enhancements
158
+
159
+ * Adding status codes to redirect_to matcher (Damian Janowski). Closes #570.
160
+ * Initialize current URL before executing any examples in a ViewExampleGroup (Wilson Bilkovich). Closes #654.
161
+ * Support query strings in params_from (Wilson Bilkovich). Closes #652.
162
+ * delegate route_for to assert_recognizes (less brittle)
163
+ * it { should be_valid } (Kakutani). Closes #665.
164
+ * controller is implicit subject in controller specs (Joe Ferris). #686.
165
+ * template is implicit subject in view specs (Joe Ferris). #686.
166
+ * redirect_to and render_template matchers can accept controller or response (Joe Ferris). Closes #686.
167
+ * generated specs use declarative docstrings
168
+ * rspec_scaffold generator generates layout and stylesheet (per Rails-2.3)
169
+ * add bypass_rescue for controller specs
170
+ * infer template path from the first arg passed to describe in view specs
171
+ * separate routing specs (in spec/routing)
172
+
173
+ * bug fixes
174
+
175
+ * you no longer *have* to load ActionMailer to get specs to run. Closes #650.
176
+ * query_params are now parsed by Rack::Utils.parse_query in redirect_to matcher. Closes #684.
177
+ * cleaned up spec_server (there was a bunch of pre-rails 2.0 material). Closes #685.
178
+ * rspec's rake tasks are not loaded when running "rake gems" or any of its subtasks
179
+ * only warn when rspec is not installed when trying to invoke an rspec rake task
180
+ * support 2 arg version of ActionController::Base#render (reported by Nathan Wilmes)
181
+ * rake spec:server:start doesn't choke if there is no tmp directory
182
+ * force cache_classes = false when running with spec_server. Closes #287.
183
+ * keep spec_server working against edge rails (Jonathan Tron). Closes #685.
184
+ * create lib/tasks if not present when running script/generate rspec. Closes #687.
185
+ * fixed regression (and added spec so it won't regress again) where
186
+ render => :inline didn't render unless integrate_views was set
187
+ * fixed nil.with_output_buffer bug in helper specs. Closes #719.
188
+
189
+ === Version 1.1.12 / 2009-01-11
190
+
191
+ * 2 deprecations
192
+
193
+ * TestResponse#[] is deprecated if you're using Rails <= 2.2.x and removed if you're using Rails 2.3
194
+ * add_stubs(model, {:method => value}) is deprecated. Use model.stub!(:method => value) instead.
195
+
196
+ * 2 major enhancements
197
+
198
+ * support controller and action path params in view specs (Mike Vincent).
199
+ * use ActiveSupport::TestCase when available, else Test::Unit::TestCase - supports Rails 1.2.6 (Brandon Keepers). Closes #620.
200
+ * support form tag helpers in helpers (Ivo Dancet). Closes #641.
201
+
202
+ * 3 minor enhancements
203
+
204
+ * improve rdoc for render_template (Patch from Andrew Premdas). Fixes #571.
205
+ * use more liberal globs to allow for specs in symlinked dirs (Martin Luder). Closes #361.
206
+ * Enable loading fixtures from arbitrary locations (Jacek Becela). Closes #464.
207
+
208
+ * 7 bug fixes
209
+
210
+ * Attempt to load application_controller before falling back to application (Geoff Garside). Closes #626.
211
+ * Include _id and reduce quoting of default values in view specs (Steen Lehmann). Closes #598.
212
+ * Record calls to render and check rendered[:template] and rendered[:partial] for edge rails (> v2.2.2). Closes #633.
213
+ * config.gem 'rspec' can't be unpacked. Closes #629.
214
+ * spec_server not working with Rails 2.2.2 (Andreas Wolff). Closes #631.
215
+ * redirect_to doesn't work with http method constrained urls (Maxim Kulkin). Closes #648.
216
+ * rescue_with declarations are no longer by-passed (Brandon Keepers). #85
217
+
218
+ === Version 1.1.11 / 2008-10-24
219
+
220
+ * No changes to rspec-rails - release to align with bug-fix release in rspec ... again :(
221
+
222
+ === Version 1.1.10 / 2008-10-24
223
+
224
+ * No changes to rspec-rails - release to align with bug-fix release in rspec
225
+
226
+ === Version 1.1.9 / 2008-10-20
227
+
228
+ * 4 bug fixes
229
+
230
+ * require 'rubygems' in script/spec
231
+ * fix failure message for error_on and errors_on (Patch from Mike Vincent). Fixes #566.
232
+ * fix issues that arise in view spec if passing actual template name to render (Patch from Mike Vincent). Fixes #551.
233
+ * fixed bug accessing assigns from helper examples
234
+
235
+ === Version 1.1.8 / 2008-10-03
236
+
237
+ * 2 bug fixes
238
+
239
+ * correctly handle assigns that are false. Fixes #552.
240
+ * ensure that NotYetImplemented examples report as pending (fixed in rspec, not rspec-rails). Fixes #553.
241
+
242
+ === Version 1.1.7 / 2008-10-02
243
+
244
+ * 1 bug fix
245
+
246
+ * depend on the correct version of rspec
247
+
248
+ === Version 1.1.6 / 2008-10-02
249
+
250
+ * 1 bug fix
251
+
252
+ * fixed regression where values assigned to the assigns hash were not accessible from the example (#549)
253
+
254
+ === Version 1.1.5 / 2008-09-28
255
+
256
+ IMPORTANT: use 'script/autospec' (or just 'autospec' if you have the rspec gem
257
+ installed) instead of 'autotest'. We changed the way autotest discovers rspec
258
+ so the autotest executable won't automatically load rspec anymore. This allows
259
+ rspec to live side by side other spec frameworks without always co-opting
260
+ autotest through autotest's discovery mechanism.
261
+
262
+ ALSO IMPORTANT: Rails v2.1.1 changed assert_select_rjs such that it doesn't
263
+ always fail when it should. Please see
264
+ http://rails.lighthouseapp.com/projects/8994/tickets/982.
265
+
266
+ * Generated route specs have shorter names, making it less painful to modify their implementation
267
+ * Add conditional so Rails 2.1.0 doesn't warn about cache_template_extensions (patch from James Herdman)
268
+ * Fixed stub_model examples to work with Rails 2.1.0 (the code was fine, just the examples needed patching)
269
+ * use hoe for build/release
270
+ * reworked generated examples for rspec_scaffold - thanks to Mikel Lindsaar and Dan Manges for their feedback
271
+ * bye, bye translator
272
+ * Added proxy to cookies so you can set them in examples the same way you set them in controllers
273
+ * Added script/autospec so you can run autospec without installing the gem
274
+ * Support --skip-fixture in the rspec_model generator (patches from Alex Tomlins and Niels Ganser)
275
+ * Add mock_model#as_new_record (patch from Zach Dennis)
276
+ * mock(:null_object=>true) plays nice with HTML (patch from Gerrit Kaiser)
277
+ * Suppress a deprecation notice in Rails 2.1 (James Herdman)
278
+ * quiet deprecation warning on inflector (RSL)
279
+ * rspec-rails gem (Ben Mabey)
280
+ * updated generated code examples
281
+ * Make rspec_model generator honour --skip-fixtures tag (Niels Ganser, Alex Tomlins)
282
+ * Fix to create new models with attributes in command line (Nicolas)
283
+ * fix to_param in mock_model with stubbed id incorrectly returning autogenerated id (Adam Meehan)
284
+ * Call Rail's TestCase setup/teardown callbacks (Jonathan del Strother)
285
+ * Only run TestUnitTesting once (Jonathan del Strother)
286
+ * use require_dependency instead of require (Brandon Keepers)
287
+ * Fixed a problem caused by controller action names getting out of sync between rspec-dev and rspec-rails for speccing (Matt Patterson)
288
+ * don't mutate hash passed to mock_model (Reg Vos)
289
+
290
+ === Version 1.1.4
291
+
292
+ Maintenance release.
293
+
294
+ * Moved mock_model and stub_model to their own module: Spec::Rails::Mocks
295
+ * Setting mock_model object id with stubs hash - patch from Adam Meehan
296
+ * Added as_new_record to stub_model e.g. stub_model(Foo).as_new_record
297
+ * Improved stub_model such that new_record? does "the right thing"
298
+ * Patch from Pat Maddox to get integrate_views to work in nested example groups.
299
+ * Patch from Pat Maddox to get controller_name to work in nested example groups.
300
+ * Patch from Corey Haines to add include_text matcher
301
+ * Added stub_model method which creates a real model instance with :id stubbed and data access prohibited.
302
+ * Applied patch from Pat Maddox to handle redirect_to w/ SSL. Closes #320.
303
+ * Added #helper and #assigns to helper specs.
304
+ * Applied patch from Bryan Helmkamp to tweak format of generated spec.opts to be more obvious. Closes #162.
305
+ * Tweaked list of exceptions (ignores) for autotest
306
+ * Applied patch from Rick Olson to get rspec_on_rails working with rails edge (>= 8862)
307
+ * Applied patch from Wincent Colaiuta to invert sense of "spec --diff". Closes #281.
308
+ * Allow any type of render in view specs. Closes #57.
309
+ * Applied patch from Ian White to get rspec working with edge rails (8804). Closes #271.
310
+ * Applied patch from Jon Strother to have spec_server reload fixtures. Closes #344.
data/License.txt ADDED
@@ -0,0 +1,33 @@
1
+ (The MIT License)
2
+
3
+ ====================================================================
4
+ ==== RSpec, RSpec-Rails
5
+ Copyright (c) 2005-2009 The RSpec Development Team
6
+ ====================================================================
7
+ ==== ARTS
8
+ Copyright (c) 2006 Kevin Clark, Jake Howerton
9
+ ====================================================================
10
+ ==== ZenTest
11
+ Copyright (c) 2001-2006 Ryan Davis, Eric Hodel, Zen Spider Software
12
+ ====================================================================
13
+ ==== AssertSelect
14
+ Copyright (c) 2006 Assaf Arkin
15
+ ====================================================================
16
+
17
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
18
+ this software and associated documentation files (the "Software"), to deal in
19
+ the Software without restriction, including without limitation the rights to
20
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
21
+ of the Software, and to permit persons to whom the Software is furnished to do
22
+ so, subject to the following conditions:
23
+
24
+ The above copyright notice and this permission notice shall be included in all
25
+ copies or substantial portions of the Software.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
30
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
31
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
33
+ SOFTWARE.
data/Manifest.txt ADDED
@@ -0,0 +1,166 @@
1
+ .document
2
+ Contribute.rdoc
3
+ History.rdoc
4
+ License.txt
5
+ Manifest.txt
6
+ README.rdoc
7
+ Rakefile
8
+ TODO.txt
9
+ Upgrade.rdoc
10
+ generators/integration_spec/integration_spec_generator.rb
11
+ generators/integration_spec/templates/integration_spec.rb
12
+ generators/rspec/CHANGES
13
+ generators/rspec/rspec_generator.rb
14
+ generators/rspec/templates/previous_failures.txt
15
+ generators/rspec/templates/rcov.opts
16
+ generators/rspec/templates/rspec.rake
17
+ generators/rspec/templates/script/autospec
18
+ generators/rspec/templates/script/spec
19
+ generators/rspec/templates/spec.opts
20
+ generators/rspec/templates/spec_helper.rb
21
+ generators/rspec_controller/USAGE
22
+ generators/rspec_controller/rspec_controller_generator.rb
23
+ generators/rspec_controller/templates/controller_spec.rb
24
+ generators/rspec_controller/templates/helper_spec.rb
25
+ generators/rspec_controller/templates/view_spec.rb
26
+ generators/rspec_default_values.rb
27
+ generators/rspec_model/USAGE
28
+ generators/rspec_model/rspec_model_generator.rb
29
+ generators/rspec_model/templates/model_spec.rb
30
+ generators/rspec_model/templates/factories.rb
31
+ generators/rspec_scaffold/rspec_scaffold_generator.rb
32
+ generators/rspec_scaffold/templates/controller_spec.rb
33
+ generators/rspec_scaffold/templates/edit_erb_spec.rb
34
+ generators/rspec_scaffold/templates/helper_spec.rb
35
+ generators/rspec_scaffold/templates/index_erb_spec.rb
36
+ generators/rspec_scaffold/templates/new_erb_spec.rb
37
+ generators/rspec_scaffold/templates/routing_spec.rb
38
+ generators/rspec_scaffold/templates/show_erb_spec.rb
39
+ init.rb
40
+ lib/autotest/discover.rb
41
+ lib/autotest/rails_rspec.rb
42
+ lib/spec/rails.rb
43
+ lib/spec/rails/example.rb
44
+ lib/spec/rails/example/assigns_hash_proxy.rb
45
+ lib/spec/rails/example/controller_example_group.rb
46
+ lib/spec/rails/example/cookies_proxy.rb
47
+ lib/spec/rails/example/functional_example_group.rb
48
+ lib/spec/rails/example/helper_example_group.rb
49
+ lib/spec/rails/example/integration_example_group.rb
50
+ lib/spec/rails/example/model_example_group.rb
51
+ lib/spec/rails/example/render_observer.rb
52
+ lib/spec/rails/example/routing_example_group.rb
53
+ lib/spec/rails/example/routing_helpers.rb
54
+ lib/spec/rails/example/view_example_group.rb
55
+ lib/spec/rails/extensions.rb
56
+ lib/spec/rails/extensions/action_controller/rescue.rb
57
+ lib/spec/rails/extensions/action_controller/test_case.rb
58
+ lib/spec/rails/extensions/action_controller/test_response.rb
59
+ lib/spec/rails/extensions/action_view/base.rb
60
+ lib/spec/rails/extensions/active_record/base.rb
61
+ lib/spec/rails/extensions/active_support/test_case.rb
62
+ lib/spec/rails/extensions/spec/matchers/have.rb
63
+ lib/spec/rails/extensions/spec/runner/configuration.rb
64
+ lib/spec/rails/interop/testcase.rb
65
+ lib/spec/rails/matchers.rb
66
+ lib/spec/rails/matchers/ar_be_valid.rb
67
+ lib/spec/rails/matchers/assert_select.rb
68
+ lib/spec/rails/matchers/change.rb
69
+ lib/spec/rails/matchers/have_text.rb
70
+ lib/spec/rails/matchers/include_text.rb
71
+ lib/spec/rails/matchers/redirect_to.rb
72
+ lib/spec/rails/matchers/render_template.rb
73
+ lib/spec/rails/matchers/route_to.rb
74
+ lib/spec/rails/mocks.rb
75
+ lib/spec/rails/version.rb
76
+ spec/autotest/mappings_spec.rb
77
+ spec/rails_suite.rb
78
+ spec/resources/controllers/action_view_base_spec_controller.rb
79
+ spec/resources/controllers/application.rb
80
+ spec/resources/controllers/controller_spec_controller.rb
81
+ spec/resources/controllers/example.txt
82
+ spec/resources/controllers/redirect_spec_controller.rb
83
+ spec/resources/controllers/render_spec_controller.rb
84
+ spec/resources/controllers/rjs_spec_controller.rb
85
+ spec/resources/helpers/addition_helper.rb
86
+ spec/resources/helpers/explicit_helper.rb
87
+ spec/resources/helpers/more_explicit_helper.rb
88
+ spec/resources/helpers/plugin_application_helper.rb
89
+ spec/resources/helpers/view_spec_helper.rb
90
+ spec/resources/models/animal.rb
91
+ spec/resources/models/person.rb
92
+ spec/resources/models/thing.rb
93
+ spec/resources/views/controller_spec/_partial.html.erb
94
+ spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb
95
+ spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb
96
+ spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb
97
+ spec/resources/views/controller_spec/action_with_errors_in_template.html.erb
98
+ spec/resources/views/controller_spec/action_with_template.html.erb
99
+ spec/resources/views/layouts/application.html.erb
100
+ spec/resources/views/layouts/simple.html.erb
101
+ spec/resources/views/objects/_object.html.erb
102
+ spec/resources/views/render_spec/_a_partial.html.erb
103
+ spec/resources/views/render_spec/action_with_alternate_layout.html.erb
104
+ spec/resources/views/render_spec/some_action.html.erb
105
+ spec/resources/views/render_spec/some_action.js.rjs
106
+ spec/resources/views/rjs_spec/_replacement_partial.html.erb
107
+ spec/resources/views/rjs_spec/hide_div.js.rjs
108
+ spec/resources/views/rjs_spec/hide_page_element.js.rjs
109
+ spec/resources/views/rjs_spec/insert_html.js.rjs
110
+ spec/resources/views/rjs_spec/replace.js.rjs
111
+ spec/resources/views/rjs_spec/replace_html.js.rjs
112
+ spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs
113
+ spec/resources/views/rjs_spec/visual_effect.js.rjs
114
+ spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs
115
+ spec/resources/views/tag_spec/no_tags.html.erb
116
+ spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb
117
+ spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb
118
+ spec/resources/views/view_spec/_partial.html.erb
119
+ spec/resources/views/view_spec/_partial_used_twice.html.erb
120
+ spec/resources/views/view_spec/_partial_with_local_variable.html.erb
121
+ spec/resources/views/view_spec/_partial_with_sub_partial.html.erb
122
+ spec/resources/views/view_spec/_spacer.html.erb
123
+ spec/resources/views/view_spec/accessor.html.erb
124
+ spec/resources/views/view_spec/block_helper.html.erb
125
+ spec/resources/views/view_spec/entry_form.html.erb
126
+ spec/resources/views/view_spec/explicit_helper.html.erb
127
+ spec/resources/views/view_spec/foo/show.html.erb
128
+ spec/resources/views/view_spec/implicit_helper.html.erb
129
+ spec/resources/views/view_spec/multiple_helpers.html.erb
130
+ spec/resources/views/view_spec/path_params.html.erb
131
+ spec/resources/views/view_spec/should_not_receive.html.erb
132
+ spec/resources/views/view_spec/template_with_partial.html.erb
133
+ spec/resources/views/view_spec/template_with_partial_using_collection.html.erb
134
+ spec/resources/views/view_spec/template_with_partial_with_array.html.erb
135
+ spec/resources/views/view_spec/view_helpers.html.erb
136
+ spec/spec/rails/example/assigns_hash_proxy_spec.rb
137
+ spec/spec/rails/example/configuration_spec.rb
138
+ spec/spec/rails/example/controller_example_group_spec.rb
139
+ spec/spec/rails/example/controller_isolation_spec.rb
140
+ spec/spec/rails/example/cookies_proxy_spec.rb
141
+ spec/spec/rails/example/error_handling_spec.rb
142
+ spec/spec/rails/example/example_group_factory_spec.rb
143
+ spec/spec/rails/example/helper_example_group_spec.rb
144
+ spec/spec/rails/example/model_example_group_spec.rb
145
+ spec/spec/rails/example/routing_example_group_spec.rb
146
+ spec/spec/rails/example/shared_routing_example_group_examples.rb
147
+ spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb
148
+ spec/spec/rails/example/view_example_group_spec.rb
149
+ spec/spec/rails/extensions/action_view_base_spec.rb
150
+ spec/spec/rails/extensions/active_record_spec.rb
151
+ spec/spec/rails/interop/testcase_spec.rb
152
+ spec/spec/rails/matchers/ar_be_valid_spec.rb
153
+ spec/spec/rails/matchers/assert_select_spec.rb
154
+ spec/spec/rails/matchers/errors_on_spec.rb
155
+ spec/spec/rails/matchers/have_text_spec.rb
156
+ spec/spec/rails/matchers/include_text_spec.rb
157
+ spec/spec/rails/matchers/redirect_to_spec.rb
158
+ spec/spec/rails/matchers/render_template_spec.rb
159
+ spec/spec/rails/matchers/should_change_spec.rb
160
+ spec/spec/rails/mocks/ar_classes.rb
161
+ spec/spec/rails/mocks/mock_model_spec.rb
162
+ spec/spec/rails/mocks/stub_model_spec.rb
163
+ spec/spec/rails/sample_modified_fixture.rb
164
+ spec/spec/rails/sample_spec.rb
165
+ spec/spec/rails/spec_spec.rb
166
+ spec/spec_helper.rb
data/README.rdoc ADDED
@@ -0,0 +1,45 @@
1
+ = Spec::Rails
2
+
3
+ * http://rspec.info
4
+ * http://rubyforge.org/projects/rspec
5
+ * http://github.com/dchelimsky/rspec-rails
6
+ * http://wiki.github.com/dchelimsky/rspec/rails
7
+ * mailto:rspec-devel@rubyforge.org
8
+
9
+ == DESCRIPTION:
10
+
11
+ Behaviour Driven Development for Ruby on Rails.
12
+
13
+ rspec-rails is an RSpec extension that allows you to drive the development of
14
+ Ruby on Rails applications with RSpec.
15
+
16
+ == FEATURES:
17
+
18
+ * Use RSpec to independently specify Rails Models, Views, Controllers and Helpers
19
+ * Integrated fixture loading
20
+ * Special generators for Resources, Models, Views and Controllers that generate RSpec code examples.
21
+
22
+ == VISION:
23
+
24
+ For people for whom TDD is a brand new concept, the testing support built into
25
+ Ruby on Rails is a huge leap forward. The fact that it is built right in is
26
+ fantastic, and Ruby on Rails apps are generally much easier to maintain than
27
+ they might have been without such support.
28
+
29
+ For those of us coming from a history with TDD, and now BDD, the existing
30
+ support presents some problems related to dependencies across examples. To
31
+ that end, RSpec on Rails supports 4 types of examples. We’ve also built in
32
+ first class mocking and stubbing support in order to break dependencies across
33
+ these different concerns.
34
+
35
+ == MORE INFORMATION:
36
+
37
+ See Spec::Rails::Example for information about the different kinds of example
38
+ groups you can use to spec the different Rails components
39
+
40
+ See Spec::Rails::Matchers for information about Rails-specific
41
+ expectations you can set on responses and models, etc.
42
+
43
+ == INSTALL
44
+
45
+ * Visit http://wiki.github.com/dchelimsky/rspec/rails for installation instructions.
data/Rakefile ADDED
@@ -0,0 +1,72 @@
1
+ # -*- ruby -*-
2
+ gem 'hoe', '>=2.0.0'
3
+ require 'hoe'
4
+
5
+ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__),"..","rspec","lib")))
6
+ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__),"lib")))
7
+
8
+ require 'spec/rails/version'
9
+ require 'spec/rake/spectask'
10
+ require 'cucumber/rake/task'
11
+
12
+ Hoe.spec 'rspec-rails-w-factory_girl' do
13
+ self.version = Spec::Rails::VERSION::STRING
14
+ self.summary = Spec::Rails::VERSION::SUMMARY
15
+ self.description = "Behaviour Driven Development for Ruby on Rails."
16
+ self.rubyforge_name = 'rspec'
17
+ self.developer 'RSpec Development Team', 'rspec-devel@rubyforge.org,rspec-rails@robotarmyma.de'
18
+ self.extra_deps = [["rspec",">=1.3.0"],["rack",">=1.0.0"]]
19
+ self.extra_dev_deps = [["cucumber",">= 0.3.99"]]
20
+ self.remote_rdoc_dir = "rspec-rails-w-factory_girl/#{Spec::Rails::VERSION::STRING}"
21
+ self.history_file = 'History.rdoc'
22
+ self.readme_file = 'README.rdoc'
23
+ self.post_install_message = <<-POST_INSTALL_MESSAGE
24
+ #{'*'*50}
25
+
26
+ Thank you for installing rspec-rails-w-factory_girl-#{Spec::Rails::VERSION::STRING}
27
+
28
+ If you are upgrading, do this in each of your rails apps
29
+ that you want to upgrade:
30
+
31
+ $ ruby script/generate rspec
32
+
33
+ Please be sure to read History.rdoc and Upgrade.rdoc
34
+ for useful information about this release.
35
+
36
+ #{'*'*50}
37
+ POST_INSTALL_MESSAGE
38
+ end
39
+
40
+ ['audit','test','test_deps','default','post_blog', 'release'].each do |task|
41
+ Rake.application.instance_variable_get('@tasks').delete(task)
42
+ end
43
+
44
+ task :post_blog do
45
+ # no-op
46
+ end
47
+
48
+ task :release => [:clean, :package] do |t|
49
+ version = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
50
+ abort "Versions don't match #{version} vs #{Spec::Rails::VERSION::STRING}" unless version == Spec::Rails::VERSION::STRING
51
+ pkg = "pkg/rspec-rails-w-factory_girl-#{version}"
52
+
53
+ rubyforge = RubyForge.new.configure
54
+ puts "Logging in to rubyforge ..."
55
+ rubyforge.login
56
+
57
+ puts "Releasing rspec-rails version #{version} ..."
58
+ ["#{pkg}.gem", "#{pkg}.tgz"].each do |file|
59
+ rubyforge.add_file('rspec', 'rspec', Spec::Rails::VERSION::STRING, file)
60
+ end
61
+ end
62
+
63
+ Cucumber::Rake::Task.new
64
+
65
+ task :default => [:features]
66
+
67
+ namespace :update do
68
+ desc "update the manifest"
69
+ task :manifest do
70
+ system %q[touch Manifest.txt; rake check_manifest | grep -v "(in " | patch]
71
+ end
72
+ end
data/TODO.txt ADDED
@@ -0,0 +1,17 @@
1
+ * wiki
2
+ * need a matrix of which rspec-rails versions support which rails versions
3
+ * CI
4
+ * need a robust CI setup that runs
5
+ * Multiple rubies
6
+ * MRI: 1.8.6
7
+ * MRI: 1.8.7
8
+ * MRI: 1.9.1
9
+ * JRuby
10
+ * IronRuby??? (perhaps using mono)
11
+ * Multiple rails-es
12
+ * 2.0.5
13
+ * 2.1.2
14
+ * 2.2.2
15
+ * 2.3.4
16
+ * 3.0 (once available)
17
+ * With and without ActiveRecord