diff --git a/lib/rspec/rails/example/view_example_group.rb b/lib/rspec/rails/example/view_example_group.rb index 2240dd830a..05f58da38e 100644 --- a/lib/rspec/rails/example/view_example_group.rb +++ b/lib/rspec/rails/example/view_example_group.rb @@ -150,10 +150,12 @@ def _default_render_options match = path_regex.match(_default_file_to_render) render_options = {template: match[:template]} - render_options[:handlers] = [match[:handler]] if match[:handler] + + # remove stringified parts when dropping rails-4.x support + render_options[:handlers] = [match[:handler], match[:handler].to_sym] if match[:handler] render_options[:formats] = [match[:format].to_sym] if match[:format] - render_options[:locales] = [match[:locale]] if match[:locale] - render_options[:variants] = [match[:variant]] if match[:variant] + render_options[:locales] = [match[:locale], match[:locale].to_sym] if match[:locale] + render_options[:variants] = [match[:variant], match[:variant].to_sym] if match[:variant] render_options end diff --git a/spec/rspec/rails/example/view_example_group_spec.rb b/spec/rspec/rails/example/view_example_group_spec.rb index d16002ff60..85f1c42674 100644 --- a/spec/rspec/rails/example/view_example_group_spec.rb +++ b/spec/rspec/rails/example/view_example_group_spec.rb @@ -148,19 +148,19 @@ def _default_file_to_render; end # Stub method it "converts the filename components into render options" do allow(view_spec).to receive(:_default_file_to_render) { "widgets/new.en.html.erb" } view_spec.render - expect(view_spec.received.first).to eq([{template: "widgets/new", locales: ['en'], formats: [:html], handlers: ['erb']}, {}, nil]) + expect(view_spec.received.first).to eq([{template: "widgets/new", locales: ['en', :en], formats: [:html], handlers: ['erb', :erb]}, {}, nil]) end it "converts the filename with variant into render options" do allow(view_spec).to receive(:_default_file_to_render) { "widgets/new.en.html+fancy.erb" } view_spec.render - expect(view_spec.received.first).to eq([{template: "widgets/new", locales: ['en'], formats: [:html], handlers: ['erb'], variants: ['fancy']}, {}, nil]) + expect(view_spec.received.first).to eq([{template: "widgets/new", locales: ['en', :en], formats: [:html], handlers: ['erb', :erb], variants: ['fancy', :fancy]}, {}, nil]) end it "converts the filename without format into render options" do allow(view_spec).to receive(:_default_file_to_render) { "widgets/new.en.erb" } view_spec.render - expect(view_spec.received.first).to eq([{template: "widgets/new", locales: ['en'], handlers: ['erb']}, {}, nil]) + expect(view_spec.received.first).to eq([{template: "widgets/new", locales: ['en', :en], handlers: ['erb', :erb]}, {}, nil]) end end