Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: net/base/filter_unittest.cc

Issue 62111: Give the filter setup more context so it can figure out whether it's download... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/base/filter_unittest.cc
===================================================================
--- net/base/filter_unittest.cc (revision 13526)
+++ net/base/filter_unittest.cc (working copy)
@@ -77,7 +77,7 @@
encoding_types.push_back(Filter::FILTER_TYPE_SDCH);
filter_context.SetMimeType(kGzipMime1);
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(1U, encoding_types.size());
+ ASSERT_EQ(1U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH, encoding_types.front());
// Check to be sure that gzip can survive with other mime types.
@@ -85,7 +85,7 @@
encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
filter_context.SetMimeType("other/mime");
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(1U, encoding_types.size());
+ ASSERT_EQ(1U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_GZIP, encoding_types.front());
}
@@ -104,7 +104,7 @@
encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
filter_context.SetMimeType(kTextHtmlMime);
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(2U, encoding_types.size());
+ ASSERT_EQ(2U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH, encoding_types[0]);
EXPECT_EQ(Filter::FILTER_TYPE_GZIP, encoding_types[1]);
@@ -114,7 +114,7 @@
encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
filter_context.SetMimeType("other/type");
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(2U, encoding_types.size());
+ ASSERT_EQ(2U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH, encoding_types[0]);
EXPECT_EQ(Filter::FILTER_TYPE_GZIP, encoding_types[1]);
@@ -122,7 +122,7 @@
encoding_types.clear();
encoding_types.push_back(Filter::FILTER_TYPE_SDCH);
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(2U, encoding_types.size());
+ ASSERT_EQ(2U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH, encoding_types[0]);
EXPECT_EQ(Filter::FILTER_TYPE_GZIP_HELPING_SDCH, encoding_types[1]);
}
@@ -140,7 +140,7 @@
encoding_types.clear();
filter_context.SetMimeType(kTextHtmlMime);
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(2U, encoding_types.size());
+ ASSERT_EQ(2U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH_POSSIBLE, encoding_types[0]);
EXPECT_EQ(Filter::FILTER_TYPE_GZIP_HELPING_SDCH, encoding_types[1]);
@@ -152,7 +152,7 @@
encoding_types.clear();
filter_context.SetMimeType("text/html; charset=UTF-8");
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(2U, encoding_types.size());
+ ASSERT_EQ(2U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH_POSSIBLE, encoding_types[0]);
EXPECT_EQ(Filter::FILTER_TYPE_GZIP_HELPING_SDCH, encoding_types[1]);
@@ -160,7 +160,55 @@
encoding_types.clear();
filter_context.SetMimeType("other/mime");
Filter::FixupEncodingTypes(filter_context, &encoding_types);
- EXPECT_EQ(2U, encoding_types.size());
+ ASSERT_EQ(2U, encoding_types.size());
EXPECT_EQ(Filter::FILTER_TYPE_SDCH_POSSIBLE, encoding_types[0]);
EXPECT_EQ(Filter::FILTER_TYPE_GZIP_HELPING_SDCH, encoding_types[1]);
}
+
+TEST(FilterTest, Svgz) {
+ const int kInputBufferSize(100);
+ MockFilterContext filter_context(kInputBufferSize);
+
+ // Check that svgz files are only decompressed when not downloading.
+ const std::string kSvgzMime("image/svg+xml");
+ const std::string kSvgzUrl("http://ignore.com/foo.svgz");
+ const std::string kSvgUrl("http://ignore.com/foo.svg");
+ std::vector<Filter::FilterType> encoding_types;
+
+ // Test svgz extension
+ encoding_types.clear();
+ encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
+ filter_context.SetDownload(false);
+ filter_context.SetMimeType(kSvgzMime);
+ filter_context.SetURL(GURL(kSvgzUrl));
+ Filter::FixupEncodingTypes(filter_context, &encoding_types);
+ ASSERT_EQ(1U, encoding_types.size());
+ EXPECT_EQ(Filter::FILTER_TYPE_GZIP, encoding_types.front());
+
+ encoding_types.clear();
+ encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
+ filter_context.SetDownload(true);
+ filter_context.SetMimeType(kSvgzMime);
+ filter_context.SetURL(GURL(kSvgzUrl));
+ Filter::FixupEncodingTypes(filter_context, &encoding_types);
+ EXPECT_TRUE(encoding_types.empty());
+
+ // Test svg extension
+ encoding_types.clear();
+ encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
+ filter_context.SetDownload(false);
+ filter_context.SetMimeType(kSvgzMime);
+ filter_context.SetURL(GURL(kSvgUrl));
+ Filter::FixupEncodingTypes(filter_context, &encoding_types);
+ ASSERT_EQ(1U, encoding_types.size());
+ EXPECT_EQ(Filter::FILTER_TYPE_GZIP, encoding_types.front());
+
+ encoding_types.clear();
+ encoding_types.push_back(Filter::FILTER_TYPE_GZIP);
+ filter_context.SetDownload(true);
+ filter_context.SetMimeType(kSvgzMime);
+ filter_context.SetURL(GURL(kSvgUrl));
+ Filter::FixupEncodingTypes(filter_context, &encoding_types);
+ ASSERT_EQ(1U, encoding_types.size());
+ EXPECT_EQ(Filter::FILTER_TYPE_GZIP, encoding_types.front());
+}

Powered by Google App Engine
This is Rietveld 408576698