// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/base/load_timing_info_test_util.h" #include "net/base/load_timing_info.h" #include "testing/gtest/include/gtest/gtest.h" namespace net { void ExpectConnectTimingHasNoTimes( const LoadTimingInfo::ConnectTiming& connect_timing) { EXPECT_TRUE(connect_timing.domain_lookup_start.is_null()); EXPECT_TRUE(connect_timing.domain_lookup_end.is_null()); EXPECT_TRUE(connect_timing.connect_start.is_null()); EXPECT_TRUE(connect_timing.connect_end.is_null()); EXPECT_TRUE(connect_timing.ssl_start.is_null()); EXPECT_TRUE(connect_timing.ssl_end.is_null()); } void ExpectConnectTimingHasTimes( const LoadTimingInfo::ConnectTiming& connect_timing, int connect_timing_flags) { EXPECT_FALSE(connect_timing.connect_start.is_null()); EXPECT_LE(connect_timing.connect_start, connect_timing.connect_end); if (!(connect_timing_flags & CONNECT_TIMING_HAS_DNS_TIMES)) { EXPECT_TRUE(connect_timing.domain_lookup_start.is_null()); EXPECT_TRUE(connect_timing.domain_lookup_end.is_null()); } else { EXPECT_FALSE(connect_timing.domain_lookup_start.is_null()); EXPECT_LE(connect_timing.domain_lookup_start, connect_timing.domain_lookup_end); EXPECT_LE(connect_timing.domain_lookup_end, connect_timing.connect_start); } if (!(connect_timing_flags & CONNECT_TIMING_HAS_SSL_TIMES)) { EXPECT_TRUE(connect_timing.ssl_start.is_null()); EXPECT_TRUE(connect_timing.ssl_start.is_null()); } else { EXPECT_FALSE(connect_timing.ssl_start.is_null()); EXPECT_LE(connect_timing.connect_start, connect_timing.ssl_start); EXPECT_LE(connect_timing.ssl_start, connect_timing.ssl_end); EXPECT_LE(connect_timing.ssl_end, connect_timing.connect_end); } } void ExpectLoadTimingHasOnlyConnectionTimes( const LoadTimingInfo& load_timing_info) { EXPECT_TRUE(load_timing_info.request_start_time.is_null()); EXPECT_TRUE(load_timing_info.request_start.is_null()); EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); EXPECT_TRUE(load_timing_info.send_start.is_null()); EXPECT_TRUE(load_timing_info.send_end.is_null()); EXPECT_TRUE(load_timing_info.receive_headers_end.is_null()); EXPECT_TRUE(load_timing_info.first_early_hints_time.is_null()); EXPECT_TRUE(load_timing_info.push_start.is_null()); EXPECT_TRUE(load_timing_info.push_end.is_null()); } } // namespace net