Index: net/base/mime_sniffer_unittest.cc |
diff --git a/net/base/mime_sniffer_unittest.cc b/net/base/mime_sniffer_unittest.cc |
index d70cb230cb59c0a6623d07a5b78cb993cdd2be1d..7a9eedccd4725e3e1f5602767bfccd657f5ecc43 100644 |
--- a/net/base/mime_sniffer_unittest.cc |
+++ b/net/base/mime_sniffer_unittest.cc |
@@ -157,6 +157,36 @@ TEST(MimeSnifferTest, ChromeExtensionsTest) { |
TestArray(tests, arraysize(tests)); |
} |
+TEST(MimeSnifferTest, MHTMLTest) { |
+ // Simple MHT file. |
+ EXPECT_EQ("multipart/related", |
+ SniffMimeType("From: Chrome\r\n", |
+ "file://c/Users/Q/foo.mht", |
+ "")); |
+ // Simple MHTML file. |
+ EXPECT_EQ("multipart/related", |
+ SniffMimeType("From: Chrome\r\n", |
+ "file://c/Users/Q/foo.mhtml", |
+ "")); |
+ // File with bad extension. |
+ EXPECT_EQ("text/plain", |
+ SniffMimeType("From: Chrome\r\n", |
+ "file://c/Users/Q/foo.mhtm", |
+ "")); |
+ // MHTML should not be sniffed, regardless of the extension. |
+ EXPECT_FALSE(net::ShouldSniffMimeType( |
+ GURL("http://www.example.com/foo.mht"), "multipart/related")); |
+ EXPECT_FALSE(net::ShouldSniffMimeType( |
+ GURL("http://www.example.com/foo.mhtml"), "multipart/related")); |
+ EXPECT_FALSE(net::ShouldSniffMimeType( |
+ GURL("http://www.example.com/foo"), "multipart/related")); |
+ // MHTML served as plain-text is not recognized. |
+ EXPECT_EQ("text/plain", |
+ SniffMimeType("From: Chrome\r\n", |
+ "http://www.example.com/foo", |
+ "text/plain")); |
+} |
+ |
TEST(MimeSnifferTest, MozillaCompatibleTest) { |
SnifferTest tests[] = { |
{ " \n <hTmL>\n <hea", sizeof(" \n <hTmL>\n <hea")-1, |