rspec-rails 2.99.0 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.sig +2 -0
  3. data.tar.gz.sig +0 -0
  4. data/Changelog.md +40 -68
  5. data/License.txt +1 -0
  6. data/README.md +6 -4
  7. data/features/Generators.md +24 -0
  8. data/features/GettingStarted.md +84 -0
  9. data/features/README.md +56 -0
  10. data/features/RailsVersions.md +4 -0
  11. data/features/Transactions.md +84 -0
  12. data/features/Upgrade.md +121 -0
  13. data/features/controller_specs/Cookies.md +57 -0
  14. data/features/controller_specs/README.md +45 -0
  15. data/features/controller_specs/anonymous_controller.feature +378 -0
  16. data/features/controller_specs/bypass_rescue.feature +75 -0
  17. data/features/controller_specs/controller_spec.feature +58 -0
  18. data/features/controller_specs/engine_routes.feature +51 -0
  19. data/features/controller_specs/isolation_from_views.feature +87 -0
  20. data/features/controller_specs/render_views.feature +114 -0
  21. data/features/directory_structure.feature +71 -0
  22. data/features/feature_specs/feature_spec.feature +35 -0
  23. data/features/helper_specs/helper_spec.feature +122 -0
  24. data/features/mailer_specs/url_helpers.feature +38 -0
  25. data/features/matchers/README.md +18 -0
  26. data/features/matchers/new_record_matcher.feature +41 -0
  27. data/features/matchers/redirect_to_matcher.feature +40 -0
  28. data/features/matchers/relation_match_array.feature +27 -0
  29. data/features/matchers/render_template_matcher.feature +49 -0
  30. data/features/mocks/mock_model.feature +147 -0
  31. data/features/mocks/stub_model.feature +58 -0
  32. data/features/model_specs/README.md +21 -0
  33. data/features/model_specs/errors_on.feature +51 -0
  34. data/features/model_specs/records.feature +27 -0
  35. data/features/model_specs/transactional_examples.feature +109 -0
  36. data/features/request_specs/request_spec.feature +49 -0
  37. data/features/routing_specs/README.md +16 -0
  38. data/features/routing_specs/be_routable_matcher.feature +80 -0
  39. data/features/routing_specs/engine_routes.feature +38 -0
  40. data/features/routing_specs/named_routes.feature +18 -0
  41. data/features/routing_specs/route_to_matcher.feature +90 -0
  42. data/features/step_definitions/additional_cli_steps.rb +4 -0
  43. data/features/step_definitions/model_steps.rb +3 -0
  44. data/features/support/capybara.rb +7 -0
  45. data/features/support/env.rb +53 -0
  46. data/features/support/rails_versions.rb +4 -0
  47. data/features/support/rubinius.rb +6 -0
  48. data/features/view_specs/inferred_controller_path.feature +45 -0
  49. data/features/view_specs/stub_template.feature +51 -0
  50. data/features/view_specs/view_spec.feature +206 -0
  51. data/lib/generators/rspec/controller/templates/controller_spec.rb +1 -1
  52. data/lib/generators/rspec/install/templates/spec/spec_helper.rb.tt +2 -21
  53. data/lib/generators/rspec/integration/integration_generator.rb +2 -3
  54. data/lib/generators/rspec/integration/templates/request_spec.rb +1 -1
  55. data/lib/generators/rspec/mailer/templates/mailer_spec.rb +4 -4
  56. data/lib/generators/rspec/scaffold/scaffold_generator.rb +2 -3
  57. data/lib/generators/rspec/scaffold/templates/controller_spec.rb +16 -16
  58. data/lib/generators/rspec/scaffold/templates/edit_spec.rb +2 -2
  59. data/lib/generators/rspec/scaffold/templates/index_spec.rb +1 -1
  60. data/lib/generators/rspec/scaffold/templates/new_spec.rb +2 -2
  61. data/lib/generators/rspec/scaffold/templates/routing_spec.rb +7 -7
  62. data/lib/generators/rspec/scaffold/templates/show_spec.rb +2 -2
  63. data/lib/rspec/rails.rb +0 -5
  64. data/lib/rspec/rails/adapters.rb +5 -12
  65. data/lib/rspec/rails/example.rb +55 -24
  66. data/lib/rspec/rails/example/controller_example_group.rb +7 -31
  67. data/lib/rspec/rails/example/view_example_group.rb +0 -3
  68. data/lib/rspec/rails/matchers.rb +1 -2
  69. data/lib/rspec/rails/matchers/be_a_new.rb +1 -1
  70. data/lib/rspec/rails/matchers/be_new_record.rb +1 -1
  71. data/lib/rspec/rails/matchers/be_valid.rb +1 -1
  72. data/lib/rspec/rails/matchers/have_rendered.rb +1 -1
  73. data/lib/rspec/rails/matchers/redirect_to.rb +1 -1
  74. data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
  75. data/lib/rspec/rails/matchers/routing_matchers.rb +6 -10
  76. data/lib/rspec/rails/mocks.rb +5 -41
  77. data/lib/rspec/rails/tasks/rspec.rake +5 -12
  78. data/lib/rspec/rails/vendor/capybara.rb +4 -35
  79. data/lib/rspec/rails/version.rb +1 -1
  80. data/spec/generators/rspec/controller/controller_generator_spec.rb +97 -0
  81. data/spec/generators/rspec/helper/helper_generator_spec.rb +30 -0
  82. data/spec/generators/rspec/install/install_generator_spec.rb +30 -0
  83. data/spec/generators/rspec/integration/integration_generator_spec.rb +44 -0
  84. data/spec/generators/rspec/mailer/mailer_generator_spec.rb +48 -0
  85. data/spec/generators/rspec/model/model_generator_spec.rb +52 -0
  86. data/spec/generators/rspec/observer/observer_generator_spec.rb +21 -0
  87. data/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +138 -0
  88. data/spec/generators/rspec/view/view_generator_spec.rb +41 -0
  89. data/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
  90. data/spec/rspec/rails/assertion_delegator_spec.rb +43 -0
  91. data/spec/rspec/rails/configuration_spec.rb +26 -0
  92. data/spec/rspec/rails/deprecations_spec.rb +18 -0
  93. data/spec/rspec/rails/example/controller_example_group_spec.rb +100 -0
  94. data/spec/rspec/rails/example/feature_example_group_spec.rb +56 -0
  95. data/spec/rspec/rails/example/helper_example_group_spec.rb +66 -0
  96. data/spec/rspec/rails/example/mailer_example_group_spec.rb +21 -0
  97. data/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
  98. data/spec/rspec/rails/example/request_example_group_spec.rb +17 -0
  99. data/spec/rspec/rails/example/routing_example_group_spec.rb +32 -0
  100. data/spec/rspec/rails/example/view_example_group_spec.rb +220 -0
  101. data/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +23 -0
  102. data/spec/rspec/rails/extensions/active_record/base_spec.rb +42 -0
  103. data/spec/rspec/rails/fixture_support_spec.rb +17 -0
  104. data/spec/rspec/rails/matchers/be_a_new_spec.rb +142 -0
  105. data/spec/rspec/rails/matchers/be_new_record_spec.rb +33 -0
  106. data/spec/rspec/rails/matchers/be_routable_spec.rb +41 -0
  107. data/spec/rspec/rails/matchers/be_valid_spec.rb +44 -0
  108. data/spec/rspec/rails/matchers/has_spec.rb +29 -0
  109. data/spec/rspec/rails/matchers/have_rendered_spec.rb +93 -0
  110. data/spec/rspec/rails/matchers/redirect_to_spec.rb +80 -0
  111. data/spec/rspec/rails/matchers/relation_match_array_spec.rb +31 -0
  112. data/spec/rspec/rails/matchers/route_to_spec.rb +151 -0
  113. data/spec/rspec/rails/minitest_lifecycle_adapter_spec.rb +22 -0
  114. data/spec/rspec/rails/mocks/mock_model_spec.rb +378 -0
  115. data/spec/rspec/rails/mocks/stub_model_spec.rb +154 -0
  116. data/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +32 -0
  117. data/spec/rspec/rails/view_rendering_spec.rb +111 -0
  118. data/spec/spec_helper.rb +35 -0
  119. data/spec/support/ar_classes.rb +42 -0
  120. data/spec/support/helpers.rb +20 -0
  121. data/spec/support/matchers.rb +9 -0
  122. data/spec/support/null_object.rb +6 -0
  123. metadata +229 -42
  124. metadata.gz.sig +0 -0
  125. data/lib/autotest/rails_rspec2.rb +0 -91
  126. data/lib/rspec/rails/infer_type_configuration.rb +0 -26
  127. data/lib/rspec/rails/matchers/have_extension.rb +0 -36
  128. data/lib/rspec/rails/module_inclusion.rb +0 -19
