From 8c135a9efff7087f6fcc16652596efeeea5d1822 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Thu, 6 Oct 2011 18:04:29 -0400 Subject: [PATCH] Serve actual content-type, not simplified --- lib/linguist/mime.rb | 2 +- test/test_blob.rb | 4 ++-- test/test_mime.rb | 50 +++++++++++++++++++++---------------------- test/test_pathname.rb | 4 ++-- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lib/linguist/mime.rb b/lib/linguist/mime.rb index 871669ec..613e0914 100644 --- a/lib/linguist/mime.rb +++ b/lib/linguist/mime.rb @@ -55,7 +55,7 @@ module Linguist # Return mime type String otherwise falls back to 'text/plain'. def self.mime_for(ext) mime_type = lookup_mime_type_for(ext) - mime_type ? mime_type.simplified : 'text/plain' + mime_type ? mime_type.to_s : 'text/plain' end # Internal: Lookup mime type for extension or mime type diff --git a/test/test_blob.rb b/test/test_blob.rb index 712dfa19..56cd7f5e 100644 --- a/test/test_blob.rb +++ b/test/test_blob.rb @@ -28,8 +28,8 @@ class TestBlob < Test::Unit::TestCase def test_mime_type assert_equal "application/octet-stream", blob("dog.o").mime_type assert_equal "application/postscript", blob("octocat.ai").mime_type - assert_equal "application/ruby", blob("grit.rb").mime_type - assert_equal "application/sh", blob("script.sh").mime_type + assert_equal "application/x-ruby", blob("grit.rb").mime_type + assert_equal "application/x-sh", blob("script.sh").mime_type assert_equal "application/xml", blob("bar.xml").mime_type assert_equal "text/plain", blob("README").mime_type end diff --git a/test/test_mime.rb b/test/test_mime.rb index 00b48999..172aa7e9 100644 --- a/test/test_mime.rb +++ b/test/test_mime.rb @@ -14,31 +14,31 @@ class TestMime < Test::Unit::TestCase # in mimes.yml. Its still useful to test even trivial cases since # MIME::Type's extension lookup may return multiple matches and we # only pick one of them. Please keep this list alphabetized. - assert_equal 'application/chrome-extension', Mime.mime_for('.crx') - assert_equal 'application/debian-package', Mime.mime_for('.deb') - assert_equal 'application/iwork-keynote-sffkey', Mime.mime_for('.key') - assert_equal 'application/iwork-numbers-sffnumbers', Mime.mime_for('.numbers') - assert_equal 'application/iwork-pages-sffpages', Mime.mime_for('.pages') - assert_equal 'application/java-archive', Mime.mime_for('.ear') - assert_equal 'application/java-archive', Mime.mime_for('.jar') - assert_equal 'application/java-archive', Mime.mime_for('.war') + assert_equal 'application/x-chrome-extension', Mime.mime_for('.crx') + assert_equal 'application/x-debian-package', Mime.mime_for('.deb') + assert_equal 'application/x-iwork-keynote-sffkey', Mime.mime_for('.key') + assert_equal 'application/x-iwork-numbers-sffnumbers', Mime.mime_for('.numbers') + assert_equal 'application/x-iwork-pages-sffpages', Mime.mime_for('.pages') + assert_equal 'application/x-java-archive', Mime.mime_for('.ear') + assert_equal 'application/x-java-archive', Mime.mime_for('.jar') + assert_equal 'application/x-java-archive', Mime.mime_for('.war') assert_equal 'application/javascript', Mime.mime_for('.js') - assert_equal 'application/latex', Mime.mime_for('.latex') - assert_equal 'application/ms-xbap', Mime.mime_for('.xbap') + assert_equal 'application/x-latex', Mime.mime_for('.latex') + assert_equal 'application/x-ms-xbap', Mime.mime_for('.xbap') assert_equal 'application/octet-stream', Mime.mime_for('.dll') assert_equal 'application/octet-stream', Mime.mime_for('.dmg') assert_equal 'application/octet-stream', Mime.mime_for('.exe') - assert_equal 'application/perl', Mime.mime_for('.pl') - assert_equal 'application/perl', Mime.mime_for('.pm') + assert_equal 'application/x-perl', Mime.mime_for('.pl') + assert_equal 'application/x-perl', Mime.mime_for('.pm') assert_equal 'application/postscript', Mime.mime_for('.ai') assert_equal 'application/postscript', Mime.mime_for('.eps') assert_equal 'application/postscript', Mime.mime_for('.ps') - assert_equal 'application/python', Mime.mime_for('.py') - assert_equal 'application/ruby', Mime.mime_for('.rb') - assert_equal 'application/sh', Mime.mime_for('.sh') - assert_equal 'application/shockwave-flash', Mime.mime_for('.swf') - assert_equal 'application/silverlight-app', Mime.mime_for('.xap') - assert_equal 'application/supercollider', Mime.mime_for('.sc') + assert_equal 'application/x-python', Mime.mime_for('.py') + assert_equal 'application/x-ruby', Mime.mime_for('.rb') + assert_equal 'application/x-sh', Mime.mime_for('.sh') + assert_equal 'application/x-shockwave-flash', Mime.mime_for('.swf') + assert_equal 'application/x-silverlight-app', Mime.mime_for('.xap') + assert_equal 'application/x-supercollider', Mime.mime_for('.sc') assert_equal 'application/vnd.adobe.air-application-installer-package+zip', Mime.mime_for('.air') assert_equal 'application/vnd.oasis.opendocument.presentation', Mime.mime_for('.odp') assert_equal 'application/vnd.oasis.opendocument.spreadsheet', Mime.mime_for('.ods') @@ -48,11 +48,11 @@ class TestMime < Test::Unit::TestCase assert_equal 'application/xaml+xml', Mime.mime_for('.xaml') assert_equal 'text/cache-manifest', Mime.mime_for('.manifest') assert_equal 'text/html', Mime.mime_for('.html') - assert_equal 'text/nemerle', Mime.mime_for('.n') - assert_equal 'text/nimrod', Mime.mime_for('.nim') - assert_equal 'text/ocaml', Mime.mime_for('.ml') - assert_equal 'text/ocaml', Mime.mime_for('.sig') - assert_equal 'text/ocaml', Mime.mime_for('.sml') + assert_equal 'text/x-nemerle', Mime.mime_for('.n') + assert_equal 'text/x-nimrod', Mime.mime_for('.nim') + assert_equal 'text/x-ocaml', Mime.mime_for('.ml') + assert_equal 'text/x-ocaml', Mime.mime_for('.sig') + assert_equal 'text/x-ocaml', Mime.mime_for('.sml') assert_equal 'text/plain', Mime.mime_for('.c') assert_equal 'text/plain', Mime.mime_for('.cc') assert_equal 'text/plain', Mime.mime_for('.cpp') @@ -62,8 +62,8 @@ class TestMime < Test::Unit::TestCase assert_equal 'text/plain', Mime.mime_for('.hh') assert_equal 'text/plain', Mime.mime_for('.hpp') assert_equal 'text/plain', Mime.mime_for('.kt') - assert_equal 'text/rust', Mime.mime_for('.rs') - assert_equal 'text/rust', Mime.mime_for('.rc') + assert_equal 'text/x-rust', Mime.mime_for('.rs') + assert_equal 'text/x-rust', Mime.mime_for('.rc') assert_equal 'video/quicktime', Mime.mime_for('.mov') end end diff --git a/test/test_pathname.rb b/test/test_pathname.rb index a6a3367c..714657ee 100644 --- a/test/test_pathname.rb +++ b/test/test_pathname.rb @@ -54,9 +54,9 @@ class TestPathname < Test::Unit::TestCase end def test_mime_type - assert_equal 'application/ruby', Pathname.new("file.rb").mime_type + assert_equal 'application/x-ruby', Pathname.new("file.rb").mime_type assert_equal 'application/javascript', Pathname.new("file.js").mime_type - assert_equal 'application/python', Pathname.new("itty.py").mime_type + assert_equal 'application/x-python', Pathname.new("itty.py").mime_type assert_equal 'text/plain', Pathname.new("defun.kt").mime_type end end