| Index: net/tools/balsa/balsa_headers_test.cc
|
| diff --git a/net/tools/balsa/balsa_headers_test.cc b/net/tools/balsa/balsa_headers_test.cc
|
| deleted file mode 100644
|
| index 3dc8eb33d2af2da7cc7270aae36f6241887c930a..0000000000000000000000000000000000000000
|
| --- a/net/tools/balsa/balsa_headers_test.cc
|
| +++ /dev/null
|
| @@ -1,390 +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/tools/balsa/balsa_headers.h"
|
| -
|
| -#include <iterator>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/strings/string_piece.h"
|
| -#include "net/tools/balsa/balsa_enums.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace net {
|
| -
|
| -using ::base::StringPiece;
|
| -
|
| -class BalsaBufferTest : public ::testing::Test {
|
| - public:
|
| - void SetUp() override {
|
| - buffer_.reset(new BalsaBuffer);
|
| - anotherBuffer_.reset(new BalsaBuffer);
|
| - }
|
| -
|
| - protected:
|
| - scoped_ptr<BalsaBuffer> buffer_;
|
| - scoped_ptr<BalsaBuffer> anotherBuffer_;
|
| -};
|
| -
|
| -namespace {
|
| -
|
| -class BalsaHeadersTest: public ::testing::Test {
|
| - public:
|
| - void SetUp() override { headers_.reset(new BalsaHeaders); }
|
| -
|
| - protected:
|
| - scoped_ptr<BalsaHeaders> headers_;
|
| -};
|
| -
|
| -class StringBuffer {
|
| - public:
|
| - void Write(const char* p, size_t size) {
|
| - string_ += std::string(p, size);
|
| - }
|
| - const std::string& string() {return string_;}
|
| -
|
| - private:
|
| - std::string string_;
|
| -};
|
| -
|
| -TEST_F(BalsaBufferTest, EmptyBuffer) {
|
| - ASSERT_EQ(1u, buffer_->num_blocks());
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, Write) {
|
| - size_t index1, index2;
|
| - StringPiece sp1 = buffer_->Write(StringPiece("hello"), &index1);
|
| - StringPiece sp2 = buffer_->Write(StringPiece(", world"), &index2);
|
| -
|
| - ASSERT_EQ(2u, buffer_->num_blocks());
|
| - ASSERT_EQ("hello", sp1);
|
| - ASSERT_EQ(", world", sp2);
|
| - ASSERT_EQ(1u, index1);
|
| - ASSERT_EQ(1u, index2);
|
| - ASSERT_EQ("hello, world",
|
| - StringPiece(buffer_->GetPtr(1), buffer_->bytes_used(1)));
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, WriteLongData) {
|
| - size_t index1, index2, index3;
|
| - std::string as(2, 'a');
|
| - std::string bs(BalsaBuffer::kDefaultBlocksize + 1, 'b');
|
| - std::string cs(4, 'c');
|
| -
|
| - StringPiece sp1 = buffer_->Write(as, &index1);
|
| - StringPiece sp2 = buffer_->Write(bs, &index2);
|
| - StringPiece sp3 = buffer_->Write(cs, &index3);
|
| -
|
| - ASSERT_EQ(3u, buffer_->num_blocks());
|
| - ASSERT_EQ(as, sp1);
|
| - ASSERT_EQ(bs, sp2);
|
| - ASSERT_EQ(cs, sp3);
|
| - ASSERT_EQ(1u, index1);
|
| - ASSERT_EQ(2u, index2);
|
| - ASSERT_EQ(1u, index3);
|
| - ASSERT_EQ("aacccc", StringPiece(buffer_->GetPtr(1), buffer_->bytes_used(1)));
|
| - ASSERT_EQ(sp2, StringPiece(buffer_->GetPtr(2), buffer_->bytes_used(2)));
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, WriteToContiguousBuffer) {
|
| - std::string as(2, 'a');
|
| - std::string bs(BalsaBuffer::kDefaultBlocksize + 1, 'b');
|
| - std::string cs(4, 'c');
|
| -
|
| - buffer_->WriteToContiguousBuffer(as);
|
| - buffer_->WriteToContiguousBuffer(bs);
|
| - buffer_->WriteToContiguousBuffer(cs);
|
| -
|
| - ASSERT_EQ(1u, buffer_->num_blocks());
|
| - ASSERT_EQ(as + bs + cs,
|
| - StringPiece(buffer_->GetPtr(0), buffer_->bytes_used(0)));
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, NoMoreWriteToContiguousBuffer) {
|
| - size_t index1, index2;
|
| - StringPiece sp1 = buffer_->Write(StringPiece("hello"), &index1);
|
| - buffer_->NoMoreWriteToContiguousBuffer();
|
| - StringPiece sp2 = buffer_->Write(StringPiece(", world"), &index2);
|
| -
|
| - ASSERT_EQ(2u, buffer_->num_blocks());
|
| - ASSERT_EQ("hello", sp1);
|
| - ASSERT_EQ(", world", sp2);
|
| - ASSERT_EQ(1u, index1);
|
| - ASSERT_EQ(0u, index2);
|
| - ASSERT_EQ(sp1, StringPiece(buffer_->GetPtr(1), buffer_->bytes_used(1)));
|
| - ASSERT_EQ(sp2, StringPiece(buffer_->GetPtr(0), buffer_->bytes_used(0)));
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, Clear) {
|
| - buffer_->Write("hello", NULL);
|
| - ASSERT_EQ(2u, buffer_->num_blocks());
|
| - buffer_->Clear();
|
| - ASSERT_EQ(1u, buffer_->num_blocks());
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, Swap) {
|
| - buffer_->Write("hello", NULL);
|
| -
|
| - ASSERT_EQ(2u, buffer_->num_blocks());
|
| - ASSERT_EQ(1u, anotherBuffer_->num_blocks());
|
| -
|
| - buffer_->Swap(anotherBuffer_.get());
|
| -
|
| - ASSERT_EQ(1u, buffer_->num_blocks());
|
| - ASSERT_EQ(2u, anotherBuffer_->num_blocks());
|
| - ASSERT_EQ("hello",
|
| - StringPiece(anotherBuffer_->GetPtr(1),
|
| - anotherBuffer_->bytes_used(1)));
|
| -}
|
| -
|
| -TEST_F(BalsaBufferTest, CopyFrom) {
|
| - buffer_->Write("hello", NULL);
|
| -
|
| - ASSERT_EQ(2u, buffer_->num_blocks());
|
| - ASSERT_EQ(1u, anotherBuffer_->num_blocks());
|
| -
|
| - anotherBuffer_->CopyFrom(*buffer_);
|
| -
|
| - ASSERT_EQ(2u, buffer_->num_blocks());
|
| - ASSERT_EQ(2u, anotherBuffer_->num_blocks());
|
| - ASSERT_EQ("hello", StringPiece(buffer_->GetPtr(1), buffer_->bytes_used(1)));
|
| - ASSERT_EQ("hello",
|
| - StringPiece(anotherBuffer_->GetPtr(1),
|
| - anotherBuffer_->bytes_used(1)));
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, AppendHeader) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "value2");
|
| - headers_->AppendHeader("key3", "value3");
|
| - headers_->AppendHeader("key3", "value3.1");
|
| - headers_->AppendHeader("key3", "value3.2");
|
| -
|
| - ASSERT_EQ(5, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| - ASSERT_EQ("value1", headers_->GetHeader("key1"));
|
| - ASSERT_EQ("value2", headers_->GetHeader("key2"));
|
| - ASSERT_EQ("value3", headers_->GetHeader("key3"));
|
| -
|
| - std::vector<base::StringPiece> v1, v2, v3;
|
| - std::string s1, s2, s3;
|
| - headers_->GetAllOfHeader("key1", &v1);
|
| - headers_->GetAllOfHeader("key2", &v2);
|
| - headers_->GetAllOfHeader("key3", &v3);
|
| - headers_->GetAllOfHeaderAsString("key1", &s1);
|
| - headers_->GetAllOfHeaderAsString("key2", &s2);
|
| - headers_->GetAllOfHeaderAsString("key3", &s3);
|
| -
|
| - ASSERT_EQ(1u, v1.size());
|
| - ASSERT_EQ(1u, v2.size());
|
| - ASSERT_EQ(3u, v3.size());
|
| - ASSERT_EQ("value1", v1[0]);
|
| - ASSERT_EQ("value2", v2[0]);
|
| - ASSERT_EQ("value3", v3[0]);
|
| - ASSERT_EQ("value3.1", v3[1]);
|
| - ASSERT_EQ("value3.2", v3[2]);
|
| - ASSERT_EQ("value1", s1);
|
| - ASSERT_EQ("value2", s2);
|
| - ASSERT_EQ("value3,value3.1,value3.2", s3);
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, ReplaceOrAppendHeader) {
|
| - headers_->ReplaceOrAppendHeader("key1", "value1");
|
| - headers_->ReplaceOrAppendHeader("key1", "value2");
|
| -
|
| - ASSERT_EQ(1, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| - ASSERT_EQ("value2", headers_->GetHeader("key1"));
|
| -
|
| - std::vector<base::StringPiece> v;
|
| - headers_->GetAllOfHeader("key1", &v);
|
| -
|
| - ASSERT_EQ(1u, v.size());
|
| - ASSERT_EQ("value2", v[0]);
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, AppendToHeader) {
|
| - headers_->AppendToHeader("key1", "value1");
|
| - headers_->AppendToHeader("keY1", "value2");
|
| -
|
| - ASSERT_EQ(1, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| - ASSERT_EQ("value1,value2", headers_->GetHeader("key1"));
|
| -
|
| - std::vector<base::StringPiece> v;
|
| - std::string s;
|
| - headers_->GetAllOfHeader("key1", &v);
|
| - headers_->GetAllOfHeaderAsString("keY1", &s);
|
| -
|
| - ASSERT_EQ(1u, v.size());
|
| - ASSERT_EQ("value1,value2", v[0]);
|
| - ASSERT_EQ("value1,value2", s);
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, PrepentToHeader) {
|
| - headers_->PrependToHeader("key1", "value1");
|
| - headers_->PrependToHeader("key1", "value2");
|
| -
|
| - ASSERT_EQ(1, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| - ASSERT_EQ("value2,value1", headers_->GetHeader("key1"));
|
| -
|
| - std::vector<base::StringPiece> v;
|
| - std::string s;
|
| - headers_->GetAllOfHeader("key1", &v);
|
| - headers_->GetAllOfHeaderAsString("key1", &s);
|
| -
|
| - ASSERT_EQ(1u, v.size());
|
| - ASSERT_EQ("value2,value1", v[0]);
|
| - ASSERT_EQ("value2,value1", s);
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, HasHeader) {
|
| - headers_->AppendHeader("key1", "value1");
|
| -
|
| - ASSERT_TRUE(headers_->HasHeader("key1"));
|
| - ASSERT_FALSE(headers_->HasHeader("value1"));
|
| - ASSERT_FALSE(headers_->HasHeader("key2"));
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, HasNonEmptyHeader) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "");
|
| -
|
| - ASSERT_TRUE(headers_->HasNonEmptyHeader("key1"));
|
| - ASSERT_FALSE(headers_->HasNonEmptyHeader("key2"));
|
| - ASSERT_FALSE(headers_->HasNonEmptyHeader("key3"));
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, GetHeaderPosition) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "value2");
|
| - headers_->AppendHeader("key3", "value3");
|
| -
|
| - BalsaHeaders::const_header_lines_iterator i =
|
| - headers_->GetHeaderPosition("key2");
|
| -
|
| - ASSERT_EQ(headers_->header_lines_end(),
|
| - headers_->GetHeaderPosition("foobar"));
|
| - ASSERT_EQ(headers_->header_lines_begin(),
|
| - headers_->GetHeaderPosition("key1"));
|
| - ASSERT_NE(headers_->header_lines_end(), i);
|
| - ASSERT_EQ("key2", i->first);
|
| - ASSERT_EQ("value2", i->second);
|
| - ++i;
|
| - ASSERT_EQ("key3", i->first);
|
| - ASSERT_EQ("value3", i->second);
|
| - ++i;
|
| - ASSERT_EQ(headers_->header_lines_end(), i);
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, GetIteratorForKey) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "value2");
|
| - headers_->AppendHeader("key1", "value1.1");
|
| - headers_->AppendHeader("key3", "value3");
|
| - headers_->AppendHeader("KEY1", "value1.2");
|
| -
|
| - BalsaHeaders::const_header_lines_key_iterator i =
|
| - headers_->GetIteratorForKey("key1");
|
| -
|
| - ASSERT_EQ(headers_->header_lines_key_end(),
|
| - headers_->GetIteratorForKey("foobar"));
|
| - ASSERT_NE(headers_->header_lines_key_end(), i);
|
| - ASSERT_EQ("key1", i->first);
|
| - ASSERT_EQ("value1", i->second);
|
| - ++i;
|
| - ASSERT_EQ("key1", i->first);
|
| - ASSERT_EQ("value1.1", i->second);
|
| - ++i;
|
| - ASSERT_EQ("KEY1", i->first);
|
| - ASSERT_EQ("value1.2", i->second);
|
| - ++i;
|
| - ASSERT_EQ(headers_->header_lines_key_end(), i);
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, RemoveAllOfHeader) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "value2");
|
| - headers_->AppendHeader("key1", "value1.1");
|
| - headers_->AppendHeader("key3", "value3");
|
| - headers_->AppendHeader("key1", "value1.2");
|
| - headers_->AppendHeader("kEY1", "value1.3");
|
| -
|
| - ASSERT_EQ(6, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| - headers_->RemoveAllOfHeader("key1");
|
| - ASSERT_EQ(2, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, RemoveAllHeadersWithPrefix) {
|
| - headers_->AppendHeader("1key", "value1");
|
| - headers_->AppendHeader("2key", "value2");
|
| - headers_->AppendHeader("1kEz", "value1.1");
|
| - headers_->AppendHeader("key3", "value3");
|
| - headers_->AppendHeader("1KEEjkladf", "value1.2");
|
| -
|
| - ASSERT_EQ(5, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| - headers_->RemoveAllHeadersWithPrefix("1ke");
|
| - ASSERT_EQ(2, std::distance(headers_->header_lines_begin(),
|
| - headers_->header_lines_end()));
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, WriteRequestHeaderAndEndingToBuffer) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "value2");
|
| - headers_->AppendHeader("key1", "value1.1");
|
| -
|
| - headers_->SetRequestFirstlineFromStringPieces("GET", "/", "HTTP/1.0");
|
| -
|
| - std::string expected = "GET / HTTP/1.0\r\n"
|
| - "key1: value1\r\n"
|
| - "key2: value2\r\n"
|
| - "key1: value1.1\r\n\r\n";
|
| - StringBuffer buffer;
|
| - headers_->WriteHeaderAndEndingToBuffer(&buffer);
|
| - ASSERT_EQ(expected, buffer.string());
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, WriteResponseHeaderAndEndingToBuffer) {
|
| - headers_->AppendHeader("key1", "value1");
|
| - headers_->AppendHeader("key2", "value2");
|
| - headers_->AppendHeader("key1", "value1.1");
|
| -
|
| - headers_->SetResponseFirstlineFromStringPieces("HTTP/1.0", "200", "OK");
|
| -
|
| - std::string expected = "HTTP/1.0 200 OK\r\n"
|
| - "key1: value1\r\n"
|
| - "key2: value2\r\n"
|
| - "key1: value1.1\r\n\r\n";
|
| - StringBuffer buffer;
|
| - headers_->WriteHeaderAndEndingToBuffer(&buffer);
|
| - ASSERT_EQ(expected, buffer.string());
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, RequestFirstLine) {
|
| - headers_->SetRequestFirstlineFromStringPieces("HEAD", "/path", "HTTP/1.1");
|
| -
|
| - ASSERT_EQ("HEAD /path HTTP/1.1", headers_->first_line());
|
| - ASSERT_EQ("HEAD", headers_->request_method());
|
| - ASSERT_EQ("/path", headers_->request_uri());
|
| - ASSERT_EQ("HTTP/1.1", headers_->request_version());
|
| -}
|
| -
|
| -TEST_F(BalsaHeadersTest, ResponseFirstLine) {
|
| - headers_->SetRequestFirstlineFromStringPieces("HTTP/1.0", "403", "FORBIDDEN");
|
| -
|
| - ASSERT_EQ("HTTP/1.0 403 FORBIDDEN", headers_->first_line());
|
| - ASSERT_EQ("HTTP/1.0", headers_->response_version());
|
| - ASSERT_EQ("403", headers_->response_code());
|
| - ASSERT_EQ("FORBIDDEN", headers_->response_reason_phrase());
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -} // namespace net
|
|
|