| Index: net/base/sdch_filter_unittest.cc
|
| ===================================================================
|
| --- net/base/sdch_filter_unittest.cc (revision 4002)
|
| +++ net/base/sdch_filter_unittest.cc (working copy)
|
| @@ -2,8 +2,6 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -// TODO(jar): Change file name to *_unittest.cc (with double "t').
|
| -
|
| #include <algorithm>
|
| #include <string>
|
| #include <vector>
|
| @@ -130,12 +128,11 @@
|
| //------------------------------------------------------------------------------
|
|
|
| TEST_F(SdchFilterTest, BasicBadDictionary) {
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
| const int kInputBufferSize(30);
|
| char output_buffer[20];
|
| - scoped_ptr<Filter> filter(Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize));
|
| + scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
|
| std::string url_string("http://ignore.com");
|
| filter->SetURL(GURL(url_string));
|
|
|
| @@ -225,13 +222,12 @@
|
|
|
| std::string compressed(NewSdchCompressedData(dictionary));
|
|
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
|
|
| // Decode with a large buffer (larger than test input, or compressed data).
|
| const int kInputBufferSize(100);
|
| - scoped_ptr<Filter> filter(Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize));
|
| + scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
|
| filter->SetURL(url);
|
|
|
| size_t feed_block_size = 100;
|
| @@ -242,7 +238,7 @@
|
| EXPECT_EQ(output, expanded_);
|
|
|
| // Decode with really small buffers (size 1) to check for edge effects.
|
| - filter.reset((Filter::Factory(filters, "missing-mime", kInputBufferSize)));
|
| + filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
|
| filter->SetURL(url);
|
|
|
| feed_block_size = 1;
|
| @@ -265,14 +261,13 @@
|
|
|
| std::string compressed(NewSdchCompressedData(dictionary));
|
|
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
| const int kInputBufferSize(100);
|
|
|
| // Decode with content arriving from the "wrong" domain.
|
| // This tests CanSet() in the sdch_manager_->
|
| - scoped_ptr<Filter> filter((Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize)));
|
| + scoped_ptr<Filter> filter((Filter::Factory(filter_types, kInputBufferSize)));
|
| GURL wrong_domain_url("http://www.wrongdomain.com");
|
| filter->SetURL(wrong_domain_url);
|
|
|
| @@ -307,13 +302,12 @@
|
|
|
| std::string compressed_for_path(NewSdchCompressedData(dictionary_with_path));
|
|
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
| const int kInputBufferSize(100);
|
|
|
| // Test decode the path data, arriving from a valid path.
|
| - scoped_ptr<Filter> filter((Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize)));
|
| + scoped_ptr<Filter> filter((Filter::Factory(filter_types, kInputBufferSize)));
|
| filter->SetURL(GURL(url_string + path));
|
|
|
| size_t feed_block_size = 100;
|
| @@ -325,7 +319,7 @@
|
| EXPECT_EQ(output, expanded_);
|
|
|
| // Test decode the path data, arriving from a invalid path.
|
| - filter.reset((Filter::Factory(filters, "missing-mime", kInputBufferSize)));
|
| + filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
|
| filter->SetURL(GURL(url_string));
|
|
|
| feed_block_size = 100;
|
| @@ -361,13 +355,12 @@
|
|
|
| std::string compressed_for_port(NewSdchCompressedData(dictionary_with_port));
|
|
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
| const int kInputBufferSize(100);
|
|
|
| // Test decode the port data, arriving from a valid port.
|
| - scoped_ptr<Filter> filter((Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize)));
|
| + scoped_ptr<Filter> filter((Filter::Factory(filter_types, kInputBufferSize)));
|
| filter->SetURL(GURL(url_string + ":" + port));
|
|
|
| size_t feed_block_size = 100;
|
| @@ -378,7 +371,7 @@
|
| EXPECT_EQ(output, expanded_);
|
|
|
| // Test decode the port data, arriving from a valid (default) port.
|
| - filter.reset((Filter::Factory(filters, "missing-mime", kInputBufferSize)));
|
| + filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
|
| filter->SetURL(GURL(url_string)); // Default port.
|
|
|
| feed_block_size = 100;
|
| @@ -389,7 +382,7 @@
|
| EXPECT_EQ(output, expanded_);
|
|
|
| // Test decode the port data, arriving from a invalid port.
|
| - filter.reset((Filter::Factory(filters, "missing-mime", kInputBufferSize)));
|
| + filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
|
| filter->SetURL(GURL(url_string + ":" + port + "1"));
|
|
|
| feed_block_size = 100;
|
| @@ -480,14 +473,13 @@
|
| std::string gzip_compressed_sdch = gzip_compress(sdch_compressed);
|
|
|
| // Construct a chained filter.
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| - filters.push_back("gzip");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
| + filter_types.push_back(Filter::FILTER_TYPE_GZIP);
|
|
|
| // First try with a large buffer (larger than test input, or compressed data).
|
| const int kInputBufferSize(100);
|
| - scoped_ptr<Filter> filter(Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize));
|
| + scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
|
| filter->SetURL(url);
|
|
|
| // Verify that chained filter is waiting for data.
|
| @@ -504,7 +496,7 @@
|
| EXPECT_EQ(output, expanded_);
|
|
|
| // Next try with a tiny buffer to cover edge effects.
|
| - filter.reset(Filter::Factory(filters, "missing-mime", kInputBufferSize));
|
| + filter.reset(Filter::Factory(filter_types, kInputBufferSize));
|
| filter->SetURL(url);
|
|
|
| feed_block_size = 1;
|
| @@ -530,15 +522,15 @@
|
| // Use Gzip to compress the sdch sdch_compressed data.
|
| std::string gzip_compressed_sdch = gzip_compress(sdch_compressed);
|
|
|
| - // Only claim to have sdch content, but really usethe gzipped sdch content.
|
| + // Only claim to have sdch content, but really use the gzipped sdch content.
|
| // System should automatically add the missing (optional) gzip.
|
| - std::vector<std::string> filters;
|
| - filters.push_back("sdch");
|
| + std::vector<Filter::FilterType> filter_types;
|
| + filter_types.push_back(Filter::FILTER_TYPE_SDCH);
|
| + Filter::FixupEncodingTypes(true, "anything/mime", &filter_types);
|
|
|
| // First try with a large buffer (larger than test input, or compressed data).
|
| const int kInputBufferSize(100);
|
| - scoped_ptr<Filter> filter(Filter::Factory(filters, "missing-mime",
|
| - kInputBufferSize));
|
| + scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
|
| filter->SetURL(url);
|
|
|
| // Verify that chained filter is waiting for data.
|
| @@ -555,7 +547,7 @@
|
| EXPECT_EQ(output, expanded_);
|
|
|
| // Next try with a tiny buffer to cover edge effects.
|
| - filter.reset(Filter::Factory(filters, "missing-mime", kInputBufferSize));
|
| + filter.reset(Filter::Factory(filter_types, kInputBufferSize));
|
| filter->SetURL(url);
|
|
|
| feed_block_size = 1;
|
| @@ -589,56 +581,3 @@
|
| EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(test_url));
|
| EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(google_url));
|
| }
|
| -
|
| -
|
| -// TODO(jar): move this sort of test into filter_unittest.cc, or
|
| -// url_request_http_job_unittest.cc if that is more applicable after refactoring
|
| -// to use array of enums rather than array of strings to express content
|
| -// encodings.
|
| -TEST_F(SdchFilterTest, ContentTypeId) {
|
| - // Check for basic translation of Content-Encoding, including case variations.
|
| - EXPECT_EQ(Filter::FILTER_TYPE_DEFLATE,
|
| - Filter::ConvertEncodingToType("deflate", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_DEFLATE,
|
| - Filter::ConvertEncodingToType("deflAte", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_GZIP,
|
| - Filter::ConvertEncodingToType("gzip", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_GZIP,
|
| - Filter::ConvertEncodingToType("GzIp", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_GZIP,
|
| - Filter::ConvertEncodingToType("x-gzip", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_GZIP,
|
| - Filter::ConvertEncodingToType("X-GzIp", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_BZIP2,
|
| - Filter::ConvertEncodingToType("bzip2", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_BZIP2,
|
| - Filter::ConvertEncodingToType("BZiP2", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_BZIP2,
|
| - Filter::ConvertEncodingToType("x-bzip2", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_BZIP2,
|
| - Filter::ConvertEncodingToType("X-BZiP2", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_SDCH,
|
| - Filter::ConvertEncodingToType("sdch", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_SDCH,
|
| - Filter::ConvertEncodingToType("sDcH", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("weird", "nothing"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("strange", "nothing"));
|
| -
|
| - // Check to see that apache bug (marking things as gzipped because of their
|
| - // on-disk file type) is ignored.
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("gzip", "application/x-gzip"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("gzip", "application/gzip"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("gzip", "application/x-gunzip"));
|
| -
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("x-gzip", "application/x-gzip"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("x-gzip", "application/gzip"));
|
| - EXPECT_EQ(Filter::FILTER_TYPE_UNSUPPORTED,
|
| - Filter::ConvertEncodingToType("x-gzip", "application/x-gunzip"));
|
| -}
|
|
|