load_timing_info_test_util.cc 2.4 KB

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