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

Unified Diff: net/base/sdch_filter_unittest.cc

Issue 40138: Use FilterContext to allow filters to access URLRequestJob data... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 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/sdch_filter_unittest.cc
===================================================================
--- net/base/sdch_filter_unittest.cc (revision 11030)
+++ net/base/sdch_filter_unittest.cc (working copy)
@@ -11,6 +11,7 @@
#include "base/logging.h"
#include "base/scoped_ptr.h"
#include "net/base/filter.h"
+#include "net/base/filter_unittest.h"
#include "net/base/sdch_filter.h"
#include "net/url_request/url_request_http_job.cc"
#include "testing/gtest/include/gtest/gtest.h"
@@ -151,9 +152,10 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(30);
char output_buffer[20];
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
std::string url_string("http://ignore.com");
- filter->SetURL(GURL(url_string));
+ filter_context.SetURL(GURL(url_string));
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context));
// With no input data, try to read output.
@@ -246,9 +248,11 @@
// Decode with a large buffer (larger than test input, or compressed data).
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
- filter->SetURL(url);
+ MockFilterContext filter_context(kInputBufferSize);
+ filter_context.SetURL(url);
+ scoped_ptr<Filter> filter(Filter::Factory(filter_types, filter_context));
+
size_t feed_block_size = 100;
size_t output_block_size = 100;
std::string output;
@@ -257,8 +261,7 @@
EXPECT_EQ(output, expanded_);
// Decode with really small buffers (size 1) to check for edge effects.
- filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
- filter->SetURL(url);
+ filter.reset((Filter::Factory(filter_types, filter_context)));
feed_block_size = 1;
output_block_size = 1;
@@ -284,12 +287,14 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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);
std::string output;
- filter->SetURL(GURL("https://" + kSampleDomain));
EXPECT_FALSE(FilterTestData(compressed, feed_block_size, output_block_size,
filter.get(), &output));
}
@@ -314,12 +319,14 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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);
std::string output;
- filter->SetURL(GURL("ftp://" + kSampleDomain));
EXPECT_FALSE(FilterTestData(compressed, feed_block_size, output_block_size,
filter.get(), &output));
}
@@ -340,12 +347,14 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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);
std::string output;
- filter->SetURL(GURL("file://" + kSampleDomain));
EXPECT_FALSE(FilterTestData(compressed, feed_block_size, output_block_size,
filter.get(), &output));
}
@@ -366,12 +375,14 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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);
std::string output;
- filter->SetURL(GURL("about://" + kSampleDomain));
EXPECT_FALSE(FilterTestData(compressed, feed_block_size, output_block_size,
filter.get(), &output));
}
@@ -392,12 +403,14 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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);
std::string output;
- filter->SetURL(GURL("javascript://" + kSampleDomain));
EXPECT_FALSE(FilterTestData(compressed, feed_block_size, output_block_size,
filter.get(), &output));
}
@@ -418,12 +431,14 @@
filter_types.push_back(Filter::FILTER_TYPE_SDCH);
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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);
std::string output;
- filter->SetURL(GURL("http://" + kSampleDomain));
EXPECT_TRUE(FilterTestData(compressed, feed_block_size, output_block_size,
filter.get(), &output));
}
@@ -445,10 +460,11 @@
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(filter_types, kInputBufferSize)));
+ // This tests SdchManager::CanSet().
+ MockFilterContext filter_context(kInputBufferSize);
GURL wrong_domain_url("http://www.wrongdomain.com");
- filter->SetURL(wrong_domain_url);
+ 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;
@@ -486,8 +502,9 @@
const int kInputBufferSize(100);
// Test decode the path data, arriving from a valid path.
- scoped_ptr<Filter> filter((Filter::Factory(filter_types, kInputBufferSize)));
- filter->SetURL(GURL(url_string + path));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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;
@@ -498,8 +515,8 @@
EXPECT_EQ(output, expanded_);
// Test decode the path data, arriving from a invalid path.
- filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
- filter->SetURL(GURL(url_string));
+ filter_context.SetURL(GURL(url_string));
+ filter.reset((Filter::Factory(filter_types, filter_context)));
feed_block_size = 100;
output_block_size = 100;
@@ -539,8 +556,9 @@
const int kInputBufferSize(100);
// Test decode the port data, arriving from a valid port.
- scoped_ptr<Filter> filter((Filter::Factory(filter_types, kInputBufferSize)));
- filter->SetURL(GURL(url_string + ":" + port));
+ MockFilterContext filter_context(kInputBufferSize);
+ 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;
@@ -550,8 +568,8 @@
EXPECT_EQ(output, expanded_);
// Test decode the port data, arriving from a valid (default) port.
- filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
- filter->SetURL(GURL(url_string)); // Default port.
+ filter_context.SetURL(GURL(url_string)); // Default port.
+ filter.reset((Filter::Factory(filter_types, filter_context)));
feed_block_size = 100;
output_block_size = 100;
@@ -561,8 +579,8 @@
EXPECT_EQ(output, expanded_);
// Test decode the port data, arriving from a invalid port.
- filter.reset((Filter::Factory(filter_types, kInputBufferSize)));
- filter->SetURL(GURL(url_string + ":" + port + "1"));
+ filter_context.SetURL(GURL(url_string + ":" + port + "1"));
+ filter.reset((Filter::Factory(filter_types, filter_context)));
feed_block_size = 100;
output_block_size = 100;
@@ -661,9 +679,9 @@
CHECK(kLargeInputBufferSize > gzip_compressed_sdch.size());
CHECK(kLargeInputBufferSize > sdch_compressed.size());
CHECK(kLargeInputBufferSize > expanded_.size());
- scoped_ptr<Filter> filter(Filter::Factory(filter_types,
- kLargeInputBufferSize));
- filter->SetURL(url);
+ MockFilterContext filter_context(kLargeInputBufferSize);
+ 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];
@@ -687,8 +705,9 @@
// 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(kMidSizedInputBufferSize * 2 < sdch_compressed.size());
- filter.reset(Filter::Factory(filter_types, kMidSizedInputBufferSize));
- filter->SetURL(url);
+ filter_context.SetBufferSize(kMidSizedInputBufferSize);
+ filter_context.SetURL(url);
+ filter.reset(Filter::Factory(filter_types, filter_context));
feed_block_size = kMidSizedInputBufferSize;
output_block_size = kMidSizedInputBufferSize;
@@ -698,8 +717,8 @@
EXPECT_EQ(output, expanded_);
// Next try with a tiny input and output buffer to cover edge effects.
- filter.reset(Filter::Factory(filter_types, kLargeInputBufferSize));
- filter->SetURL(url);
+ filter_context.SetBufferSize(kLargeInputBufferSize);
+ filter.reset(Filter::Factory(filter_types, filter_context));
feed_block_size = 1;
output_block_size = 1;
@@ -732,9 +751,11 @@
// First try with a large buffer (larger than test input, or compressed data).
const int kInputBufferSize(100);
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, kInputBufferSize));
- filter->SetURL(url);
+ MockFilterContext filter_context(kInputBufferSize);
+ 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];
int tiny_output_size = sizeof(tiny_output_buffer);
@@ -749,8 +770,7 @@
EXPECT_EQ(output, expanded_);
// Next try with a tiny buffer to cover edge effects.
- filter.reset(Filter::Factory(filter_types, kInputBufferSize));
- filter->SetURL(url);
+ filter.reset(Filter::Factory(filter_types, filter_context));
feed_block_size = 1;
output_block_size = 1;

Powered by Google App Engine
This is Rietveld 408576698