Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(302)

Unified Diff: chrome/common/page_load_metrics/page_load_metrics_struct_traits_unittest.cc

Issue 2823523003: [Page Load Metrics] PageLoadMetrics Mojofication. (Closed)
Patch Set: Add unit test for page_load_metrics_struct_traits Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/page_load_metrics/page_load_metrics_struct_traits_unittest.cc
diff --git a/chrome/common/page_load_metrics/page_load_metrics_struct_traits_unittest.cc b/chrome/common/page_load_metrics/page_load_metrics_struct_traits_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4094ccdc888c79609cfe2a0159bd8adce21f770b
--- /dev/null
+++ b/chrome/common/page_load_metrics/page_load_metrics_struct_traits_unittest.cc
@@ -0,0 +1,195 @@
+// 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 "chrome/common/page_load_metrics/page_load_metrics_struct_traits.h"
+
+#include "base/time/time.h"
+#include "chrome/common/page_load_metrics/page_load_metrics.mojom.h"
+#include "chrome/common/page_load_metrics/page_load_timing.h"
+#include "ipc/ipc_message_utils.h"
+#include "mojo/common/common_custom_types_struct_traits.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace page_load_metrics {
+
+TEST(DocumentTimingStructTraitsTest, Basic) {
Bryan McQuade 2017/05/07 19:44:41 Let's make all of these part of PageLoadMetricsStr
lpy 2017/05/08 18:38:33 Done. I don't think these names are more descripti
+ DocumentTiming document_timing;
+ document_timing.dom_content_loaded_event_start =
+ base::TimeDelta::FromMicroseconds(1);
+ document_timing.load_event_start = base::TimeDelta::FromMicroseconds(2);
+ document_timing.first_layout = base::TimeDelta::FromMicroseconds(3);
+
+ DocumentTiming document_timing2;
+ ASSERT_TRUE(mojom::DocumentTiming::Deserialize(
+ mojom::DocumentTiming::Serialize(&document_timing), &document_timing2));
+
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(1),
+ document_timing2.dom_content_loaded_event_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
+ document_timing2.load_event_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
+ document_timing2.first_layout);
+}
+
+TEST(PaintTimingStructTraitsTest, Basic) {
+ PaintTiming paint_timing;
+ paint_timing.first_paint = base::TimeDelta::FromMicroseconds(1);
+ paint_timing.first_text_paint = base::TimeDelta::FromMicroseconds(2);
+ paint_timing.first_image_paint = base::TimeDelta::FromMicroseconds(3);
+ paint_timing.first_contentful_paint = base::TimeDelta::FromMicroseconds(4);
+ paint_timing.first_meaningful_paint = base::TimeDelta::FromMicroseconds(5);
+
+ PaintTiming paint_timing2;
+ ASSERT_TRUE(mojom::PaintTiming::Deserialize(
+ mojom::PaintTiming::Serialize(&paint_timing), &paint_timing2));
+
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(1), paint_timing2.first_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
+ paint_timing2.first_text_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
+ paint_timing2.first_image_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(4),
+ paint_timing2.first_contentful_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(5),
+ paint_timing2.first_meaningful_paint);
+}
+
+TEST(ParseTimingStructTraitsTest, Basic) {
+ ParseTiming parse_timing;
+ parse_timing.parse_start = base::TimeDelta::FromMicroseconds(1);
+ parse_timing.parse_stop = base::TimeDelta::FromMicroseconds(2);
+ parse_timing.parse_blocked_on_script_load_duration =
+ base::TimeDelta::FromMicroseconds(3);
+ parse_timing.parse_blocked_on_script_load_from_document_write_duration =
+ base::TimeDelta::FromMicroseconds(4);
+ parse_timing.parse_blocked_on_script_execution_duration =
+ base::TimeDelta::FromMicroseconds(5);
+ parse_timing.parse_blocked_on_script_execution_from_document_write_duration =
+ base::TimeDelta::FromMicroseconds(6);
+
+ ParseTiming parse_timing2;
+ ASSERT_TRUE(mojom::ParseTiming::Deserialize(
+ mojom::ParseTiming::Serialize(&parse_timing), &parse_timing2));
+
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(1), parse_timing2.parse_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(2), parse_timing2.parse_stop);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
+ parse_timing2.parse_blocked_on_script_load_duration);
+ EXPECT_EQ(
+ base::TimeDelta::FromMicroseconds(4),
+ parse_timing2.parse_blocked_on_script_load_from_document_write_duration);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(5),
+ parse_timing2.parse_blocked_on_script_execution_duration);
+ EXPECT_EQ(
+ base::TimeDelta::FromMicroseconds(6),
+ parse_timing2
+ .parse_blocked_on_script_execution_from_document_write_duration);
+}
+
+TEST(StyleSheetTimingStructTraitsTest, Basic) {
+ StyleSheetTiming style_sheet_timing;
+ style_sheet_timing.author_style_sheet_parse_duration_before_fcp =
+ base::TimeDelta::FromMicroseconds(1);
+ style_sheet_timing.update_style_duration_before_fcp =
+ base::TimeDelta::FromMicroseconds(2);
+
+ StyleSheetTiming style_sheet_timing2;
+ ASSERT_TRUE(mojom::StyleSheetTiming::Deserialize(
+ mojom::StyleSheetTiming::Serialize(&style_sheet_timing),
+ &style_sheet_timing2));
+
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(1),
+ style_sheet_timing2.author_style_sheet_parse_duration_before_fcp);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
+ style_sheet_timing2.update_style_duration_before_fcp);
+}
+
+TEST(PageLoadTimingStructTraitsTest, Basic) {
+ PageLoadTiming page_load_timing;
+ page_load_timing.navigation_start = base::Time::FromDoubleT(1);
+ page_load_timing.response_start = base::TimeDelta::FromMicroseconds(1);
+ page_load_timing.document_timing.dom_content_loaded_event_start =
+ base::TimeDelta::FromMicroseconds(2);
+ page_load_timing.document_timing.load_event_start =
+ base::TimeDelta::FromMicroseconds(3);
+ page_load_timing.document_timing.first_layout =
+ base::TimeDelta::FromMicroseconds(4);
+ page_load_timing.paint_timing.first_paint =
+ base::TimeDelta::FromMicroseconds(5);
+ page_load_timing.paint_timing.first_text_paint =
+ base::TimeDelta::FromMicroseconds(6);
+ page_load_timing.paint_timing.first_image_paint =
+ base::TimeDelta::FromMicroseconds(7);
+ page_load_timing.paint_timing.first_contentful_paint =
+ base::TimeDelta::FromMicroseconds(8);
+ page_load_timing.paint_timing.first_meaningful_paint =
+ base::TimeDelta::FromMicroseconds(9);
+ page_load_timing.parse_timing.parse_start =
+ base::TimeDelta::FromMicroseconds(10);
+ page_load_timing.parse_timing.parse_stop =
+ base::TimeDelta::FromMicroseconds(11);
+ page_load_timing.parse_timing.parse_blocked_on_script_load_duration =
+ base::TimeDelta::FromMicroseconds(12);
+ page_load_timing.parse_timing
+ .parse_blocked_on_script_load_from_document_write_duration =
+ base::TimeDelta::FromMicroseconds(13);
+ page_load_timing.parse_timing.parse_blocked_on_script_execution_duration =
+ base::TimeDelta::FromMicroseconds(14);
+ page_load_timing.parse_timing
+ .parse_blocked_on_script_execution_from_document_write_duration =
+ base::TimeDelta::FromMicroseconds(15);
+ page_load_timing.style_sheet_timing
+ .author_style_sheet_parse_duration_before_fcp =
+ base::TimeDelta::FromMicroseconds(16);
+ page_load_timing.style_sheet_timing.update_style_duration_before_fcp =
+ base::TimeDelta::FromMicroseconds(17);
+
+ PageLoadTiming page_load_timing2;
+ ASSERT_TRUE(mojom::PageLoadTiming::Deserialize(
+ mojom::PageLoadTiming::Serialize(&page_load_timing), &page_load_timing2));
+ EXPECT_EQ(base::Time::FromDoubleT(1), page_load_timing2.navigation_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(1),
+ page_load_timing2.response_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
+ page_load_timing2.document_timing.dom_content_loaded_event_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
+ page_load_timing2.document_timing.load_event_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(4),
+ page_load_timing2.document_timing.first_layout);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(5),
+ page_load_timing2.paint_timing.first_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(6),
+ page_load_timing2.paint_timing.first_text_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(7),
+ page_load_timing2.paint_timing.first_image_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(8),
+ page_load_timing2.paint_timing.first_contentful_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(9),
+ page_load_timing2.paint_timing.first_meaningful_paint);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(10),
+ page_load_timing2.parse_timing.parse_start);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(11),
+ page_load_timing2.parse_timing.parse_stop);
+ EXPECT_EQ(
+ base::TimeDelta::FromMicroseconds(12),
+ page_load_timing2.parse_timing.parse_blocked_on_script_load_duration);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(13),
+ page_load_timing2.parse_timing
+ .parse_blocked_on_script_load_from_document_write_duration);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(14),
+ page_load_timing2.parse_timing
+ .parse_blocked_on_script_execution_duration);
+ EXPECT_EQ(
+ base::TimeDelta::FromMicroseconds(15),
+ page_load_timing2.parse_timing
+ .parse_blocked_on_script_execution_from_document_write_duration);
+ EXPECT_EQ(base::TimeDelta::FromMicroseconds(16),
+ page_load_timing2.style_sheet_timing
+ .author_style_sheet_parse_duration_before_fcp);
+ EXPECT_EQ(
+ base::TimeDelta::FromMicroseconds(17),
+ page_load_timing2.style_sheet_timing.update_style_duration_before_fcp);
+}
+
+} // namespace page_load_metrics

Powered by Google App Engine
This is Rietveld 408576698