Index: net/base/load_log_unittest.cc |
=================================================================== |
--- net/base/load_log_unittest.cc (revision 41560) |
+++ net/base/load_log_unittest.cc (working copy) |
@@ -1,185 +0,0 @@ |
-// Copyright (c) 2009 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/base/load_log_unittest.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace net { |
- |
-namespace { |
- |
-TEST(LoadLogTest, Nullable) { |
- // Make sure that the static methods can be called with NULL (no-op). |
- // (Should not crash). |
- LoadLog::BeginEvent(NULL, LoadLog::TYPE_HOST_RESOLVER_IMPL); |
- LoadLog::AddEvent(NULL, LoadLog::TYPE_HOST_RESOLVER_IMPL); |
- LoadLog::EndEvent(NULL, LoadLog::TYPE_HOST_RESOLVER_IMPL); |
-} |
- |
-TEST(LoadLogTest, Basic) { |
- scoped_refptr<LoadLog> log(new LoadLog(10)); |
- |
- // Logs start off empty. |
- EXPECT_EQ(0u, log->entries().size()); |
- EXPECT_EQ(0u, log->num_entries_truncated()); |
- |
- // Add 3 entries. |
- |
- log->Add(LoadLog::Entry(MakeTime(0), |
- LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, |
- LoadLog::PHASE_BEGIN))); |
- log->Add(LoadLog::Entry(MakeTime(2), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- log->Add( |
- LoadLog::Entry( |
- MakeTime(11), |
- LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
- LoadLog::PHASE_END))); |
- |
- EXPECT_EQ(3u, log->entries().size()); |
- EXPECT_EQ(0u, log->num_entries_truncated()); |
- |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log, 0, MakeTime(0), LoadLog::TYPE_HOST_RESOLVER_IMPL, |
- LoadLog::PHASE_BEGIN)); |
- |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log, 1, MakeTime(2), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE)); |
- |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log, 2, MakeTime(11), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
- LoadLog::PHASE_END)); |
-} |
- |
-// Test that the log's size is strictly bounded. |
-TEST(LoadLogTest, Truncation) { |
- size_t kMaxNumEntries = 10; |
- scoped_refptr<LoadLog> log(new LoadLog(kMaxNumEntries)); |
- |
- // Max it out. |
- for (size_t i = 0; i < kMaxNumEntries; ++i) { |
- log->Add(LoadLog::Entry(MakeTime(i), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- } |
- |
- EXPECT_EQ(kMaxNumEntries, log->entries().size()); |
- EXPECT_EQ(0u, log->num_entries_truncated()); |
- |
- // Check the last entry. |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log, 9, MakeTime(9), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE)); |
- |
- // Add three entries while maxed out (will cause truncation) |
- log->Add(LoadLog::Entry(MakeTime(0), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- log->Add(LoadLog::Entry(MakeTime(1), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- log->Add(LoadLog::Entry(MakeTime(2), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- |
- EXPECT_EQ(kMaxNumEntries, log->entries().size()); |
- EXPECT_EQ(3u, log->num_entries_truncated()); |
- |
- // Check the last entry -- it should be the final entry we added. |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log, 9, MakeTime(2), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE)); |
-} |
- |
-TEST(LoadLogTest, Append) { |
- scoped_refptr<LoadLog> log1(new LoadLog(10)); |
- scoped_refptr<LoadLog> log2(new LoadLog(10)); |
- |
- log1->Add(LoadLog::Entry(MakeTime(0), |
- LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, |
- LoadLog::PHASE_BEGIN))); |
- |
- log2->Add(LoadLog::Entry(MakeTime(3), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- log2->Add(LoadLog::Entry(MakeTime(9), |
- LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, |
- LoadLog::PHASE_END))); |
- |
- log1->Append(log2); |
- |
- // Add something else to log2 (should NOT be reflected in log1). |
- log2->Add(LoadLog::Entry(MakeTime(19), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- |
- EXPECT_EQ(3u, log1->entries().size()); |
- EXPECT_EQ(0u, log1->num_entries_truncated()); |
- |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log1, 0, MakeTime(0), LoadLog::TYPE_HOST_RESOLVER_IMPL, |
- LoadLog::PHASE_BEGIN)); |
- |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log1, 1, MakeTime(3), LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE)); |
- |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log1, 2, MakeTime(9), LoadLog::TYPE_HOST_RESOLVER_IMPL, |
- LoadLog::PHASE_END)); |
-} |
- |
-TEST(LoadLogTest, AppendWithTruncation) { |
- // Append() should also respect the maximum number of entries bound. |
- // (This is basically the same test as LoadLogTest.Truncation). |
- |
- // Create two load logs, which both have 6 out of 10 entries filled. |
- size_t kMaxNumEntries = 10; |
- scoped_refptr<LoadLog> log1(new LoadLog(kMaxNumEntries)); |
- scoped_refptr<LoadLog> log2(new LoadLog(kMaxNumEntries)); |
- for (size_t i = 0; i < 6; ++i) { |
- log1->Add(LoadLog::Entry(MakeTime(i), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- log2->Add(LoadLog::Entry(MakeTime(2 * i), |
- LoadLog::Event(LoadLog::TYPE_CANCELLED, |
- LoadLog::PHASE_NONE))); |
- } |
- |
- // Append log2 to log1. |
- log1->Append(log2); |
- |
- // The combined log totalled 12 entries, so 2 must have been dropped. |
- EXPECT_EQ(10u, log1->entries().size()); |
- EXPECT_EQ(2u, log1->num_entries_truncated()); |
- |
- // Combined log should end with the final entry of log2. |
- EXPECT_TRUE(LogContainsEventAtTime( |
- *log1, 9, MakeTime(10), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE)); |
-} |
- |
-TEST(LoadLogTest, EventTypeToString) { |
- EXPECT_STREQ("HOST_RESOLVER_IMPL", |
- LoadLog::EventTypeToString(LoadLog::TYPE_HOST_RESOLVER_IMPL)); |
- EXPECT_STREQ("HOST_RESOLVER_IMPL_OBSERVER_ONSTART", |
- LoadLog::EventTypeToString( |
- LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART)); |
-} |
- |
-TEST(LoadLogTest, String) { |
- scoped_refptr<LoadLog> log(new LoadLog(10)); |
- |
- // Make sure that AddStringLiteral() adds a literal and not a std::string. |
- // (in case there is any funny-business with implicit conversions). |
- LoadLog::AddStringLiteral(log, "This is a literal"); |
- log->Add(LoadLog::Entry(MakeTime(0), "Another literal")); |
- log->Add(LoadLog::Entry(MakeTime(0), std::string("Now a std::string"))); |
- |
- ASSERT_EQ(3u, log->entries().size()); |
- EXPECT_EQ(LoadLog::Entry::TYPE_STRING_LITERAL, log->entries()[0].type); |
- EXPECT_EQ(LoadLog::Entry::TYPE_STRING_LITERAL, log->entries()[1].type); |
- EXPECT_EQ(LoadLog::Entry::TYPE_STRING, log->entries()[2].type); |
-} |
- |
-} // namespace |
-} // namespace net |