| 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());
|
| +}
|
|
|