aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJustin Campbell <justin@justincampbell.me>2011-12-17 07:39:52 -0500
committerJustin Campbell <justin@justincampbell.me>2011-12-17 07:40:25 -0500
commit4d5266e2706195888c9f72fdc9ebde22f89a08df (patch)
treed692c3bf08334ef7af8a376d20f09ee07ad04842 /actionpack
parent4f35d5a18b1192f03c36b23b2f6a8b3b2d2c0347 (diff)
downloadrails-4d5266e2706195888c9f72fdc9ebde22f89a08df.tar.gz
rails-4d5266e2706195888c9f72fdc9ebde22f89a08df.tar.bz2
rails-4d5266e2706195888c9f72fdc9ebde22f89a08df.zip
Allow symbols to be passed for extension aliases
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/http/mime_type.rb2
-rw-r--r--actionpack/test/dispatch/mime_type_test.rb11
2 files changed, 12 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_type.rb b/actionpack/lib/action_dispatch/http/mime_type.rb
index 8a9f9c4315..25affb9f50 100644
--- a/actionpack/lib/action_dispatch/http/mime_type.rb
+++ b/actionpack/lib/action_dispatch/http/mime_type.rb
@@ -103,7 +103,7 @@ module Mime
SET << Mime.const_get(symbol.to_s.upcase)
([string] + mime_type_synonyms).each { |str| LOOKUP[str] = SET.last } unless skip_lookup
- ([symbol.to_s] + extension_synonyms).each { |ext| EXTENSION_LOOKUP[ext] = SET.last }
+ ([symbol] + extension_synonyms).each { |ext| EXTENSION_LOOKUP[ext.to_s] = SET.last }
end
def parse(accept_header)
diff --git a/actionpack/test/dispatch/mime_type_test.rb b/actionpack/test/dispatch/mime_type_test.rb
index 08fe2127b9..7a94b188ce 100644
--- a/actionpack/test/dispatch/mime_type_test.rb
+++ b/actionpack/test/dispatch/mime_type_test.rb
@@ -95,6 +95,17 @@ class MimeTypeTest < ActiveSupport::TestCase
end
end
+ test "custom type with extension aliases" do
+ begin
+ Mime::Type.register "text/foobar", :foobar, [], [:foo, "bar"]
+ %w[foobar foo bar].each do |extension|
+ assert_equal Mime::FOOBAR, Mime::EXTENSION_LOOKUP[extension]
+ end
+ ensure
+ Mime::Type.unregister(:FOOBAR)
+ end
+ end
+
test "type should be equal to symbol" do
assert_equal Mime::HTML, 'application/xhtml+xml'
assert_equal Mime::HTML, :html