Binary file
@@ -1,91 +0,0 @@
1
- begin
2
- require 'rspec/rails/autotest'
3
- rescue LoadError
4
- # (c) Copyright 2006 Nick Sieger <nicksieger@gmail.com>
5
- #
6
- # Permission is hereby granted, free of charge, to any person
7
- # obtaining a copy of this software and associated documentation files
8
- # (the "Software"), to deal in the Software without restriction,
9
- # including without limitation the rights to use, copy, modify, merge,
10
- # publish, distribute, sublicense, and/or sell copies of the Software,
11
- # and to permit persons to whom the Software is furnished to do so,
12
- # subject to the following conditions:
13
- #
14
- # The above copyright notice and this permission notice shall be
15
- # included in all copies or substantial portions of the Software.
16
- #
17
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
21
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
22
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
- # SOFTWARE.
25
-
26
- $:.push(*Dir["vendor/rails/*/lib"])
27
-
28
- require 'active_support'
29
- require 'active_support/core_ext'
30
- require 'autotest/rspec2'
31
-
32
- class Autotest::RailsRspec2 < Autotest::Rspec2
33
-
34
- def initialize
35
- super
36
- setup_rails_rspec2_mappings
37
- end
38
-
39
- def setup_rails_rspec2_mappings
40
- %w{coverage/ db/ doc/ log/ public/ script/ tmp/ vendor/rails vendor/plugins vendor/gems}.each do |exception|
41
- add_exception(/^([\.\/]*)?#{exception}/)
42
- end
43
-
44
- clear_mappings
45
-
46
- add_mapping(%r%^(test|spec)/fixtures/(.*).yml$%) { |_, m|
47
- ["spec/models/#{m[2].singularize}_spec.rb"] + files_matching(%r%^spec\/views\/#{m[2]}/.*_spec\.rb$%)
48
- }
49
- add_mapping(%r%^spec/.*_spec\.rb$%) { |filename, _|
50
- filename
51
- }
52
- add_mapping(%r%^app/models/(.*)\.rb$%) { |_, m|
53
- ["spec/models/#{m[1]}_spec.rb"]
54
- }
55
- add_mapping(%r%^app/views/(.*)$%) { |_, m|
56
- files_matching %r%^spec/views/#{m[1]}_spec.rb$%
57
- }
58
- add_mapping(%r%^app/controllers/(.*)\.rb$%) { |_, m|
59
- if m[1] == "application"
60
- files_matching %r%^spec/controllers/.*_spec\.rb$%
61
- else
62
- ["spec/controllers/#{m[1]}_spec.rb"]
63
- end
64
- }
65
- add_mapping(%r%^app/helpers/(.*)_helper\.rb$%) { |_, m|
66
- if m[1] == "application" then
67
- files_matching(%r%^spec/(views|helpers)/.*_spec\.rb$%)
68
- else
69
- ["spec/helpers/#{m[1]}_helper_spec.rb"] + files_matching(%r%^spec\/views\/#{m[1]}/.*_spec\.rb$%)
70
- end
71
- }
72
- add_mapping(%r%^config/routes\.rb$%) {
73
- files_matching %r%^spec/(controllers|routing|views|helpers)/.*_spec\.rb$%
74
- }
75
- add_mapping(%r%^config/database\.yml$%) { |_, m|
76
- files_matching %r%^spec/models/.*_spec\.rb$%
77
- }
78
- add_mapping(%r%^(spec/(spec_helper|support/.*)|config/(boot|environment(s/test)?))\.rb$%) {
79
- files_matching %r%^spec/(models|controllers|routing|views|helpers)/.*_spec\.rb$%
80
- }
81
- add_mapping(%r%^lib/(.*)\.rb$%) { |_, m|
82
- ["spec/lib/#{m[1]}_spec.rb"]
83
- }
84
- add_mapping(%r%^app/mailers/(.*)\.rb$%) { |_, m|
85
- ["spec/mailers/#{m[1]}_spec.rb"]
86
- }
87
- end
88
- end
89
-
90
- Autotest.add_hook(:ran_command) { warn "\n\e[31mUsing the built in rspec-rails autotest support is deprecated and will be removed in RSpec 3. Please switch to the rspec-autotest gem\e[0m" }
91
- end
@@ -1,26 +0,0 @@
1
- RSpec.configure do |config|
2
- def config.infer_spec_type_from_file_location!
3
- @infer_spec_type_from_file_location = true
4
- end
5
-
6
- def config.infer_spec_type_from_file_location?
7
- @infer_spec_type_from_file_location ||= false
8
- end
9
-
10
- config.before do
11
- unless config.infer_spec_type_from_file_location?
12
- RSpec.warn_deprecation(<<-EOS.gsub(/^\s+\|/,''))
13
- |rspec-rails 3 will no longer automatically infer an example group's spec type
14
- |from the file location. You can explicitly opt-in to this feature using this
15
- |snippet:
16
- |
17
- |RSpec.configure do |config|
18
- | config.infer_spec_type_from_file_location!
19
- |end
20
- |
21
- |If you wish to manually label spec types via metadata you can safely ignore
22
- |this warning and continue upgrading to RSpec 3 without addressing it.
23
- EOS
24
- end
25
- end
26
- end
@@ -1,36 +0,0 @@
1
- require 'active_support'
2
- require 'active_support/core_ext/module/aliasing'
3
- require 'rspec/matchers/built_in/have'
4
-
5
- module RSpec::Rails::Matchers
6
- module HaveExtensions
7
- extend ActiveSupport::Concern
8
-
9
- # @api private
10
- #
11
- # Enhances the failure message for `should have(n)` matchers
12
- def failure_message_for_should_with_errors_on_extensions
13
- return "expected #{relativities[@relativity]}#{@expected} errors on :#{@args[0]}, got #{@actual}" if @collection_name == :errors_on
14
- return "expected #{relativities[@relativity]}#{@expected} error on :#{@args[0]}, got #{@actual}" if @collection_name == :error_on
15
- return failure_message_for_should_without_errors_on_extensions
16
- end
17
-
18
- # @api private
19
- #
20
- # Enhances the description for `should have(n)` matchers
21
- def description_with_errors_on_extensions
22
- return "have #{relativities[@relativity]}#{@expected} errors on :#{@args[0]}" if @collection_name == :errors_on
23
- return "have #{relativities[@relativity]}#{@expected} error on :#{@args[0]}" if @collection_name == :error_on
24
- return description_without_errors_on_extensions
25
- end
26
-
27
- included do
28
- alias_method_chain :failure_message_for_should, :errors_on_extensions
29
- alias_method_chain :description, :errors_on_extensions
30
- end
31
- end
32
- end
33
-
34
- RSpec::Matchers::BuiltIn::Have.class_eval do
35
- include RSpec::Rails::Matchers::HaveExtensions
36
- end
@@ -1,19 +0,0 @@
1
- module RSpec::Rails
2
- module ModuleInclusion
3
- # @deprecated No replacement.
4
- #
5
- # Will be removed from rspec-rails-3.0
6
- #
7
- # This was never intended to be a public API and is no longer needed
8
- # internally. As it happens, there are a few blog posts citing its use, so
9
- # I'm leaving it here, but deprecated.
10
- def include_self_when_dir_matches(*path_parts)
11
- lambda do |c|
12
- RSpec.deprecate('include_self_when_dir_matches')
13
- c.include self, :example_group => {
14
- :file_path => Regexp.compile(path_parts.join('[\\\/]'))
15
- }
16
- end
17
- end
18
- end
19
- end