1 // Copyright 2013 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/base/load_timing_info_test_util.h" 6 7 #include "net/base/load_timing_info.h" 8 #include "testing/gtest/include/gtest/gtest.h" 9 10 namespace net { 11 ExpectConnectTimingHasNoTimes(const LoadTimingInfo::ConnectTiming & connect_timing)12void ExpectConnectTimingHasNoTimes( 13 const LoadTimingInfo::ConnectTiming& connect_timing) { 14 EXPECT_TRUE(connect_timing.domain_lookup_start.is_null()); 15 EXPECT_TRUE(connect_timing.domain_lookup_end.is_null()); 16 EXPECT_TRUE(connect_timing.connect_start.is_null()); 17 EXPECT_TRUE(connect_timing.connect_end.is_null()); 18 EXPECT_TRUE(connect_timing.ssl_start.is_null()); 19 EXPECT_TRUE(connect_timing.ssl_end.is_null()); 20 } 21 ExpectConnectTimingHasTimes(const LoadTimingInfo::ConnectTiming & connect_timing,int connect_timing_flags)22void ExpectConnectTimingHasTimes( 23 const LoadTimingInfo::ConnectTiming& connect_timing, 24 int connect_timing_flags) { 25 EXPECT_FALSE(connect_timing.connect_start.is_null()); 26 EXPECT_LE(connect_timing.connect_start, connect_timing.connect_end); 27 28 if (!(connect_timing_flags & CONNECT_TIMING_HAS_DNS_TIMES)) { 29 EXPECT_TRUE(connect_timing.domain_lookup_start.is_null()); 30 EXPECT_TRUE(connect_timing.domain_lookup_end.is_null()); 31 } else { 32 EXPECT_FALSE(connect_timing.domain_lookup_start.is_null()); 33 EXPECT_LE(connect_timing.domain_lookup_start, 34 connect_timing.domain_lookup_end); 35 EXPECT_LE(connect_timing.domain_lookup_end, connect_timing.connect_start); 36 } 37 38 if (!(connect_timing_flags & CONNECT_TIMING_HAS_SSL_TIMES)) { 39 EXPECT_TRUE(connect_timing.ssl_start.is_null()); 40 EXPECT_TRUE(connect_timing.ssl_end.is_null()); 41 } else { 42 EXPECT_FALSE(connect_timing.ssl_start.is_null()); 43 EXPECT_LE(connect_timing.connect_start, connect_timing.ssl_start); 44 EXPECT_LE(connect_timing.ssl_start, connect_timing.ssl_end); 45 EXPECT_LE(connect_timing.ssl_end, connect_timing.connect_end); 46 } 47 } 48 ExpectLoadTimingHasOnlyConnectionTimes(const LoadTimingInfo & load_timing_info)49void ExpectLoadTimingHasOnlyConnectionTimes( 50 const LoadTimingInfo& load_timing_info) { 51 EXPECT_TRUE(load_timing_info.request_start_time.is_null()); 52 EXPECT_TRUE(load_timing_info.request_start.is_null()); 53 EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); 54 EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); 55 EXPECT_TRUE(load_timing_info.send_start.is_null()); 56 EXPECT_TRUE(load_timing_info.send_end.is_null()); 57 EXPECT_TRUE(load_timing_info.receive_headers_end.is_null()); 58 EXPECT_TRUE(load_timing_info.first_early_hints_time.is_null()); 59 EXPECT_TRUE(load_timing_info.push_start.is_null()); 60 EXPECT_TRUE(load_timing_info.push_end.is_null()); 61 } 62 63 } // namespace net 64