rspec-rails 2.0.0.beta.19 → 2.0.0.beta.20

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 (52) hide show
  1. data/.gitignore +2 -1
  2. data/Gemfile +7 -0
  3. data/Gotchas.markdown +14 -0
  4. data/README.markdown +49 -9
  5. data/Rakefile +1 -2
  6. data/Upgrade.markdown +7 -0
  7. data/VERSION +1 -1
  8. data/features/controller_specs/anonymous_controller.feature +57 -19
  9. data/features/controller_specs/isolation_from_views.feature +2 -2
  10. data/features/controller_specs/readers.feature +1 -1
  11. data/features/controller_specs/render_views.feature +4 -4
  12. data/features/helper_specs/helper_spec.feature +53 -0
  13. data/features/mailer_specs/url_helpers.feature +2 -2
  14. data/features/matchers/new_record_matcher.feature +46 -1
  15. data/features/matchers/redirect_to_matcher.feature +41 -0
  16. data/features/matchers/render_template_matcher.feature +25 -0
  17. data/features/mocks/mock_model.feature +131 -0
  18. data/features/mocks/stub_model.feature +58 -0
  19. data/features/routing_specs/access_to_named_routes.feature +15 -0
  20. data/features/support/env.rb +1 -0
  21. data/features/view_specs/inferred_controller_path.feature +44 -0
  22. data/lib/generators/rspec/install/templates/spec/spec_helper.rb +4 -5
  23. data/lib/generators/rspec/scaffold/templates/routing_spec.rb +2 -2
  24. data/lib/rspec/rails.rb +1 -4
  25. data/lib/rspec/rails/adapters.rb +32 -6
  26. data/lib/rspec/rails/browser_simulators.rb +30 -0
  27. data/lib/rspec/rails/example.rb +2 -1
  28. data/lib/rspec/rails/example/controller_example_group.rb +36 -16
  29. data/lib/rspec/rails/example/helper_example_group.rb +8 -4
  30. data/lib/rspec/rails/example/mailer_example_group.rb +11 -2
  31. data/lib/rspec/rails/example/model_example_group.rb +1 -1
  32. data/lib/rspec/rails/example/rails_example_group.rb +11 -0
  33. data/lib/rspec/rails/example/request_example_group.rb +17 -6
  34. data/lib/rspec/rails/example/routing_example_group.rb +6 -1
  35. data/lib/rspec/rails/example/view_example_group.rb +18 -14
  36. data/lib/rspec/rails/matchers/be_a_new.rb +36 -1
  37. data/lib/rspec/rails/mocks.rb +9 -8
  38. data/lib/rspec/rails/tasks/rspec.rake +7 -0
  39. data/lib/rspec/rails/view_rendering.rb +8 -2
  40. data/rspec-rails.gemspec +21 -14
  41. data/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
  42. data/spec/rspec/rails/example/helper_example_group_spec.rb +2 -0
  43. data/spec/rspec/rails/example/routing_example_group_spec.rb +17 -0
  44. data/spec/rspec/rails/example/view_rendering_spec.rb +56 -15
  45. data/spec/rspec/rails/matchers/be_a_new_spec.rb +98 -0
  46. data/spec/rspec/rails/matchers/errors_on_spec.rb +4 -4
  47. data/spec/rspec/rails/mocks/ar_classes.rb +17 -0
  48. data/spec/rspec/rails/mocks/stub_model_spec.rb +36 -15
  49. data/templates/Gemfile +2 -0
  50. metadata +23 -34
  51. data/lib/rspec/rails/monkey.rb +0 -1
  52. data/lib/rspec/rails/monkey/action_mailer/test_case.rb +0 -69
@@ -1 +0,0 @@
1
- require 'rspec/rails/monkey/action_mailer/test_case'
@@ -1,69 +0,0 @@
1
- if defined?(ActionMailer)
2
- module ActionMailer
3
- unless defined?(ActionMailer::TestCase::Behavior)
4
- class TestCase < ActiveSupport::TestCase
5
- module Behavior
6
- extend ActiveSupport::Concern
7
-
8
- include TestHelper
9
-
10
- module ClassMethods
11
- def tests(mailer)
12
- write_inheritable_attribute(:mailer_class, mailer)
13
- end
14
-
15
- def mailer_class
16
- if mailer = read_inheritable_attribute(:mailer_class)
17
- mailer
18
- else
19
- tests determine_default_mailer(name)
20
- end
21
- end
22
-
23
- def determine_default_mailer(name)
24
- name.sub(/Test$/, '').constantize
25
- rescue NameError => e
26
- raise NonInferrableMailerError.new(name)
27
- end
28
- end
29
-
30
- module InstanceMethods
31
-
32
- protected
33
-
34
- def initialize_test_deliveries
35
- ActionMailer::Base.delivery_method = :test
36
- ActionMailer::Base.perform_deliveries = true
37
- ActionMailer::Base.deliveries.clear
38
- end
39
-
40
- def set_expected_mail
41
- @expected = Mail.new
42
- @expected.content_type ["text", "plain", { "charset" => charset }]
43
- @expected.mime_version = '1.0'
44
- end
45
-
46
- private
47
-
48
- def charset
49
- "UTF-8"
50
- end
51
-
52
- def encode(subject)
53
- Mail::Encodings.q_value_encode(subject, charset)
54
- end
55
-
56
- def read_fixture(action)
57
- IO.readlines(File.join(Rails.root, 'test', 'fixtures', self.class.mailer_class.name.underscore, action))
58
- end
59
- end
60
-
61
- included do
62
- setup :initialize_test_deliveries
63
- setup :set_expected_mail
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end