|  | // Copyright 2017 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/spdy/spdy_log_util.h" | 
|  |  | 
|  | #include "base/values.h" | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace net { | 
|  |  | 
|  | TEST(SpdyLogUtilTest, ElideGoAwayDebugDataForNetLog) { | 
|  | // Only elide for appropriate log level. | 
|  | EXPECT_EQ( | 
|  | "[6 bytes were stripped]", | 
|  | ElideGoAwayDebugDataForNetLog(NetLogCaptureMode::Default(), "foobar")); | 
|  | EXPECT_EQ("foobar", | 
|  | ElideGoAwayDebugDataForNetLog( | 
|  | NetLogCaptureMode::IncludeCookiesAndCredentials(), "foobar")); | 
|  | } | 
|  |  | 
|  | TEST(SpdyLogUtilTest, ElideSpdyHeaderBlockForNetLog) { | 
|  | spdy::SpdyHeaderBlock headers; | 
|  | headers["foo"] = "bar"; | 
|  | headers["cookie"] = "name=value"; | 
|  |  | 
|  | std::unique_ptr<base::ListValue> list = | 
|  | ElideSpdyHeaderBlockForNetLog(headers, NetLogCaptureMode::Default()); | 
|  | EXPECT_EQ(2u, list->GetSize()); | 
|  | std::string field; | 
|  | EXPECT_TRUE(list->GetString(0, &field)); | 
|  | EXPECT_EQ("foo: bar", field); | 
|  | EXPECT_TRUE(list->GetString(1, &field)); | 
|  | EXPECT_EQ("cookie: [10 bytes were stripped]", field); | 
|  |  | 
|  | list = ElideSpdyHeaderBlockForNetLog( | 
|  | headers, NetLogCaptureMode::IncludeCookiesAndCredentials()); | 
|  | EXPECT_EQ(2u, list->GetSize()); | 
|  | EXPECT_TRUE(list->GetString(0, &field)); | 
|  | EXPECT_EQ("foo: bar", field); | 
|  | EXPECT_TRUE(list->GetString(1, &field)); | 
|  | EXPECT_EQ("cookie: name=value", field); | 
|  | } | 
|  |  | 
|  | }  // namespace net |