Class: RSpec::Rails::Matchers::RenderTemplate::RenderTemplateMatcher Private
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| 
         Class Chain: 
        
       | 
    |
| 
         Instance Chain: 
        
       | 
    |
| Inherits: | 
        RSpec::Rails::Matchers::BaseMatcher
        
  | 
    
| Defined in: | rspec-rails/lib/rspec/rails/matchers/have_rendered.rb | 
Constant Summary
::RSpec::Rails::Matchers::BaseMatcher - Inherited
  
Class Method Summary
- .new(scope, expected, message = nil) ⇒ RenderTemplateMatcher constructor Internal use only
 
::RSpec::Rails::Matchers::BaseMatcher - Inherited
| .matcher_name, .new, | |
| .underscore | Borrowed from ActiveSupport.  | 
    
Instance Attribute Summary
::RSpec::Rails::Matchers::BaseMatcher - Inherited
| #actual, | |
| #diffable? | 
  | 
    
| #expected, #expects_call_stack_jump?, #matcher_name, #matcher_name=, #rescued_exception, | |
| #supports_block_expectations? | Most matchers are value matchers (i.e. meant to work with ‘expect(value)`) rather than block matchers (i.e. meant to work with `expect { }`), so this defaults to false.  | 
    
Instance Method Summary
- 
    
      #check_redirect  
    
    Internal use only
    
Uses normalize_argument_to_redirection to find and format the redirect location.
 - #failure_message Internal use only
 - #failure_message_when_negated Internal use only
 - #matches? ⇒ Boolean Internal use only
 
::RSpec::Rails::Matchers::BaseMatcher - Inherited
| #actual_formatted, | |
| #description | Generates a description using   | 
    
| #expected_formatted, | |
| #match_unless_raises | Used to wrap a block of code that will indicate failure by raising one of the named exceptions.  | 
    
| #matches? | Indicates if the match is successful.  | 
    
| #assert_ivars, #present_ivars | |
::RSpec::Rails::Matchers::BaseMatcher::DefaultFailureMessages - Included
| #failure_message | Provides a good generic failure message.  | 
    
| #failure_message_when_negated | Provides a good generic negative failure message.  | 
    
::RSpec::Rails::Matchers::BaseMatcher::HashFormatting - Included
| #improve_hash_formatting | ‘{   | 
    
::RSpec::Matchers::Composable - Included
| #& | Alias for Matchers::Composable#and.  | 
    
| #=== | Delegates to #matches?.  | 
    
| #and | Creates a compound   | 
    
| #description_of | Returns the description of the given object in a way that is aware of composed matchers.  | 
    
| #or | Creates a compound   | 
    
| #values_match? | This provides a generic way to fuzzy-match an expected value against an actual value.  | 
    
| #| | Alias for Matchers::Composable#or.  | 
    
| #should_enumerate? | We should enumerate arrays as long as they are not recursive.  | 
    
| #surface_descriptions_in | Transforms the given data structure (typically a hash or array) into a new data structure that, when   | 
    
| #unreadable_io?, | |
| #with_matchers_cloned | Historically, a single matcher instance was only checked against a single value.  | 
    
Instance Method Details
#check_redirect
Uses normalize_argument_to_redirection to find and format the redirect location. normalize_argument_to_redirection is private in ActionDispatch::Assertions::ResponseAssertions so we call it here using #send. This will keep the error message format consistent
# File 'rspec-rails/lib/rspec/rails/matchers/have_rendered.rb', line 29
def check_redirect response = @scope.response return unless response.respond_to?(:redirect?) && response.redirect? @redirect_is = @scope.send(:normalize_argument_to_redirection, response.location) end
#failure_message
[ GitHub ]# File 'rspec-rails/lib/rspec/rails/matchers/have_rendered.rb', line 37
def if @redirect_is rescued_exception.[/(.*?)( but|$)/, 1] + " but was a redirect to <#{@redirect_is}>" else rescued_exception. end end
#failure_message_when_negated
[ GitHub ]# File 'rspec-rails/lib/rspec/rails/matchers/have_rendered.rb', line 47
def "expected not to render #{expected.inspect}, but did" end
    #matches?  ⇒ Boolean 
  
# File 'rspec-rails/lib/rspec/rails/matchers/have_rendered.rb', line 16
def matches?(*) match_check = match_unless_raises ActiveSupport::TestCase::Assertion do @scope.assert_template expected, @message end check_redirect unless match_check match_check end