| Index: net/websockets/websocket_inflater_test.cc
|
| diff --git a/net/websockets/websocket_inflater_test.cc b/net/websockets/websocket_inflater_test.cc
|
| deleted file mode 100644
|
| index 2fd90f4b989cdba67a9f78fd20132a4ee8ca2871..0000000000000000000000000000000000000000
|
| --- a/net/websockets/websocket_inflater_test.cc
|
| +++ /dev/null
|
| @@ -1,224 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "net/websockets/websocket_inflater.h"
|
| -
|
| -#include <stdint.h>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "net/base/io_buffer.h"
|
| -#include "net/websockets/websocket_deflater.h"
|
| -#include "net/websockets/websocket_test_util.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace net {
|
| -
|
| -namespace {
|
| -
|
| -std::string ToString(IOBufferWithSize* buffer) {
|
| - return std::string(buffer->data(), buffer->size());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, Construct) {
|
| - WebSocketInflater inflater;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| -
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, InflateHelloTakeOverContext) {
|
| - WebSocketInflater inflater;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| - scoped_refptr<IOBufferWithSize> actual1, actual2;
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - actual1 = inflater.GetOutput(inflater.CurrentOutputSize());
|
| - ASSERT_TRUE(actual1.get());
|
| - EXPECT_EQ("Hello", ToString(actual1.get()));
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x00\x11\x00\x00", 5));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - actual2 = inflater.GetOutput(inflater.CurrentOutputSize());
|
| - ASSERT_TRUE(actual2.get());
|
| - EXPECT_EQ("Hello", ToString(actual2.get()));
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, InflateHelloSmallCapacity) {
|
| - WebSocketInflater inflater(1, 1);
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| - std::string actual;
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - for (size_t i = 0; i < 5; ++i) {
|
| - ASSERT_EQ(1u, inflater.CurrentOutputSize());
|
| - scoped_refptr<IOBufferWithSize> buffer = inflater.GetOutput(1);
|
| - ASSERT_TRUE(buffer.get());
|
| - ASSERT_EQ(1, buffer->size());
|
| - actual += ToString(buffer.get());
|
| - }
|
| - EXPECT_EQ("Hello", actual);
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, InflateHelloSmallCapacityGetTotalOutput) {
|
| - WebSocketInflater inflater(1, 1);
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| - scoped_refptr<IOBufferWithSize> actual;
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - ASSERT_EQ(1u, inflater.CurrentOutputSize());
|
| - actual = inflater.GetOutput(1024);
|
| - EXPECT_EQ("Hello", ToString(actual.get()));
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, InflateInvalidData) {
|
| - WebSocketInflater inflater;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| - EXPECT_FALSE(inflater.AddBytes("\xf2\x48\xcd\xc9INVALID DATA", 16));
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, ChokedInvalidData) {
|
| - WebSocketInflater inflater(1, 1);
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| -
|
| - EXPECT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9INVALID DATA", 16));
|
| - EXPECT_TRUE(inflater.Finish());
|
| - EXPECT_EQ(1u, inflater.CurrentOutputSize());
|
| - EXPECT_FALSE(inflater.GetOutput(1024).get());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, MultipleAddBytesCalls) {
|
| - WebSocketInflater inflater;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| - std::string input("\xf2\x48\xcd\xc9\xc9\x07\x00", 7);
|
| - scoped_refptr<IOBufferWithSize> actual;
|
| -
|
| - for (size_t i = 0; i < input.size(); ++i) {
|
| - ASSERT_TRUE(inflater.AddBytes(&input[i], 1));
|
| - }
|
| - ASSERT_TRUE(inflater.Finish());
|
| - actual = inflater.GetOutput(5);
|
| - ASSERT_TRUE(actual.get());
|
| - EXPECT_EQ("Hello", ToString(actual.get()));
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, Reset) {
|
| - WebSocketInflater inflater;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| - scoped_refptr<IOBufferWithSize> actual1, actual2;
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - actual1 = inflater.GetOutput(inflater.CurrentOutputSize());
|
| - ASSERT_TRUE(actual1.get());
|
| - EXPECT_EQ("Hello", ToString(actual1.get()));
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -
|
| - // Reset the stream with a block [BFINAL = 1, BTYPE = 00, LEN = 0]
|
| - ASSERT_TRUE(inflater.AddBytes("\x01", 1));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - ASSERT_EQ(0u, inflater.CurrentOutputSize());
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - actual2 = inflater.GetOutput(inflater.CurrentOutputSize());
|
| - ASSERT_TRUE(actual2.get());
|
| - EXPECT_EQ("Hello", ToString(actual2.get()));
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, ResetAndLostContext) {
|
| - WebSocketInflater inflater;
|
| - scoped_refptr<IOBufferWithSize> actual1, actual2;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - actual1 = inflater.GetOutput(inflater.CurrentOutputSize());
|
| - ASSERT_TRUE(actual1.get());
|
| - EXPECT_EQ("Hello", ToString(actual1.get()));
|
| - EXPECT_EQ(0u, inflater.CurrentOutputSize());
|
| -
|
| - // Reset the stream with a block [BFINAL = 1, BTYPE = 00, LEN = 0]
|
| - ASSERT_TRUE(inflater.AddBytes("\x01", 1));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - ASSERT_EQ(0u, inflater.CurrentOutputSize());
|
| -
|
| - // The context is already reset.
|
| - ASSERT_FALSE(inflater.AddBytes("\xf2\x00\x11\x00\x00", 5));
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, CallAddBytesAndFinishWithoutGetOutput) {
|
| - WebSocketInflater inflater;
|
| - scoped_refptr<IOBufferWithSize> actual1, actual2;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - EXPECT_EQ(5u, inflater.CurrentOutputSize());
|
| -
|
| - // This is a test for detecting memory leaks with valgrind.
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, CallAddBytesAndFinishWithoutGetOutputChoked) {
|
| - WebSocketInflater inflater(1, 1);
|
| - scoped_refptr<IOBufferWithSize> actual1, actual2;
|
| - ASSERT_TRUE(inflater.Initialize(15));
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes("\xf2\x48\xcd\xc9\xc9\x07\x00", 7));
|
| - ASSERT_TRUE(inflater.Finish());
|
| - EXPECT_EQ(1u, inflater.CurrentOutputSize());
|
| -
|
| - // This is a test for detecting memory leaks with valgrind.
|
| -}
|
| -
|
| -TEST(WebSocketInflaterTest, LargeRandomDeflateInflate) {
|
| - const size_t size = 64 * 1024;
|
| - LinearCongruentialGenerator generator(133);
|
| - std::vector<char> input;
|
| - std::vector<char> output;
|
| - scoped_refptr<IOBufferWithSize> compressed;
|
| -
|
| - WebSocketDeflater deflater(WebSocketDeflater::TAKE_OVER_CONTEXT);
|
| - ASSERT_TRUE(deflater.Initialize(8));
|
| - WebSocketInflater inflater(256, 256);
|
| - ASSERT_TRUE(inflater.Initialize(8));
|
| -
|
| - for (size_t i = 0; i < size; ++i)
|
| - input.push_back(static_cast<char>(generator.Generate()));
|
| -
|
| - ASSERT_TRUE(deflater.AddBytes(&input[0], input.size()));
|
| - ASSERT_TRUE(deflater.Finish());
|
| -
|
| - compressed = deflater.GetOutput(deflater.CurrentOutputSize());
|
| -
|
| - ASSERT_TRUE(compressed.get());
|
| - ASSERT_EQ(0u, deflater.CurrentOutputSize());
|
| -
|
| - ASSERT_TRUE(inflater.AddBytes(compressed->data(), compressed->size()));
|
| - ASSERT_TRUE(inflater.Finish());
|
| -
|
| - while (inflater.CurrentOutputSize() > 0) {
|
| - scoped_refptr<IOBufferWithSize> uncompressed =
|
| - inflater.GetOutput(inflater.CurrentOutputSize());
|
| - ASSERT_TRUE(uncompressed.get());
|
| - output.insert(output.end(),
|
| - uncompressed->data(),
|
| - uncompressed->data() + uncompressed->size());
|
| - }
|
| -
|
| - EXPECT_EQ(output, input);
|
| -}
|
| -
|
| -} // unnamed namespace
|
| -
|
| -} // namespace net
|
|
|