xref: /aosp_15_r20/external/cronet/net/base/load_timing_info_test_util.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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)12 void 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)22 void 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)49 void 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