Index: net/filter/sdch_filter_unittest.cc |
diff --git a/net/filter/sdch_filter_unittest.cc b/net/filter/sdch_filter_unittest.cc |
index 37f48866707bfece16ba4c183b33f7d3f603d43c..16012c3edcc13b71da2ebbc5b066159da95f9b5f 100644 |
--- a/net/filter/sdch_filter_unittest.cc |
+++ b/net/filter/sdch_filter_unittest.cc |
@@ -13,6 +13,7 @@ |
#include "net/base/io_buffer.h" |
#include "net/filter/mock_filter_context.h" |
#include "net/filter/sdch_filter.h" |
+#include "net/url_request/url_request_context.h" |
#include "net/url_request/url_request_http_job.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "third_party/zlib/zlib.h" |
@@ -54,16 +55,24 @@ class SdchFilterTest : public testing::Test { |
vcdiff_compressed_data_(kSdchCompressedTestData, |
sizeof(kSdchCompressedTestData) - 1), |
expanded_(kTestData, sizeof(kTestData) - 1), |
- sdch_manager_(new SdchManager) { |
+ sdch_manager_(new SdchManager), |
+ filter_context_(new MockFilterContext) { |
+ URLRequestContext* url_request_context = |
+ filter_context_->GetModifiableURLRequestContext(); |
+ |
+ url_request_context->set_sdch_manager(sdch_manager_.get()); |
} |
+ MockFilterContext* filter_context() { return filter_context_.get(); } |
+ |
std::string NewSdchCompressedData(const std::string dictionary); |
const std::string test_vcdiff_dictionary_; |
const std::string vcdiff_compressed_data_; |
const std::string expanded_; // Desired final, decompressed data. |
- scoped_ptr<SdchManager> sdch_manager_; // A singleton database. |
+ scoped_ptr<SdchManager> sdch_manager_; |
+ scoped_ptr<MockFilterContext> filter_context_; |
}; |
std::string SdchFilterTest::NewSdchCompressedData( |
@@ -152,10 +161,9 @@ TEST_F(SdchFilterTest, EmptyInputOk) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
char output_buffer[20]; |
- MockFilterContext filter_context; |
std::string url_string("http://ignore.com"); |
- filter_context.SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// With no input data, try to read output. |
@@ -172,12 +180,11 @@ TEST_F(SdchFilterTest, PassThroughWhenTentative) { |
// Selective a tentative filter (which can fall back to pass through). |
filter_types.push_back(Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
char output_buffer[20]; |
- MockFilterContext filter_context; |
// Response code needs to be 200 to allow a pass through. |
- filter_context.SetResponseCode(200); |
+ filter_context()->SetResponseCode(200); |
std::string url_string("http://ignore.com"); |
- filter_context.SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Supply enough data to force a pass-through mode.. |
std::string non_gzip_content("not GZIPed data"); |
@@ -210,14 +217,13 @@ TEST_F(SdchFilterTest, RefreshBadReturnCode) { |
// Selective a tentative filter (which can fall back to pass through). |
filter_types.push_back(Filter::FILTER_TYPE_SDCH_POSSIBLE); |
char output_buffer[20]; |
- MockFilterContext filter_context; |
// Response code needs to be 200 to allow a pass through. |
- filter_context.SetResponseCode(403); |
+ filter_context()->SetResponseCode(403); |
// Meta refresh will only appear for html content |
- filter_context.SetMimeType("text/html"); |
+ filter_context()->SetMimeType("text/html"); |
std::string url_string("http://ignore.com"); |
- filter_context.SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Supply enough data to force a pass-through mode, which means we have |
// provided more than 9 characters that can't be a dictionary hash. |
@@ -251,15 +257,14 @@ TEST_F(SdchFilterTest, ErrorOnBadReturnCode) { |
// Selective a tentative filter (which can fall back to pass through). |
filter_types.push_back(Filter::FILTER_TYPE_SDCH_POSSIBLE); |
char output_buffer[20]; |
- MockFilterContext filter_context; |
// Response code needs to be 200 to allow a pass through. |
- filter_context.SetResponseCode(403); |
+ filter_context()->SetResponseCode(403); |
// Meta refresh will only appear for html content, so set to something else |
// to induce an error (we can't meta refresh). |
- filter_context.SetMimeType("anything"); |
+ filter_context()->SetMimeType("anything"); |
std::string url_string("http://ignore.com"); |
- filter_context.SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Supply enough data to force a pass-through mode, which means we have |
// provided more than 9 characters that can't be a dictionary hash. |
@@ -288,14 +293,13 @@ TEST_F(SdchFilterTest, ErrorOnBadReturnCodeWithHtml) { |
// Selective a tentative filter (which can fall back to pass through). |
filter_types.push_back(Filter::FILTER_TYPE_SDCH_POSSIBLE); |
char output_buffer[20]; |
- MockFilterContext filter_context; |
// Response code needs to be 200 to allow a pass through. |
- filter_context.SetResponseCode(403); |
+ filter_context()->SetResponseCode(403); |
// Meta refresh will only appear for html content |
- filter_context.SetMimeType("text/html"); |
+ filter_context()->SetMimeType("text/html"); |
std::string url_string("http://ignore.com"); |
- filter_context.SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Supply enough data to force a pass-through mode, which means we have |
// provided more than 9 characters that can't be a dictionary hash. |
@@ -329,10 +333,9 @@ TEST_F(SdchFilterTest, BasicBadDictionary) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
char output_buffer[20]; |
- MockFilterContext filter_context; |
std::string url_string("http://ignore.com"); |
- filter_context.SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Supply bogus data (which doesn't yet specify a full dictionary hash). |
// Dictionary hash is 8 characters followed by a null. |
@@ -372,9 +375,9 @@ TEST_F(SdchFilterTest, BasicBadDictionary) { |
EXPECT_EQ(0, output_bytes_or_buffer_size); |
EXPECT_EQ(Filter::FILTER_ERROR, status); |
- EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
- SdchManager::ClearBlacklistings(); |
- EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
+ EXPECT_FALSE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
+ sdch_manager_->ClearBlacklistings(); |
+ EXPECT_TRUE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
} |
TEST_F(SdchFilterTest, DictionaryAddOnce) { |
@@ -414,10 +417,9 @@ TEST_F(SdchFilterTest, BasicDictionary) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(url); |
+ filter_context()->SetURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -427,7 +429,7 @@ TEST_F(SdchFilterTest, BasicDictionary) { |
EXPECT_EQ(output, expanded_); |
// Decode with really small buffers (size 1) to check for edge effects. |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 1; |
output_block_size = 1; |
@@ -452,9 +454,8 @@ TEST_F(SdchFilterTest, NoDecodeHttps) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL("https://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL("https://" + kSampleDomain)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -483,9 +484,8 @@ TEST_F(SdchFilterTest, NoDecodeFtp) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL("ftp://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL("ftp://" + kSampleDomain)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -510,9 +510,8 @@ TEST_F(SdchFilterTest, NoDecodeFileColon) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL("file://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL("file://" + kSampleDomain)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -537,9 +536,8 @@ TEST_F(SdchFilterTest, NoDecodeAboutColon) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL("about://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL("about://" + kSampleDomain)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -564,9 +562,8 @@ TEST_F(SdchFilterTest, NoDecodeJavaScript) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL("javascript://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL("javascript://" + kSampleDomain)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -591,9 +588,8 @@ TEST_F(SdchFilterTest, CanStillDecodeHttp) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL("http://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL("http://" + kSampleDomain)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -620,10 +616,9 @@ TEST_F(SdchFilterTest, CrossDomainDictionaryUse) { |
// Decode with content arriving from the "wrong" domain. |
// This tests SdchManager::CanSet(). |
- MockFilterContext filter_context; |
GURL wrong_domain_url("http://www.wrongdomain.com"); |
- filter_context.SetURL(wrong_domain_url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(wrong_domain_url); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -632,10 +627,10 @@ TEST_F(SdchFilterTest, CrossDomainDictionaryUse) { |
filter.get(), &output)); |
EXPECT_EQ(output.size(), 0u); // No output written. |
- EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
- EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(wrong_domain_url)); |
- SdchManager::ClearBlacklistings(); |
- EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(wrong_domain_url)); |
+ EXPECT_TRUE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
+ EXPECT_FALSE(sdch_manager_->IsInSupportedDomain(wrong_domain_url)); |
+ sdch_manager_->ClearBlacklistings(); |
+ EXPECT_TRUE(sdch_manager_->IsInSupportedDomain(wrong_domain_url)); |
} |
TEST_F(SdchFilterTest, DictionaryPathValidation) { |
@@ -660,9 +655,8 @@ TEST_F(SdchFilterTest, DictionaryPathValidation) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
// Test decode the path data, arriving from a valid path. |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL(url_string + path)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string + path)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -673,8 +667,8 @@ TEST_F(SdchFilterTest, DictionaryPathValidation) { |
EXPECT_EQ(output, expanded_); |
// Test decode the path data, arriving from a invalid path. |
- filter_context.SetURL(GURL(url_string)); |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 100; |
output_block_size = 100; |
@@ -683,9 +677,9 @@ TEST_F(SdchFilterTest, DictionaryPathValidation) { |
output_block_size, filter.get(), &output)); |
EXPECT_EQ(output.size(), 0u); // No output written. |
- EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
- SdchManager::ClearBlacklistings(); |
- EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
+ EXPECT_FALSE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
+ sdch_manager_->ClearBlacklistings(); |
+ EXPECT_TRUE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
} |
TEST_F(SdchFilterTest, DictionaryPortValidation) { |
@@ -713,9 +707,8 @@ TEST_F(SdchFilterTest, DictionaryPortValidation) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
// Test decode the port data, arriving from a valid port. |
- MockFilterContext filter_context; |
- filter_context.SetURL(GURL(url_string + ":" + port)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string + ":" + port)); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -725,8 +718,8 @@ TEST_F(SdchFilterTest, DictionaryPortValidation) { |
EXPECT_EQ(output, expanded_); |
// Test decode the port data, arriving from a valid (default) port. |
- filter_context.SetURL(GURL(url_string)); // Default port. |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string)); // Default port. |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 100; |
output_block_size = 100; |
@@ -736,8 +729,8 @@ TEST_F(SdchFilterTest, DictionaryPortValidation) { |
EXPECT_EQ(output, expanded_); |
// Test decode the port data, arriving from a invalid port. |
- filter_context.SetURL(GURL(url_string + ":" + port + "1")); |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(GURL(url_string + ":" + port + "1")); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 100; |
output_block_size = 100; |
@@ -746,9 +739,9 @@ TEST_F(SdchFilterTest, DictionaryPortValidation) { |
output_block_size, filter.get(), &output)); |
EXPECT_EQ(output.size(), 0u); // No output written. |
- EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
- SdchManager::ClearBlacklistings(); |
- EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(GURL(url_string))); |
+ EXPECT_FALSE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
+ sdch_manager_->ClearBlacklistings(); |
+ EXPECT_TRUE(sdch_manager_->IsInSupportedDomain(GURL(url_string))); |
} |
//------------------------------------------------------------------------------ |
@@ -844,10 +837,9 @@ TEST_F(SdchFilterTest, FilterChaining) { |
CHECK_GT(kLargeInputBufferSize, gzip_compressed_sdch.size()); |
CHECK_GT(kLargeInputBufferSize, sdch_compressed.size()); |
CHECK_GT(kLargeInputBufferSize, expanded_.size()); |
- MockFilterContext filter_context; |
- filter_context.SetURL(url); |
+ filter_context()->SetURL(url); |
scoped_ptr<Filter> filter( |
- SdchFilterChainingTest::Factory(filter_types, filter_context, |
+ SdchFilterChainingTest::Factory(filter_types, *filter_context(), |
kLargeInputBufferSize)); |
EXPECT_EQ(static_cast<int>(kLargeInputBufferSize), |
filter->stream_buffer_size()); |
@@ -874,9 +866,9 @@ TEST_F(SdchFilterTest, FilterChaining) { |
// We'll go even further, and force the chain to flush the buffer between the |
// two filters more than once (that is why we multiply by 2). |
CHECK_LT(kMidSizedInputBufferSize * 2, sdch_compressed.size()); |
- filter_context.SetURL(url); |
+ filter_context()->SetURL(url); |
filter.reset( |
- SdchFilterChainingTest::Factory(filter_types, filter_context, |
+ SdchFilterChainingTest::Factory(filter_types, *filter_context(), |
kMidSizedInputBufferSize)); |
EXPECT_EQ(static_cast<int>(kMidSizedInputBufferSize), |
filter->stream_buffer_size()); |
@@ -889,7 +881,7 @@ TEST_F(SdchFilterTest, FilterChaining) { |
EXPECT_EQ(output, expanded_); |
// Next try with a tiny input and output buffer to cover edge effects. |
- filter.reset(SdchFilterChainingTest::Factory(filter_types, filter_context, |
+ filter.reset(SdchFilterChainingTest::Factory(filter_types, *filter_context(), |
kLargeInputBufferSize)); |
EXPECT_EQ(static_cast<int>(kLargeInputBufferSize), |
filter->stream_buffer_size()); |
@@ -922,17 +914,16 @@ TEST_F(SdchFilterTest, DefaultGzipIfSdch) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- MockFilterContext filter_context; |
- filter_context.SetMimeType("anything/mime"); |
- filter_context.SetSdchResponse(true); |
- Filter::FixupEncodingTypes(filter_context, &filter_types); |
+ filter_context()->SetMimeType("anything/mime"); |
+ filter_context()->SetSdchResponse(true); |
+ Filter::FixupEncodingTypes(*filter_context(), &filter_types); |
ASSERT_EQ(filter_types.size(), 2u); |
EXPECT_EQ(filter_types[0], Filter::FILTER_TYPE_SDCH); |
EXPECT_EQ(filter_types[1], Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
// First try with a large buffer (larger than test input, or compressed data). |
- filter_context.SetURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(url); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
@@ -949,7 +940,7 @@ TEST_F(SdchFilterTest, DefaultGzipIfSdch) { |
EXPECT_EQ(output, expanded_); |
// Next try with a tiny buffer to cover edge effects. |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 1; |
output_block_size = 1; |
@@ -981,18 +972,17 @@ TEST_F(SdchFilterTest, AcceptGzipSdchIfGzip) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_GZIP); |
- MockFilterContext filter_context; |
- filter_context.SetMimeType("anything/mime"); |
- filter_context.SetSdchResponse(true); |
- Filter::FixupEncodingTypes(filter_context, &filter_types); |
+ filter_context()->SetMimeType("anything/mime"); |
+ filter_context()->SetSdchResponse(true); |
+ Filter::FixupEncodingTypes(*filter_context(), &filter_types); |
ASSERT_EQ(filter_types.size(), 3u); |
EXPECT_EQ(filter_types[0], Filter::FILTER_TYPE_SDCH_POSSIBLE); |
EXPECT_EQ(filter_types[1], Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
EXPECT_EQ(filter_types[2], Filter::FILTER_TYPE_GZIP); |
// First try with a large buffer (larger than test input, or compressed data). |
- filter_context.SetURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(url); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
@@ -1009,7 +999,7 @@ TEST_F(SdchFilterTest, AcceptGzipSdchIfGzip) { |
EXPECT_EQ(output, expanded_); |
// Next try with a tiny buffer to cover edge effects. |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 1; |
output_block_size = 1; |
@@ -1039,17 +1029,16 @@ TEST_F(SdchFilterTest, DefaultSdchGzipIfEmpty) { |
// System should automatically add the missing (optional) sdch,gzip. |
std::vector<Filter::FilterType> filter_types; |
- MockFilterContext filter_context; |
- filter_context.SetMimeType("anything/mime"); |
- filter_context.SetSdchResponse(true); |
- Filter::FixupEncodingTypes(filter_context, &filter_types); |
+ filter_context()->SetMimeType("anything/mime"); |
+ filter_context()->SetSdchResponse(true); |
+ Filter::FixupEncodingTypes(*filter_context(), &filter_types); |
ASSERT_EQ(filter_types.size(), 2u); |
EXPECT_EQ(filter_types[0], Filter::FILTER_TYPE_SDCH_POSSIBLE); |
EXPECT_EQ(filter_types[1], Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
// First try with a large buffer (larger than test input, or compressed data). |
- filter_context.SetURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(url); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
@@ -1066,7 +1055,7 @@ TEST_F(SdchFilterTest, DefaultSdchGzipIfEmpty) { |
EXPECT_EQ(output, expanded_); |
// Next try with a tiny buffer to cover edge effects. |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 1; |
output_block_size = 1; |
@@ -1101,18 +1090,17 @@ TEST_F(SdchFilterTest, AcceptGzipGzipSdchIfGzip) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_GZIP); |
- MockFilterContext filter_context; |
- filter_context.SetMimeType("anything/mime"); |
- filter_context.SetSdchResponse(true); |
- Filter::FixupEncodingTypes(filter_context, &filter_types); |
+ filter_context()->SetMimeType("anything/mime"); |
+ filter_context()->SetSdchResponse(true); |
+ Filter::FixupEncodingTypes(*filter_context(), &filter_types); |
ASSERT_EQ(filter_types.size(), 3u); |
EXPECT_EQ(filter_types[0], Filter::FILTER_TYPE_SDCH_POSSIBLE); |
EXPECT_EQ(filter_types[1], Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
EXPECT_EQ(filter_types[2], Filter::FILTER_TYPE_GZIP); |
// First try with a large buffer (larger than test input, or compressed data). |
- filter_context.SetURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context)); |
+ filter_context()->SetURL(url); |
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
char tiny_output_buffer[10]; |
@@ -1128,7 +1116,7 @@ TEST_F(SdchFilterTest, AcceptGzipGzipSdchIfGzip) { |
EXPECT_EQ(output, expanded_); |
// Next try with a tiny buffer to cover edge effects. |
- filter.reset(Filter::Factory(filter_types, filter_context)); |
+ filter.reset(Filter::Factory(filter_types, *filter_context())); |
feed_block_size = 1; |
output_block_size = 1; |