    # File lib/action_controller/assertions/response_assertions.rb, line 99
          def assert_template(options = {}, message = nil)
            clean_backtrace do
              case options
               when NilClass, String, Symbol
                rendered = @response.rendered[:template].to_s
                msg = build_message(message,
                        "expecting <?> but rendering with <?>",
                        options, rendered)
                assert_block(msg) do
                  if options.nil?
                    @response.rendered[:template].blank?
                  else
                    rendered.to_s.match(options.to_s)
                  end
                end
              when Hash
                if expected_partial = options[:partial]
                  partials = @response.rendered[:partials]
                  if expected_count = options[:count]
                    found = partials.detect { |p, _| p.to_s.match(expected_partial) }
                    actual_count = found.nil? ? 0 : found.second
                    msg = build_message(message,
                            "expecting ? to be rendered ? time(s) but rendered ? time(s)",
                             expected_partial, expected_count, actual_count)
                    assert(actual_count == expected_count.to_i, msg)
                  else
                    msg = build_message(message,
                            "expecting partial <?> but action rendered <?>",
                            options[:partial], partials.keys)
                    assert(partials.keys.any? { |p| p.to_s.match(expected_partial) }, msg)
                  end
                else
                  assert @response.rendered[:partials].empty?,
                    "Expected no partials to be rendered"
                end
              else
                raise ArgumentError
              end
            end
          end