Index: net/filter/sdch_filter_unittest.cc |
diff --git a/net/filter/sdch_filter_unittest.cc b/net/filter/sdch_filter_unittest.cc |
index 701aba00660c86e48942663fd2d57829d77c996c..c483f24f88e8ad637e28cde4650e6dd0ec158fa2 100644 |
--- a/net/filter/sdch_filter_unittest.cc |
+++ b/net/filter/sdch_filter_unittest.cc |
@@ -2,16 +2,18 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "net/filter/sdch_filter.h" |
+ |
#include <limits.h> |
#include <algorithm> |
+#include <memory> |
#include <string> |
#include <vector> |
#include "base/bit_cast.h" |
#include "base/logging.h" |
#include "base/macros.h" |
-#include "base/memory/scoped_ptr.h" |
#include "base/test/histogram_tester.h" |
#include "base/test/simple_test_clock.h" |
#include "net/base/io_buffer.h" |
@@ -19,7 +21,6 @@ |
#include "net/base/sdch_manager.h" |
#include "net/base/sdch_observer.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" |
@@ -102,8 +103,8 @@ class SdchFilterTest : public testing::Test { |
const std::string vcdiff_compressed_data_; |
const std::string expanded_; // Desired final, decompressed data. |
- scoped_ptr<SdchManager> sdch_manager_; |
- scoped_ptr<MockFilterContext> filter_context_; |
+ std::unique_ptr<SdchManager> sdch_manager_; |
+ std::unique_ptr<MockFilterContext> filter_context_; |
}; |
TEST_F(SdchFilterTest, Hashing) { |
@@ -132,7 +133,7 @@ static bool FilterTestData(const std::string& source, |
CHECK_GT(input_block_length, 0u); |
Filter::FilterStatus status(Filter::FILTER_NEED_MORE_DATA); |
size_t source_index = 0; |
- scoped_ptr<char[]> output_buffer(new char[output_buffer_length]); |
+ std::unique_ptr<char[]> output_buffer(new char[output_buffer_length]); |
size_t input_amount = std::min(input_block_length, |
static_cast<size_t>(filter->stream_buffer_size())); |
@@ -188,7 +189,8 @@ TEST_F(SdchFilterTest, EmptyInputOk) { |
char output_buffer[20]; |
std::string url_string("http://ignore.com"); |
filter_context()->SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// With no input data, try to read output. |
int output_bytes_or_buffer_size = sizeof(output_buffer); |
@@ -208,7 +210,8 @@ TEST_F(SdchFilterTest, SparseContextOk) { |
char output_buffer[20]; |
std::string url_string("http://ignore.com"); |
filter_context()->SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// With no input data, try to read output. |
int output_bytes_or_buffer_size = sizeof(output_buffer); |
@@ -235,7 +238,8 @@ TEST_F(SdchFilterTest, PassThroughWhenTentative) { |
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())); |
+ std::unique_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"); |
@@ -274,7 +278,8 @@ TEST_F(SdchFilterTest, RefreshBadReturnCode) { |
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())); |
+ std::unique_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. |
@@ -315,7 +320,8 @@ TEST_F(SdchFilterTest, ErrorOnBadReturnCode) { |
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())); |
+ std::unique_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. |
@@ -350,7 +356,8 @@ TEST_F(SdchFilterTest, ErrorOnBadReturnCodeWithHtml) { |
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())); |
+ std::unique_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. |
@@ -386,7 +393,8 @@ TEST_F(SdchFilterTest, BasicBadDictionary) { |
char output_buffer[20]; |
std::string url_string("http://ignore.com"); |
filter_context()->SetURL(GURL(url_string)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_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. |
@@ -471,7 +479,8 @@ TEST_F(SdchFilterTest, BasicDictionary) { |
SetupFilterContextWithGURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -508,7 +517,8 @@ TEST_F(SdchFilterTest, NoDecodeHttps) { |
GURL filter_context_gurl("https://" + kSampleDomain); |
SetupFilterContextWithGURL(GURL("https://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -538,7 +548,8 @@ TEST_F(SdchFilterTest, NoDecodeFtp) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
SetupFilterContextWithGURL(GURL("ftp://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -564,7 +575,8 @@ TEST_F(SdchFilterTest, NoDecodeFileColon) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
SetupFilterContextWithGURL(GURL("file://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -590,7 +602,8 @@ TEST_F(SdchFilterTest, NoDecodeAboutColon) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
SetupFilterContextWithGURL(GURL("about://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -616,7 +629,8 @@ TEST_F(SdchFilterTest, NoDecodeJavaScript) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
SetupFilterContextWithGURL(GURL("javascript://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -642,7 +656,8 @@ TEST_F(SdchFilterTest, CanStillDecodeHttp) { |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
SetupFilterContextWithGURL(GURL("http://" + kSampleDomain)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
const size_t feed_block_size(100); |
const size_t output_block_size(100); |
@@ -679,7 +694,8 @@ TEST_F(SdchFilterTest, CrossDomainDictionaryUse) { |
// This tests SdchManager::CanSet(). |
GURL wrong_domain_url("http://www.wrongdomain.com"); |
SetupFilterContextWithGURL(wrong_domain_url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -719,7 +735,8 @@ TEST_F(SdchFilterTest, DictionaryPathValidation) { |
// Test decode the path data, arriving from a valid path. |
SetupFilterContextWithGURL(GURL(url_string + path)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -771,7 +788,8 @@ TEST_F(SdchFilterTest, DictionaryPortValidation) { |
// Test decode the port data, arriving from a valid port. |
SetupFilterContextWithGURL(GURL(url_string + ":" + port)); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |
@@ -828,7 +846,7 @@ static std::string gzip_compress(const std::string &input) { |
// Assume we can compress into similar buffer (add 100 bytes to be sure). |
size_t gzip_compressed_length = zlib_stream.avail_in + 100; |
- scoped_ptr<char[]> gzip_compressed(new char[gzip_compressed_length]); |
+ std::unique_ptr<char[]> gzip_compressed(new char[gzip_compressed_length]); |
zlib_stream.next_out = bit_cast<Bytef*>(gzip_compressed.get()); |
zlib_stream.avail_out = gzip_compressed_length; |
@@ -900,9 +918,8 @@ TEST_F(SdchFilterTest, FilterChaining) { |
CHECK_GT(kLargeInputBufferSize, sdch_compressed.size()); |
CHECK_GT(kLargeInputBufferSize, expanded_.size()); |
SetupFilterContextWithGURL(url); |
- scoped_ptr<Filter> filter( |
- SdchFilterChainingTest::Factory(filter_types, *filter_context(), |
- kLargeInputBufferSize)); |
+ std::unique_ptr<Filter> filter(SdchFilterChainingTest::Factory( |
+ filter_types, *filter_context(), kLargeInputBufferSize)); |
EXPECT_EQ(static_cast<int>(kLargeInputBufferSize), |
filter->stream_buffer_size()); |
@@ -985,7 +1002,8 @@ TEST_F(SdchFilterTest, DefaultGzipIfSdch) { |
EXPECT_EQ(filter_types[1], Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
// First try with a large buffer (larger than test input, or compressed data). |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
char tiny_output_buffer[10]; |
@@ -1042,7 +1060,8 @@ TEST_F(SdchFilterTest, AcceptGzipSdchIfGzip) { |
EXPECT_EQ(filter_types[2], Filter::FILTER_TYPE_GZIP); |
// First try with a large buffer (larger than test input, or compressed data). |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
char tiny_output_buffer[10]; |
@@ -1096,7 +1115,8 @@ TEST_F(SdchFilterTest, DefaultSdchGzipIfEmpty) { |
EXPECT_EQ(filter_types[1], Filter::FILTER_TYPE_GZIP_HELPING_SDCH); |
// First try with a large buffer (larger than test input, or compressed data). |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
char tiny_output_buffer[10]; |
@@ -1156,7 +1176,8 @@ TEST_F(SdchFilterTest, AcceptGzipGzipSdchIfGzip) { |
EXPECT_EQ(filter_types[2], Filter::FILTER_TYPE_GZIP); |
// First try with a large buffer (larger than test input, or compressed data). |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// Verify that chained filter is waiting for data. |
char tiny_output_buffer[10]; |
@@ -1196,7 +1217,8 @@ TEST_F(SdchFilterTest, UnexpectedDictionary) { |
std::vector<Filter::FilterType> filter_types; |
filter_types.push_back(Filter::FILTER_TYPE_SDCH); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
// Setup another dictionary, expired. Don't add it to the filter context. |
// Delete stored dictionaries first to handle platforms which only |
@@ -1213,7 +1235,7 @@ TEST_F(SdchFilterTest, UnexpectedDictionary) { |
SdchManager::GenerateHash(expired_dictionary, &client_hash, &server_hash); |
SdchProblemCode problem_code; |
- scoped_ptr<SdchManager::DictionarySet> hash_set( |
+ std::unique_ptr<SdchManager::DictionarySet> hash_set( |
sdch_manager_->GetDictionarySetByHash(url, server_hash, &problem_code)); |
ASSERT_TRUE(hash_set); |
ASSERT_EQ(SDCH_OK, problem_code); |
@@ -1281,7 +1303,8 @@ TEST_F(SdchFilterTest, DictionaryUsedSignaled) { |
SetupFilterContextWithGURL(url); |
- scoped_ptr<Filter> filter(Filter::Factory(filter_types, *filter_context())); |
+ std::unique_ptr<Filter> filter( |
+ Filter::Factory(filter_types, *filter_context())); |
size_t feed_block_size = 100; |
size_t output_block_size = 100; |