Class: Spec::Rails::Matchers::RenderTemplate
- Inherits:
-
Object
- Object
- Spec::Rails::Matchers::RenderTemplate
- Defined in:
- lib/spec/rails/matchers/render_template.rb
Overview
:nodoc:
Instance Method Summary collapse
- #description ⇒ Object
- #failure_message_for_should ⇒ Object
- #failure_message_for_should_not ⇒ Object
-
#initialize(expected, controller) ⇒ RenderTemplate
constructor
A new instance of RenderTemplate.
- #matches?(response_or_controller) ⇒ Boolean
Constructor Details
#initialize(expected, controller) ⇒ RenderTemplate
Returns a new instance of RenderTemplate.
7 8 9 10 |
# File 'lib/spec/rails/matchers/render_template.rb', line 7 def initialize(expected, controller) @controller = controller @expected = expected end |
Instance Method Details
#description ⇒ Object
47 48 49 |
# File 'lib/spec/rails/matchers/render_template.rb', line 47 def description "render template #{@expected.inspect}" end |
#failure_message_for_should ⇒ Object
39 40 41 |
# File 'lib/spec/rails/matchers/render_template.rb', line 39 def "expected #{@expected.inspect}, got #{@actual.inspect}" end |
#failure_message_for_should_not ⇒ Object
43 44 45 |
# File 'lib/spec/rails/matchers/render_template.rb', line 43 def "expected not to render #{@expected.inspect}, but did" end |
#matches?(response_or_controller) ⇒ Boolean
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/spec/rails/matchers/render_template.rb', line 12 def matches?(response_or_controller) response = response_or_controller.respond_to?(:response) ? response_or_controller.response : response_or_controller if response.respond_to?(:rendered_file) @actual = response.rendered_file elsif response.respond_to?(:rendered) case template = response.rendered[:template] when nil unless response.rendered[:partials].empty? @actual = path_and_file(response.rendered[:partials].keys.first).join("/_") end when ActionView::Template @actual = template.path when String @actual = template end else @actual = response.rendered_template.to_s end return false if @actual.blank? given_controller_path, given_file = path_and_file(@actual) expected_controller_path, expected_file = path_and_file(@expected) given_controller_path == expected_controller_path && given_file.match(expected_file) end |