diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-25 03:15:58 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-25 03:15:58 +0000 |
commit | e435d6b7103f0d0c57133121454458bda6ccb69f (patch) | |
tree | 191cc13161304ec78aed429ff47c1000a3fb97c6 /net/base/mime_sniffer_unittest.cc | |
parent | 354589750cf3959506e5c2a34e66cc462fb7f3c4 (diff) | |
download | chromium_src-e435d6b7103f0d0c57133121454458bda6ccb69f.zip chromium_src-e435d6b7103f0d0c57133121454458bda6ccb69f.tar.gz chromium_src-e435d6b7103f0d0c57133121454458bda6ccb69f.tar.bz2 |
Implement mimetype sniffing for extensions.
abarth: can you review the changes to mime_sniffer.cc?
paul: everything else?
BUG=13296
TEST=Added unit tests
Review URL: http://codereview.chromium.org/159345
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21612 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/mime_sniffer_unittest.cc')
-rw-r--r-- | net/base/mime_sniffer_unittest.cc | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/net/base/mime_sniffer_unittest.cc b/net/base/mime_sniffer_unittest.cc index 96eb441..ed1634c 100644 --- a/net/base/mime_sniffer_unittest.cc +++ b/net/base/mime_sniffer_unittest.cc @@ -90,6 +90,70 @@ TEST(MimeSnifferTest, BasicSniffingTest) { TestArray(tests, arraysize(tests)); } +TEST(MimeSnifferTest, ChromeExtensionsTest) { + SnifferTest tests[] = { + // schemes + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.crx", + "", "application/x-chrome-extension" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "https://www.example.com/foo.crx", + "", "application/x-chrome-extension" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "ftp://www.example.com/foo.crx", + "", "application/x-chrome-extension" }, + + // some other mimetypes that should get converted + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.crx", + "text/plain", "application/x-chrome-extension" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.crx", + "application/octet-stream", "application/x-chrome-extension" }, + + // success edge cases + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.crx?query=string", + "", "application/x-chrome-extension" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo..crx", + "", "application/x-chrome-extension" }, + + // wrong file extension + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.bin", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.bin?monkey", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "invalid-url", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foocrx", + "", "application/octet-stream" }, + { "Cr24\x02\x00\x00\x00", sizeof("Cr24\x02\x00\x00\x00")-1, + "http://www.example.com/foo.crx.blech", + "", "application/octet-stream" }, + + // wrong magic + { "Cr24\x02\x00\x00\x01", sizeof("Cr24\x02\x00\x00\x01")-1, + "http://www.example.com/foo.crx?monkey", + "", "application/octet-stream" }, + }; + + TestArray(tests, arraysize(tests)); +} + TEST(MimeSnifferTest, MozillaCompatibleTest) { SnifferTest tests[] = { { " \n <hTmL>\n <hea", sizeof(" \n <hTmL>\n <hea")-1, |