mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Sort and add some comments for mime type tests
This commit is contained in:
@@ -5,150 +5,154 @@ require 'test/unit'
|
||||
class TestMime < Test::Unit::TestCase
|
||||
include Linguist
|
||||
|
||||
def test_mime
|
||||
def test_extension_lookup
|
||||
# Default to plain text if we have no idea.
|
||||
assert_equal 'text/plain', Mime.mime_for(nil)
|
||||
assert_equal 'text/plain', Mime.mime_for("")
|
||||
assert_equal 'text/plain', Mime.mime_for('')
|
||||
|
||||
assert_equal 'application/javascript', Mime.mime_for(".js")
|
||||
assert_equal 'application/perl', Mime.mime_for(".pl")
|
||||
assert_equal 'application/perl', Mime.mime_for(".pm")
|
||||
assert_equal 'application/python', Mime.mime_for(".py")
|
||||
assert_equal 'application/ruby', Mime.mime_for(".rb")
|
||||
|
||||
assert_equal 'text/cache-manifest', Mime.mime_for(".manifest")
|
||||
assert_equal 'text/html', Mime.mime_for(".html")
|
||||
assert_equal 'text/nimrod', Mime.mime_for(".nim")
|
||||
assert_equal 'text/plain', Mime.mime_for(".kt")
|
||||
assert_equal 'application/sh', Mime.mime_for(".sh")
|
||||
assert_equal 'application/latex', Mime.mime_for(".latex")
|
||||
|
||||
assert_equal 'application/vnd.adobe.air-application-installer-package+zip',
|
||||
Mime.mime_for(".air")
|
||||
assert_equal 'application/shockwave-flash', Mime.mime_for(".swf")
|
||||
|
||||
assert_equal 'application/chrome-extension', Mime.mime_for(".crx")
|
||||
assert_equal 'application/debian-package', Mime.mime_for(".deb")
|
||||
|
||||
assert_equal 'application/silverlight-app', Mime.mime_for(".xap")
|
||||
assert_equal 'application/xaml+xml', Mime.mime_for(".xaml")
|
||||
assert_equal 'application/ms-xbap', Mime.mime_for(".xbap")
|
||||
|
||||
assert_equal 'application/vnd.oasis.opendocument.presentation', Mime.mime_for(".odp")
|
||||
assert_equal 'application/vnd.oasis.opendocument.spreadsheet', Mime.mime_for(".ods")
|
||||
assert_equal 'application/vnd.oasis.opendocument.text', Mime.mime_for(".odt")
|
||||
assert_equal 'application/vnd.openofficeorg.extension', Mime.mime_for(".oxt")
|
||||
assert_equal 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
||||
Mime.mime_for(".pptx")
|
||||
|
||||
assert_equal 'video/quicktime', Mime.mime_for(".mov")
|
||||
|
||||
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/octet-stream', Mime.mime_for(".dmg")
|
||||
assert_equal 'application/octet-stream', Mime.mime_for(".exe")
|
||||
assert_equal 'application/octet-stream', Mime.mime_for(".dll")
|
||||
|
||||
assert_equal 'application/java-archive', Mime.mime_for(".jar")
|
||||
assert_equal 'application/java-archive', Mime.mime_for(".ear")
|
||||
assert_equal 'application/java-archive', Mime.mime_for(".war")
|
||||
# Add an assertion to this list if you add/change any extensions
|
||||
# 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/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/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/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/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/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')
|
||||
assert_equal 'application/vnd.oasis.opendocument.text', Mime.mime_for('.odt')
|
||||
assert_equal 'application/vnd.openofficeorg.extension', Mime.mime_for('.oxt')
|
||||
assert_equal 'application/vnd.openxmlformats-officedocument.presentationml.presentation', Mime.mime_for('.pptx')
|
||||
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/nimrod', Mime.mime_for('.nim')
|
||||
assert_equal 'text/plain', Mime.mime_for('.kt')
|
||||
assert_equal 'video/quicktime', Mime.mime_for('.mov')
|
||||
end
|
||||
|
||||
def test_binary
|
||||
assert !Mime.binary?(nil)
|
||||
assert !Mime.binary?("")
|
||||
assert Mime.binary?('application/octet-stream')
|
||||
|
||||
assert Mime.binary?("application/octet-stream")
|
||||
assert !Mime.binary?("text/plain")
|
||||
# Add an assertion for any binary mime types added to mimes.yml.
|
||||
# Please keep this list alphabetized.
|
||||
assert Mime.binary?('application/java-archive')
|
||||
assert Mime.binary?('application/ogg')
|
||||
assert Mime.binary?('application/pdf')
|
||||
assert Mime.binary?('application/postscript')
|
||||
assert Mime.binary?('application/x-gzip')
|
||||
assert Mime.binary?('application/x-shockwave-flash')
|
||||
assert Mime.binary?('application/x-silverlight-app')
|
||||
assert Mime.binary?('application/zip')
|
||||
assert Mime.binary?('audio/mp4')
|
||||
assert Mime.binary?('image/gif')
|
||||
assert Mime.binary?('image/jpeg')
|
||||
assert Mime.binary?('image/png')
|
||||
|
||||
assert Mime.binary?("application/java-archive")
|
||||
assert Mime.binary?("application/ogg")
|
||||
assert Mime.binary?("application/pdf")
|
||||
assert Mime.binary?("application/postscript")
|
||||
assert Mime.binary?("application/x-gzip")
|
||||
assert Mime.binary?("application/x-shockwave-flash")
|
||||
assert Mime.binary?("application/x-silverlight-app")
|
||||
assert Mime.binary?("application/zip")
|
||||
assert Mime.binary?("audio/mp4")
|
||||
assert Mime.binary?("image/gif")
|
||||
assert Mime.binary?("image/jpeg")
|
||||
assert Mime.binary?("image/png")
|
||||
# Legacy. Prefer testing mime types instead of extensions.
|
||||
assert Mime.binary?('.a')
|
||||
assert Mime.binary?('.air')
|
||||
assert Mime.binary?('.blend')
|
||||
assert Mime.binary?('.crx')
|
||||
assert Mime.binary?('.deb')
|
||||
assert Mime.binary?('.dmg')
|
||||
assert Mime.binary?('.exe')
|
||||
assert Mime.binary?('.gem')
|
||||
assert Mime.binary?('.graffle')
|
||||
assert Mime.binary?('.gz')
|
||||
assert Mime.binary?('.icns')
|
||||
assert Mime.binary?('.ipa')
|
||||
assert Mime.binary?('.lib')
|
||||
assert Mime.binary?('.mcz')
|
||||
assert Mime.binary?('.mov')
|
||||
assert Mime.binary?('.mp3')
|
||||
assert Mime.binary?('.nib')
|
||||
assert Mime.binary?('.o')
|
||||
assert Mime.binary?('.odp')
|
||||
assert Mime.binary?('.ods')
|
||||
assert Mime.binary?('.odt')
|
||||
assert Mime.binary?('.ogg')
|
||||
assert Mime.binary?('.ogv')
|
||||
assert Mime.binary?('.otf')
|
||||
assert Mime.binary?('.pfx')
|
||||
assert Mime.binary?('.pigx')
|
||||
assert Mime.binary?('.plgx')
|
||||
assert Mime.binary?('.pptx')
|
||||
assert Mime.binary?('.psd')
|
||||
assert Mime.binary?('.sib')
|
||||
assert Mime.binary?('.so')
|
||||
assert Mime.binary?('.spl')
|
||||
assert Mime.binary?('.sqlite3')
|
||||
assert Mime.binary?('.swc')
|
||||
assert Mime.binary?('.swf')
|
||||
assert Mime.binary?('.tar')
|
||||
assert Mime.binary?('.ucode')
|
||||
assert Mime.binary?('.xpi')
|
||||
assert Mime.binary?('.zip')
|
||||
end
|
||||
|
||||
assert Mime.binary?(".a")
|
||||
assert Mime.binary?(".air")
|
||||
assert Mime.binary?(".blend")
|
||||
assert Mime.binary?(".crx")
|
||||
assert Mime.binary?(".deb")
|
||||
assert Mime.binary?(".dmg")
|
||||
assert Mime.binary?(".exe")
|
||||
assert Mime.binary?(".gem")
|
||||
assert Mime.binary?(".graffle")
|
||||
assert Mime.binary?(".gz")
|
||||
assert Mime.binary?(".icns")
|
||||
assert Mime.binary?(".ipa")
|
||||
assert Mime.binary?(".lib")
|
||||
assert Mime.binary?(".mcz")
|
||||
assert Mime.binary?(".mov")
|
||||
assert Mime.binary?(".mp3")
|
||||
assert Mime.binary?(".nib")
|
||||
assert Mime.binary?(".o")
|
||||
assert Mime.binary?(".odp")
|
||||
assert Mime.binary?(".ods")
|
||||
assert Mime.binary?(".odt")
|
||||
assert Mime.binary?(".ogg")
|
||||
assert Mime.binary?(".ogv")
|
||||
assert Mime.binary?(".otf")
|
||||
assert Mime.binary?(".pfx")
|
||||
assert Mime.binary?(".pigx")
|
||||
assert Mime.binary?(".plgx")
|
||||
assert Mime.binary?(".pptx")
|
||||
assert Mime.binary?(".psd")
|
||||
assert Mime.binary?(".sib")
|
||||
assert Mime.binary?(".so")
|
||||
assert Mime.binary?(".spl")
|
||||
assert Mime.binary?(".sqlite3")
|
||||
assert Mime.binary?(".swc")
|
||||
assert Mime.binary?(".swf")
|
||||
assert Mime.binary?(".tar")
|
||||
assert Mime.binary?(".ucode")
|
||||
assert Mime.binary?(".xpi")
|
||||
assert Mime.binary?(".zip")
|
||||
def test_text
|
||||
# By default, assume the plain text.
|
||||
assert Mime.text?(nil)
|
||||
assert Mime.text?('')
|
||||
|
||||
assert !Mime.binary?("application/atom+xml")
|
||||
assert !Mime.binary?("application/javascript")
|
||||
assert !Mime.binary?("application/json")
|
||||
assert !Mime.binary?("application/perl")
|
||||
assert !Mime.binary?("application/rdf+xml")
|
||||
assert !Mime.binary?("application/sh")
|
||||
assert !Mime.binary?("application/x-ms-xbap")
|
||||
assert !Mime.binary?("application/x-perl")
|
||||
assert !Mime.binary?("application/x-python")
|
||||
assert !Mime.binary?("application/x-ruby")
|
||||
assert !Mime.binary?("application/xaml+xml")
|
||||
assert !Mime.binary?("application/xhtml+xml")
|
||||
assert !Mime.binary?("application/xml")
|
||||
assert !Mime.binary?("text/cache-manifest")
|
||||
assert !Mime.binary?("text/css")
|
||||
assert !Mime.binary?("text/csv")
|
||||
assert !Mime.binary?("text/html")
|
||||
assert !Mime.binary?("text/javascript")
|
||||
assert !Mime.binary?("text/plain")
|
||||
assert !Mime.binary?("text/x-nimrod")
|
||||
assert Mime.text?('text/plain')
|
||||
|
||||
assert !Mime.binary?(".js")
|
||||
assert !Mime.binary?(".latex")
|
||||
assert !Mime.binary?(".ms")
|
||||
assert !Mime.binary?(".nc")
|
||||
assert !Mime.binary?(".pl")
|
||||
assert !Mime.binary?(".pm")
|
||||
assert !Mime.binary?(".py")
|
||||
assert !Mime.binary?(".rb")
|
||||
assert !Mime.binary?(".sh")
|
||||
assert !Mime.binary?(".src")
|
||||
assert !Mime.binary?(".tcl")
|
||||
assert !Mime.binary?(".texi")
|
||||
assert !Mime.binary?(".texinfo")
|
||||
assert !Mime.binary?(".xul")
|
||||
# Add an assertion for any text mime types added to mimes.yml.
|
||||
# Please keep this list alphabetized.
|
||||
assert Mime.text?('application/atom+xml')
|
||||
assert Mime.text?('application/javascript')
|
||||
assert Mime.text?('application/json')
|
||||
assert Mime.text?('application/perl')
|
||||
assert Mime.text?('application/rdf+xml')
|
||||
assert Mime.text?('application/sh')
|
||||
assert Mime.text?('application/x-ms-xbap')
|
||||
assert Mime.text?('application/x-perl')
|
||||
assert Mime.text?('application/x-python')
|
||||
assert Mime.text?('application/x-ruby')
|
||||
assert Mime.text?('application/xaml+xml')
|
||||
assert Mime.text?('application/xhtml+xml')
|
||||
assert Mime.text?('application/xml')
|
||||
assert Mime.text?('text/cache-manifest')
|
||||
assert Mime.text?('text/css')
|
||||
assert Mime.text?('text/csv')
|
||||
assert Mime.text?('text/html')
|
||||
assert Mime.text?('text/javascript')
|
||||
assert Mime.text?('text/plain')
|
||||
assert Mime.text?('text/x-nimrod')
|
||||
|
||||
# Legacy. Prefer testing mime types instead of extensions.
|
||||
assert Mime.text?('.js')
|
||||
assert Mime.text?('.latex')
|
||||
assert Mime.text?('.ms')
|
||||
assert Mime.text?('.nc')
|
||||
assert Mime.text?('.pl')
|
||||
assert Mime.text?('.pm')
|
||||
assert Mime.text?('.py')
|
||||
assert Mime.text?('.rb')
|
||||
assert Mime.text?('.sh')
|
||||
assert Mime.text?('.src')
|
||||
assert Mime.text?('.tcl')
|
||||
assert Mime.text?('.texi')
|
||||
assert Mime.text?('.texinfo')
|
||||
assert Mime.text?('.xul')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user