module RSpec::Rails::ViewExampleGroup::ExampleMethods
def _default_render_options
def _default_render_options formats = if ActionView::Template::Types.respond_to?(:symbols) ActionView::Template::Types.symbols else [:html, :text, :js, :css, :xml, :json].map(&:to_s) end.map { |x| Regexp.escape(x) }.join("|") handlers = ActionView::Template::Handlers.extensions.map { |x| Regexp.escape(x) }.join("|") locales = "[a-z]{2}(?:-[A-Z]{2})?" variants = "[^.]*" path_regex = %r{ \A (?<template>.*?) (?:\.(?<locale>#{locales}))?? (?:\.(?<format>#{formats}))?? (?:\+(?<variant>#{variants}))?? (?:\.(?<handler>#{handlers}))? \z }x # This regex should always find a match. # Worst case, everything will be nil, and :template will just be # the original string. match = path_regex.match(_default_file_to_render) render_options = { template: match[:template] } render_options[:handlers] = [match[:handler].to_sym] if match[:handler] render_options[:formats] = [match[:format].to_sym] if match[:format] render_options[:locales] = [match[:locale].to_sym] if match[:locale] render_options[:variants] = [match[:variant].to_sym] if match[:variant] render_options end