From 0a1ba4eab0c442f3e9f4027e4b5d3418f8eb6ca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Sat, 7 May 2011 23:43:25 +0200 Subject: [PATCH] Always expand */* --- actionpack/lib/action_view/lookup_context.rb | 11 ++++------- actionpack/test/template/lookup_context_test.rb | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/actionpack/lib/action_view/lookup_context.rb b/actionpack/lib/action_view/lookup_context.rb index 02114f46da..f0ed3425de 100644 --- a/actionpack/lib/action_view/lookup_context.rb +++ b/actionpack/lib/action_view/lookup_context.rb @@ -167,15 +167,12 @@ module ActionView @frozen_formats = true end - # Overload formats= to reject ["*/*"] values. + # Overload formats= to expand ["*/*"] values and automatically + # add :html as fallback to :js. def formats=(values) if values - values.pop if values.last == "*/*" - if values.size == 0 - values = nil - elsif values == [:js] - values << :html - end + values.concat(_formats_defaults) if values.delete "*/*" + values << :html if values == [:js] end super(values) end diff --git a/actionpack/test/template/lookup_context_test.rb b/actionpack/test/template/lookup_context_test.rb index e7680bc022..f34a40795a 100644 --- a/actionpack/test/template/lookup_context_test.rb +++ b/actionpack/test/template/lookup_context_test.rb @@ -53,7 +53,7 @@ class LookupContextTest < ActiveSupport::TestCase test "handles explicitly defined */* formats fallback to :js" do @lookup_context.formats = [:js, Mime::ALL] - assert_equal [:js, :html], @lookup_context.formats + assert_equal [:js, *Mime::SET.symbols], @lookup_context.formats end test "adds :html fallback to :js formats" do