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

Sign up to get free protection for your applications and to get access to all the features.
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