shoulda 2.11.3 → 3.0.0.beta1

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 (262) hide show
  1. data/Gemfile +9 -0
  2. data/Gemfile.lock +108 -0
  3. data/README.md +95 -0
  4. data/Rakefile +6 -50
  5. data/lib/shoulda/version.rb +1 -1
  6. metadata +50 -269
  7. data/README.rdoc +0 -154
  8. data/bin/convert_to_should_syntax +0 -42
  9. data/lib/shoulda.rb +0 -9
  10. data/lib/shoulda/action_controller.rb +0 -34
  11. data/lib/shoulda/action_controller/macros.rb +0 -221
  12. data/lib/shoulda/action_controller/matchers.rb +0 -39
  13. data/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +0 -112
  14. data/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +0 -74
  15. data/lib/shoulda/action_controller/matchers/redirect_to_matcher.rb +0 -62
  16. data/lib/shoulda/action_controller/matchers/render_template_matcher.rb +0 -54
  17. data/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +0 -99
  18. data/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +0 -74
  19. data/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +0 -85
  20. data/lib/shoulda/action_controller/matchers/route_matcher.rb +0 -93
  21. data/lib/shoulda/action_controller/matchers/set_session_matcher.rb +0 -98
  22. data/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +0 -100
  23. data/lib/shoulda/action_mailer.rb +0 -13
  24. data/lib/shoulda/action_mailer/assertions.rb +0 -42
  25. data/lib/shoulda/action_mailer/matchers.rb +0 -22
  26. data/lib/shoulda/action_mailer/matchers/have_sent_email.rb +0 -110
  27. data/lib/shoulda/active_record.rb +0 -16
  28. data/lib/shoulda/active_record/assertions.rb +0 -69
  29. data/lib/shoulda/active_record/helpers.rb +0 -32
  30. data/lib/shoulda/active_record/macros.rb +0 -457
  31. data/lib/shoulda/active_record/matchers.rb +0 -42
  32. data/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +0 -83
  33. data/lib/shoulda/active_record/matchers/allow_value_matcher.rb +0 -110
  34. data/lib/shoulda/active_record/matchers/association_matcher.rb +0 -226
  35. data/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +0 -87
  36. data/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +0 -141
  37. data/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +0 -169
  38. data/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +0 -112
  39. data/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +0 -59
  40. data/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +0 -41
  41. data/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +0 -65
  42. data/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +0 -39
  43. data/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +0 -60
  44. data/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +0 -148
  45. data/lib/shoulda/active_record/matchers/validation_matcher.rb +0 -56
  46. data/lib/shoulda/assertions.rb +0 -79
  47. data/lib/shoulda/autoload_macros.rb +0 -46
  48. data/lib/shoulda/context.rb +0 -433
  49. data/lib/shoulda/helpers.rb +0 -8
  50. data/lib/shoulda/integrations/rspec.rb +0 -13
  51. data/lib/shoulda/integrations/rspec2.rb +0 -22
  52. data/lib/shoulda/integrations/test_unit.rb +0 -22
  53. data/lib/shoulda/macros.rb +0 -161
  54. data/lib/shoulda/private_helpers.rb +0 -13
  55. data/lib/shoulda/proc_extensions.rb +0 -14
  56. data/lib/shoulda/rails.rb +0 -8
  57. data/lib/shoulda/tasks.rb +0 -3
  58. data/lib/shoulda/tasks/list_tests.rake +0 -29
  59. data/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
  60. data/rails/init.rb +0 -8
  61. data/test/README +0 -36
  62. data/test/fail_macros.rb +0 -55
  63. data/test/fixtures/addresses.yml +0 -3
  64. data/test/fixtures/friendships.yml +0 -0
  65. data/test/fixtures/posts.yml +0 -5
  66. data/test/fixtures/products.yml +0 -0
  67. data/test/fixtures/taggings.yml +0 -0
  68. data/test/fixtures/tags.yml +0 -9
  69. data/test/fixtures/users.yml +0 -6
  70. data/test/functional/posts_controller_test.rb +0 -121
  71. data/test/functional/users_controller_test.rb +0 -19
  72. data/test/matchers/action_mailer/have_sent_email_test.rb +0 -70
  73. data/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +0 -74
  74. data/test/matchers/active_record/allow_value_matcher_test.rb +0 -64
  75. data/test/matchers/active_record/association_matcher_test.rb +0 -263
  76. data/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +0 -81
  77. data/test/matchers/active_record/ensure_length_of_matcher_test.rb +0 -158
  78. data/test/matchers/active_record/have_db_column_matcher_test.rb +0 -169
  79. data/test/matchers/active_record/have_db_index_matcher_test.rb +0 -91
  80. data/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +0 -29
  81. data/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +0 -44
  82. data/test/matchers/active_record/validate_format_of_matcher_test.rb +0 -39
  83. data/test/matchers/active_record/validate_numericality_of_matcher_test.rb +0 -52
  84. data/test/matchers/active_record/validate_presence_of_matcher_test.rb +0 -86
  85. data/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +0 -147
  86. data/test/matchers/controller/assign_to_matcher_test.rb +0 -45
  87. data/test/matchers/controller/filter_param_matcher_test.rb +0 -40
  88. data/test/matchers/controller/redirect_to_matcher_test.rb +0 -37
  89. data/test/matchers/controller/render_template_matcher_test.rb +0 -37
  90. data/test/matchers/controller/render_with_layout_matcher_test.rb +0 -47
  91. data/test/matchers/controller/respond_with_content_type_matcher_test.rb +0 -32
  92. data/test/matchers/controller/respond_with_matcher_test.rb +0 -96
  93. data/test/matchers/controller/route_matcher_test.rb +0 -75
  94. data/test/matchers/controller/set_session_matcher_test.rb +0 -48
  95. data/test/matchers/controller/set_the_flash_matcher.rb +0 -95
  96. data/test/other/autoload_macro_test.rb +0 -18
  97. data/test/other/context_test.rb +0 -372
  98. data/test/other/convert_to_should_syntax_test.rb +0 -63
  99. data/test/other/helpers_test.rb +0 -317
  100. data/test/other/private_helpers_test.rb +0 -32
  101. data/test/other/should_test.rb +0 -271
  102. data/test/rails2_model_builder.rb +0 -130
  103. data/test/rails2_root/app/controllers/application_controller.rb +0 -22
  104. data/test/rails2_root/app/controllers/posts_controller.rb +0 -87
  105. data/test/rails2_root/app/controllers/users_controller.rb +0 -84
  106. data/test/rails2_root/app/helpers/application_helper.rb +0 -3
  107. data/test/rails2_root/app/helpers/posts_helper.rb +0 -2
  108. data/test/rails2_root/app/helpers/users_helper.rb +0 -2
  109. data/test/rails2_root/app/models/address.rb +0 -7
  110. data/test/rails2_root/app/models/flea.rb +0 -11
  111. data/test/rails2_root/app/models/friendship.rb +0 -4
  112. data/test/rails2_root/app/models/notifier.rb +0 -8
  113. data/test/rails2_root/app/models/pets/cat.rb +0 -7
  114. data/test/rails2_root/app/models/pets/dog.rb +0 -10
  115. data/test/rails2_root/app/models/post.rb +0 -12
  116. data/test/rails2_root/app/models/product.rb +0 -12
  117. data/test/rails2_root/app/models/profile.rb +0 -2
  118. data/test/rails2_root/app/models/registration.rb +0 -2
  119. data/test/rails2_root/app/models/tag.rb +0 -8
  120. data/test/rails2_root/app/models/tagging.rb +0 -4
  121. data/test/rails2_root/app/models/treat.rb +0 -3
  122. data/test/rails2_root/app/models/user.rb +0 -32
  123. data/test/rails2_root/app/views/layouts/posts.rhtml +0 -19
  124. data/test/rails2_root/app/views/layouts/users.rhtml +0 -17
  125. data/test/rails2_root/app/views/layouts/wide.html.erb +0 -1
  126. data/test/rails2_root/app/views/notifier/the_email.html.erb +0 -1
  127. data/test/rails2_root/app/views/posts/edit.rhtml +0 -27
  128. data/test/rails2_root/app/views/posts/index.rhtml +0 -25
  129. data/test/rails2_root/app/views/posts/new.rhtml +0 -26
  130. data/test/rails2_root/app/views/posts/show.rhtml +0 -18
  131. data/test/rails2_root/app/views/users/edit.rhtml +0 -22
  132. data/test/rails2_root/app/views/users/index.rhtml +0 -22
  133. data/test/rails2_root/app/views/users/new.rhtml +0 -21
  134. data/test/rails2_root/app/views/users/show.rhtml +0 -13
  135. data/test/rails2_root/config/boot.rb +0 -110
  136. data/test/rails2_root/config/database.yml +0 -4
  137. data/test/rails2_root/config/environment.rb +0 -17
  138. data/test/rails2_root/config/environments/test.rb +0 -23
  139. data/test/rails2_root/config/initializers/new_rails_defaults.rb +0 -15
  140. data/test/rails2_root/config/initializers/shoulda.rb +0 -8
  141. data/test/rails2_root/config/routes.rb +0 -6
  142. data/test/rails2_root/db/migrate/001_create_users.rb +0 -19
  143. data/test/rails2_root/db/migrate/002_create_posts.rb +0 -13
  144. data/test/rails2_root/db/migrate/003_create_taggings.rb +0 -12
  145. data/test/rails2_root/db/migrate/004_create_tags.rb +0 -11
  146. data/test/rails2_root/db/migrate/005_create_dogs.rb +0 -12
  147. data/test/rails2_root/db/migrate/006_create_addresses.rb +0 -14
  148. data/test/rails2_root/db/migrate/007_create_fleas.rb +0 -11
  149. data/test/rails2_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  150. data/test/rails2_root/db/migrate/009_create_products.rb +0 -17
  151. data/test/rails2_root/db/migrate/010_create_friendships.rb +0 -14
  152. data/test/rails2_root/db/migrate/011_create_treats.rb +0 -12
  153. data/test/rails2_root/db/migrate/20090506203502_create_profiles.rb +0 -12
  154. data/test/rails2_root/db/migrate/20090506203536_create_registrations.rb +0 -14
  155. data/test/rails2_root/db/migrate/20090513104502_create_cats.rb +0 -12
  156. data/test/rails2_root/db/schema.rb +0 -0
  157. data/test/rails2_root/log/test.log +0 -50381
  158. data/test/rails2_root/public/404.html +0 -30
  159. data/test/rails2_root/public/422.html +0 -30
  160. data/test/rails2_root/public/500.html +0 -30
  161. data/test/rails2_root/script/console +0 -3
  162. data/test/rails2_root/script/generate +0 -3
  163. data/test/rails2_root/test/shoulda_macros/custom_macro.rb +0 -6
  164. data/test/rails2_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +0 -6
  165. data/test/rails2_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +0 -6
  166. data/test/rails2_test_helper.rb +0 -6
  167. data/test/rails3_model_builder.rb +0 -118
  168. data/test/rails3_root/Gemfile +0 -28
  169. data/test/rails3_root/README +0 -244
  170. data/test/rails3_root/Rakefile +0 -10
  171. data/test/rails3_root/app/controllers/application_controller.rb +0 -22
  172. data/test/rails3_root/app/controllers/posts_controller.rb +0 -87
  173. data/test/rails3_root/app/controllers/users_controller.rb +0 -82
  174. data/test/rails3_root/app/helpers/application_helper.rb +0 -2
  175. data/test/rails3_root/app/models/address.rb +0 -7
  176. data/test/rails3_root/app/models/flea.rb +0 -11
  177. data/test/rails3_root/app/models/friendship.rb +0 -4
  178. data/test/rails3_root/app/models/notifier.rb +0 -8
  179. data/test/rails3_root/app/models/pets/cat.rb +0 -7
  180. data/test/rails3_root/app/models/pets/dog.rb +0 -10
  181. data/test/rails3_root/app/models/post.rb +0 -12
  182. data/test/rails3_root/app/models/product.rb +0 -12
  183. data/test/rails3_root/app/models/profile.rb +0 -2
  184. data/test/rails3_root/app/models/registration.rb +0 -2
  185. data/test/rails3_root/app/models/tag.rb +0 -8
  186. data/test/rails3_root/app/models/tagging.rb +0 -4
  187. data/test/rails3_root/app/models/treat.rb +0 -3
  188. data/test/rails3_root/app/models/user.rb +0 -32
  189. data/test/rails3_root/app/views/layouts/application.html.erb +0 -14
  190. data/test/rails3_root/app/views/layouts/posts.rhtml +0 -19
  191. data/test/rails3_root/app/views/layouts/users.rhtml +0 -17
  192. data/test/rails3_root/app/views/layouts/wide.html.erb +0 -1
  193. data/test/rails3_root/app/views/notifier/the_email.html.erb +0 -1
  194. data/test/rails3_root/app/views/posts/edit.rhtml +0 -27
  195. data/test/rails3_root/app/views/posts/index.rhtml +0 -25
  196. data/test/rails3_root/app/views/posts/new.rhtml +0 -24
  197. data/test/rails3_root/app/views/posts/show.rhtml +0 -18
  198. data/test/rails3_root/app/views/users/edit.rhtml +0 -22
  199. data/test/rails3_root/app/views/users/index.rhtml +0 -22
  200. data/test/rails3_root/app/views/users/new.rhtml +0 -21
  201. data/test/rails3_root/app/views/users/show.rhtml +0 -13
  202. data/test/rails3_root/config.ru +0 -4
  203. data/test/rails3_root/config/application.rb +0 -46
  204. data/test/rails3_root/config/boot.rb +0 -6
  205. data/test/rails3_root/config/database.yml +0 -22
  206. data/test/rails3_root/config/environment.rb +0 -5
  207. data/test/rails3_root/config/environments/development.rb +0 -19
  208. data/test/rails3_root/config/environments/production.rb +0 -42
  209. data/test/rails3_root/config/environments/test.rb +0 -32
  210. data/test/rails3_root/config/initializers/backtrace_silencers.rb +0 -7
  211. data/test/rails3_root/config/initializers/inflections.rb +0 -10
  212. data/test/rails3_root/config/initializers/mime_types.rb +0 -5
  213. data/test/rails3_root/config/initializers/secret_token.rb +0 -7
  214. data/test/rails3_root/config/initializers/session_store.rb +0 -8
  215. data/test/rails3_root/config/locales/en.yml +0 -5
  216. data/test/rails3_root/config/routes.rb +0 -4
  217. data/test/rails3_root/db/migrate/001_create_users.rb +0 -19
  218. data/test/rails3_root/db/migrate/002_create_posts.rb +0 -13
  219. data/test/rails3_root/db/migrate/003_create_taggings.rb +0 -12
  220. data/test/rails3_root/db/migrate/004_create_tags.rb +0 -11
  221. data/test/rails3_root/db/migrate/005_create_dogs.rb +0 -12
  222. data/test/rails3_root/db/migrate/006_create_addresses.rb +0 -14
  223. data/test/rails3_root/db/migrate/007_create_fleas.rb +0 -11
  224. data/test/rails3_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  225. data/test/rails3_root/db/migrate/009_create_products.rb +0 -17
  226. data/test/rails3_root/db/migrate/010_create_friendships.rb +0 -14
  227. data/test/rails3_root/db/migrate/011_create_treats.rb +0 -12
  228. data/test/rails3_root/db/migrate/20090506203502_create_profiles.rb +0 -12
  229. data/test/rails3_root/db/migrate/20090506203536_create_registrations.rb +0 -14
  230. data/test/rails3_root/db/migrate/20090513104502_create_cats.rb +0 -12
  231. data/test/rails3_root/db/seeds.rb +0 -7
  232. data/test/rails3_root/db/test.sqlite3 +0 -0
  233. data/test/rails3_root/log/test.log +0 -10834
  234. data/test/rails3_root/public/404.html +0 -26
  235. data/test/rails3_root/public/422.html +0 -26
  236. data/test/rails3_root/public/500.html +0 -26
  237. data/test/rails3_root/public/favicon.ico +0 -0
  238. data/test/rails3_root/public/images/rails.png +0 -0
  239. data/test/rails3_root/public/index.html +0 -279
  240. data/test/rails3_root/public/javascripts/application.js +0 -2
  241. data/test/rails3_root/public/javascripts/controls.js +0 -965
  242. data/test/rails3_root/public/javascripts/dragdrop.js +0 -974
  243. data/test/rails3_root/public/javascripts/effects.js +0 -1123
  244. data/test/rails3_root/public/javascripts/prototype.js +0 -4874
  245. data/test/rails3_root/public/javascripts/rails.js +0 -118
  246. data/test/rails3_root/public/robots.txt +0 -5
  247. data/test/rails3_root/script/rails +0 -9
  248. data/test/rails3_root/test/performance/browsing_test.rb +0 -9
  249. data/test/rails3_root/test/test_helper.rb +0 -13
  250. data/test/rails3_test_helper.rb +0 -6
  251. data/test/rspec_test.rb +0 -207
  252. data/test/test_helper.rb +0 -36
  253. data/test/unit/address_test.rb +0 -10
  254. data/test/unit/cat_test.rb +0 -7
  255. data/test/unit/dog_test.rb +0 -9
  256. data/test/unit/flea_test.rb +0 -14
  257. data/test/unit/friendship_test.rb +0 -6
  258. data/test/unit/post_test.rb +0 -15
  259. data/test/unit/product_test.rb +0 -23
  260. data/test/unit/tag_test.rb +0 -11
  261. data/test/unit/tagging_test.rb +0 -6
  262. data/test/unit/user_test.rb +0 -46
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- class FilterParamMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller that filters no parameters" do
6
- setup do
7
- if Rails.respond_to?(:application)
8
- Rails.application.config.filter_parameters = []
9
- end
10
- @controller = define_controller(:examples).new
11
- end
12
-
13
- should "reject filtering any parameter" do
14
- assert_rejects filter_param(:any), @controller
15
- end
16
- end
17
-
18
- context "a controller that filters a parameter" do
19
- setup do
20
- if Rails.respond_to?(:application)
21
- Rails.application.config.filter_parameters = [:password]
22
- end
23
- @controller = define_controller :examples do
24
- unless Rails.respond_to?(:application)
25
- filter_parameter_logging :password
26
- end
27
- end.new
28
- end
29
-
30
- should "accept filtering that parameter" do
31
- assert_accepts filter_param(:password), @controller
32
- end
33
-
34
- should "reject filtering another parameter" do
35
- assert_rejects filter_param(:other), @controller
36
- end
37
- end
38
-
39
- end
40
-
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RedirectToMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller that redirects" do
6
- setup do
7
- @controller = build_response { redirect_to '/some/url' }
8
- end
9
-
10
- should "accept redirecting to that url" do
11
- assert_accepts redirect_to('/some/url'), @controller
12
- end
13
-
14
- should "reject redirecting to a different url" do
15
- assert_rejects redirect_to('/some/other/url'), @controller
16
- end
17
-
18
- should "accept redirecting to that url in a block" do
19
- assert_accepts redirect_to('somewhere') { '/some/url' }, @controller
20
- end
21
-
22
- should "reject redirecting to a different url in a block" do
23
- assert_rejects redirect_to('somewhere else') { '/some/other/url' }, @controller
24
- end
25
- end
26
-
27
- context "a controller that doesn't redirect" do
28
- setup do
29
- @controller = build_response { render :text => 'hello' }
30
- end
31
-
32
- should "reject redirecting to a url" do
33
- assert_rejects redirect_to('/some/url'), @controller
34
- end
35
- end
36
-
37
- end
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RenderTemplateMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller that renders a template" do
6
- setup do
7
- @controller = build_response(:action => 'show') { render }
8
- end
9
-
10
- should "accept rendering that template" do
11
- assert_accepts render_template(:show), @controller
12
- end
13
-
14
- should "reject rendering a different template" do
15
- assert_rejects render_template(:index), @controller
16
- end
17
-
18
- should "accept rendering that template in the given context" do
19
- assert_accepts self.class.render_template(:show).in_context(self), @controller
20
- end
21
-
22
- should "reject rendering a different template in the given context" do
23
- assert_rejects self.class.render_template(:index).in_context(self), @controller
24
- end
25
- end
26
-
27
- context "a controller that doesn't render a template" do
28
- setup do
29
- @controller = build_response { render :nothing => true }
30
- end
31
-
32
- should "reject rendering a template" do
33
- assert_rejects render_template(:show), @controller
34
- end
35
- end
36
-
37
- end
@@ -1,47 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RenderWithLayoutMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller that renders with a layout" do
6
- setup do
7
- create_view('layouts/wide.html.erb', 'some content, <%= yield %>')
8
- @controller = build_response { render :layout => 'wide' }
9
- end
10
-
11
- should "accept rendering with any layout" do
12
- assert_accepts render_with_layout, @controller
13
- end
14
-
15
- should "accept rendering with that layout" do
16
- assert_accepts render_with_layout(:wide), @controller
17
- end
18
-
19
- should "reject rendering with another layout" do
20
- assert_rejects render_with_layout(:other), @controller
21
- end
22
- end
23
-
24
- context "a controller that renders without a layout" do
25
- setup do
26
- @controller = build_response { render :layout => false }
27
- end
28
-
29
- should "reject rendering with a layout" do
30
- assert_rejects render_with_layout, @controller
31
- end
32
- end
33
-
34
- context "given a context with layouts" do
35
- setup do
36
- @layout = 'happy'
37
- @controller = build_response { render :layout => false }
38
- @layouts = Hash.new(0)
39
- @layouts[@layout] = 1
40
- end
41
-
42
- should "accept that layout in that context" do
43
- assert_accepts render_with_layout(@layout).in_context(self), @controller
44
- end
45
- end
46
-
47
- end
@@ -1,32 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RespondWithContentTypeMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller responding with content type :xml" do
6
- setup do
7
- @controller = build_response { render :xml => { :user => "thoughtbot" }.to_xml }
8
- end
9
-
10
- should "accept responding with content type :xml" do
11
- assert_accepts respond_with_content_type(:xml), @controller
12
- end
13
-
14
- should "accept responding with content type 'application/xml'" do
15
- assert_accepts respond_with_content_type('application/xml'), @controller
16
- end
17
-
18
- should "accept responding with content type /xml/" do
19
- assert_accepts respond_with_content_type(/xml/), @controller
20
- end
21
-
22
- should "reject responding with another content type" do
23
- assert_rejects respond_with_content_type(:json), @controller
24
- end
25
- end
26
-
27
- should "generate the correct test name" do
28
- assert_equal "respond with content type of application/xml",
29
- respond_with_content_type(:xml).description
30
- end
31
-
32
- end
@@ -1,96 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RespondWithMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller responding with success" do
6
- setup do
7
- @controller = build_response { render :text => "text", :status => 200 }
8
- end
9
-
10
- should "accept responding with 200" do
11
- assert_accepts respond_with(200), @controller
12
- end
13
-
14
- should "accept responding with :success" do
15
- assert_accepts respond_with(:success), @controller
16
- end
17
-
18
- should "reject responding with another status" do
19
- assert_rejects respond_with(:error), @controller
20
- end
21
- end
22
-
23
- context "a controller responding with redirect" do
24
- setup do
25
- @controller = build_response { render :text => "text", :status => 301 }
26
- end
27
-
28
- should "accept responding with 301" do
29
- assert_accepts respond_with(301), @controller
30
- end
31
-
32
- should "accept responding with :redirect" do
33
- assert_accepts respond_with(:redirect), @controller
34
- end
35
-
36
- should "reject responding with another status" do
37
- assert_rejects respond_with(:error), @controller
38
- end
39
- end
40
-
41
- context "a controller responding with missing" do
42
- setup do
43
- @controller = build_response { render :text => "text", :status => 404 }
44
- end
45
-
46
- should "accept responding with 404" do
47
- assert_accepts respond_with(404), @controller
48
- end
49
-
50
- should "accept responding with :missing" do
51
- assert_accepts respond_with(:missing), @controller
52
- end
53
-
54
- should "reject responding with another status" do
55
- assert_rejects respond_with(:success), @controller
56
- end
57
- end
58
-
59
- context "a controller responding with error" do
60
- setup do
61
- @controller = build_response { render :text => "text", :status => 500 }
62
- end
63
-
64
- should "accept responding with 500" do
65
- assert_accepts respond_with(500), @controller
66
- end
67
-
68
- should "accept responding with :error" do
69
- assert_accepts respond_with(:error), @controller
70
- end
71
-
72
- should "reject responding with another status" do
73
- assert_rejects respond_with(:success), @controller
74
- end
75
- end
76
-
77
- context "a controller responding with not implemented" do
78
- setup do
79
- @controller = build_response { render :text => "text", :status => 501 }
80
- end
81
-
82
- should "accept responding with 501" do
83
- assert_accepts respond_with(501), @controller
84
- end
85
-
86
- should "accept responding with :not_implemented" do
87
- assert_accepts respond_with(:not_implemented), @controller
88
- end
89
-
90
- should "reject responding with another status" do
91
- assert_rejects respond_with(:success), @controller
92
- end
93
- end
94
-
95
- end
96
-
@@ -1,75 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RouteToMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "given a controller with a defined glob url" do
6
- setup do
7
- @controller = define_controller('Examples').new
8
- define_routes do |map|
9
- map.connect 'examples/*id', :controller => 'examples',
10
- :action => 'example'
11
- end
12
- end
13
-
14
- should "accept glob route" do
15
- assert_accepts route(:get, '/examples/foo/bar').
16
- to(:action => 'example', :id => ['foo', 'bar']),
17
- @controller
18
- end
19
-
20
- end
21
-
22
- context "given a controller with a defined route" do
23
- setup do
24
- @controller = define_controller('Examples').new
25
- define_routes do |map|
26
- map.connect 'examples/:id', :controller => 'examples',
27
- :action => 'example'
28
- end
29
- end
30
-
31
- should "accept routing the correct path to the correct parameters" do
32
- assert_accepts route(:get, '/examples/1').
33
- to(:action => 'example', :id => '1'),
34
- @controller
35
- end
36
-
37
- should "accept a symbol controller" do
38
- assert_accepts route(:get, '/examples/1').
39
- to(:controller => :examples,
40
- :action => 'example',
41
- :id => '1'),
42
- self
43
- end
44
-
45
- should "accept a symbol action" do
46
- assert_accepts route(:get, '/examples/1').
47
- to(:action => :example, :id => '1'),
48
- @controller
49
- end
50
-
51
- should "accept a non-string parameter" do
52
- assert_accepts route(:get, '/examples/1').
53
- to(:action => 'example', :id => 1),
54
- @controller
55
- end
56
-
57
- should "reject an undefined route" do
58
- assert_rejects route(:get, '/bad_route').to(:var => 'value'), @controller
59
- end
60
-
61
- should "reject a route for another controller" do
62
- @other = define_controller('Other').new
63
- assert_rejects route(:get, '/examples/1').
64
- to(:action => 'example', :id => '1'),
65
- @other
66
- end
67
-
68
- should "reject a route for different parameters" do
69
- assert_rejects route(:get, '/examples/1').
70
- to(:action => 'other', :id => '1'),
71
- @controller
72
- end
73
- end
74
-
75
- end
@@ -1,48 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SetSessionMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller that sets a session variable" do
6
- setup do
7
- @controller = build_response do
8
- session[:var] = 'value'
9
- session[:false_var] = false
10
- end
11
- end
12
-
13
- should "accept assigning to that variable" do
14
- assert_accepts set_session(:var), @controller
15
- end
16
-
17
- should "accept assigning the correct value to that variable" do
18
- assert_accepts set_session(:var).to('value'), @controller
19
- end
20
-
21
- should "reject assigning another value to that variable" do
22
- assert_rejects set_session(:var).to('other'), @controller
23
- end
24
-
25
- should "reject assigning to another variable" do
26
- assert_rejects set_session(:other), @controller
27
- end
28
-
29
- should "accept assigning nil to another variable" do
30
- assert_accepts set_session(:other).to(nil), @controller
31
- end
32
-
33
- should "accept assigning false to that variable" do
34
- assert_accepts set_session(:false_var).to(false), @controller
35
- end
36
-
37
- should "accept assigning to the same value in the test context" do
38
- @expected = 'value'
39
- assert_accepts set_session(:var).to { @expected }, @controller
40
- end
41
-
42
- should "reject assigning to the another value in the test context" do
43
- @expected = 'other'
44
- assert_rejects set_session(:var).to { @expected }, @controller
45
- end
46
- end
47
-
48
- end
@@ -1,95 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SetTheFlashMatcherTest < ActionController::TestCase # :nodoc:
4
-
5
- context "a controller that sets a flash message" do
6
- setup do
7
- @controller = build_response { flash[:notice] = 'value' }
8
- end
9
-
10
- should "accept setting any flash message" do
11
- assert_accepts set_the_flash, @controller
12
- end
13
-
14
- should "accept setting the exact flash message" do
15
- assert_accepts set_the_flash.to('value'), @controller
16
- end
17
-
18
- should "accept setting a matched flash message" do
19
- assert_accepts set_the_flash.to(/value/), @controller
20
- end
21
-
22
- should "reject setting a different flash message" do
23
- assert_rejects set_the_flash.to('other'), @controller
24
- end
25
-
26
- should "reject setting a different pattern" do
27
- assert_rejects set_the_flash.to(/other/), @controller
28
- end
29
- end
30
-
31
- context "a controller that sets a flash.now message" do
32
- setup do
33
- @controller = build_response { flash.now[:notice] = 'value' }
34
- end
35
-
36
- should "reject setting any flash message" do
37
- assert_rejects set_the_flash, @controller
38
- end
39
-
40
- should "accept setting any flash.now message" do
41
- assert_accepts set_the_flash.now, @controller
42
- end
43
-
44
- should "accept setting the exact flash.now message" do
45
- assert_accepts set_the_flash.to('value').now, @controller
46
- end
47
-
48
- should "accept setting a matched flash.now message" do
49
- assert_accepts set_the_flash.to(/value/).now, @controller
50
- end
51
-
52
- should "reject setting a different flash.now message" do
53
- assert_rejects set_the_flash.to('other').now, @controller
54
- end
55
-
56
- should "reject setting a different flash.now pattern" do
57
- assert_rejects set_the_flash.to(/other/).now, @controller
58
- end
59
- end
60
-
61
- context "a controller that sets multiple flash messages" do
62
- setup do
63
- @controller = build_response {
64
- flash.now[:notice] = 'value'
65
- flash[:success] = 'great job'
66
- }
67
- end
68
-
69
- should "accept setting any flash.now message" do
70
- assert_accepts set_the_flash.now, @controller
71
- assert_accepts set_the_flash, @controller
72
- end
73
-
74
- should "accept setting a matched flash.now message" do
75
- assert_accepts set_the_flash.to(/value/).now, @controller
76
- assert_accepts set_the_flash.to(/great/), @controller
77
- end
78
-
79
- should "reject setting a different flash.now message" do
80
- assert_rejects set_the_flash.to('other').now, @controller
81
- assert_rejects set_the_flash.to('other'), @controller
82
- end
83
- end
84
-
85
- context "a controller that doesn't set a flash message" do
86
- setup do
87
- @controller = build_response
88
- end
89
-
90
- should "reject setting any flash message" do
91
- assert_rejects set_the_flash, @controller
92
- end
93
- end
94
-
95
- end