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

Side by Side 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 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
5 #include "chrome/common/page_load_metrics/page_load_metrics_struct_traits.h"
6
7 #include "base/time/time.h"
8 #include "chrome/common/page_load_metrics/page_load_metrics.mojom.h"
9 #include "chrome/common/page_load_metrics/page_load_timing.h"
10 #include "ipc/ipc_message_utils.h"
11 #include "mojo/common/common_custom_types_struct_traits.h"
12 #include "testing/gtest/include/gtest/gtest.h"
13
14 namespace page_load_metrics {
15
16 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
17 DocumentTiming document_timing;
18 document_timing.dom_content_loaded_event_start =
19 base::TimeDelta::FromMicroseconds(1);
20 document_timing.load_event_start = base::TimeDelta::FromMicroseconds(2);
21 document_timing.first_layout = base::TimeDelta::FromMicroseconds(3);
22
23 DocumentTiming document_timing2;
24 ASSERT_TRUE(mojom::DocumentTiming::Deserialize(
25 mojom::DocumentTiming::Serialize(&document_timing), &document_timing2));
26
27 EXPECT_EQ(base::TimeDelta::FromMicroseconds(1),
28 document_timing2.dom_content_loaded_event_start);
29 EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
30 document_timing2.load_event_start);
31 EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
32 document_timing2.first_layout);
33 }
34
35 TEST(PaintTimingStructTraitsTest, Basic) {
36 PaintTiming paint_timing;
37 paint_timing.first_paint = base::TimeDelta::FromMicroseconds(1);
38 paint_timing.first_text_paint = base::TimeDelta::FromMicroseconds(2);
39 paint_timing.first_image_paint = base::TimeDelta::FromMicroseconds(3);
40 paint_timing.first_contentful_paint = base::TimeDelta::FromMicroseconds(4);
41 paint_timing.first_meaningful_paint = base::TimeDelta::FromMicroseconds(5);
42
43 PaintTiming paint_timing2;
44 ASSERT_TRUE(mojom::PaintTiming::Deserialize(
45 mojom::PaintTiming::Serialize(&paint_timing), &paint_timing2));
46
47 EXPECT_EQ(base::TimeDelta::FromMicroseconds(1), paint_timing2.first_paint);
48 EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
49 paint_timing2.first_text_paint);
50 EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
51 paint_timing2.first_image_paint);
52 EXPECT_EQ(base::TimeDelta::FromMicroseconds(4),
53 paint_timing2.first_contentful_paint);
54 EXPECT_EQ(base::TimeDelta::FromMicroseconds(5),
55 paint_timing2.first_meaningful_paint);
56 }
57
58 TEST(ParseTimingStructTraitsTest, Basic) {
59 ParseTiming parse_timing;
60 parse_timing.parse_start = base::TimeDelta::FromMicroseconds(1);
61 parse_timing.parse_stop = base::TimeDelta::FromMicroseconds(2);
62 parse_timing.parse_blocked_on_script_load_duration =
63 base::TimeDelta::FromMicroseconds(3);
64 parse_timing.parse_blocked_on_script_load_from_document_write_duration =
65 base::TimeDelta::FromMicroseconds(4);
66 parse_timing.parse_blocked_on_script_execution_duration =
67 base::TimeDelta::FromMicroseconds(5);
68 parse_timing.parse_blocked_on_script_execution_from_document_write_duration =
69 base::TimeDelta::FromMicroseconds(6);
70
71 ParseTiming parse_timing2;
72 ASSERT_TRUE(mojom::ParseTiming::Deserialize(
73 mojom::ParseTiming::Serialize(&parse_timing), &parse_timing2));
74
75 EXPECT_EQ(base::TimeDelta::FromMicroseconds(1), parse_timing2.parse_start);
76 EXPECT_EQ(base::TimeDelta::FromMicroseconds(2), parse_timing2.parse_stop);
77 EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
78 parse_timing2.parse_blocked_on_script_load_duration);
79 EXPECT_EQ(
80 base::TimeDelta::FromMicroseconds(4),
81 parse_timing2.parse_blocked_on_script_load_from_document_write_duration);
82 EXPECT_EQ(base::TimeDelta::FromMicroseconds(5),
83 parse_timing2.parse_blocked_on_script_execution_duration);
84 EXPECT_EQ(
85 base::TimeDelta::FromMicroseconds(6),
86 parse_timing2
87 .parse_blocked_on_script_execution_from_document_write_duration);
88 }
89
90 TEST(StyleSheetTimingStructTraitsTest, Basic) {
91 StyleSheetTiming style_sheet_timing;
92 style_sheet_timing.author_style_sheet_parse_duration_before_fcp =
93 base::TimeDelta::FromMicroseconds(1);
94 style_sheet_timing.update_style_duration_before_fcp =
95 base::TimeDelta::FromMicroseconds(2);
96
97 StyleSheetTiming style_sheet_timing2;
98 ASSERT_TRUE(mojom::StyleSheetTiming::Deserialize(
99 mojom::StyleSheetTiming::Serialize(&style_sheet_timing),
100 &style_sheet_timing2));
101
102 EXPECT_EQ(base::TimeDelta::FromMicroseconds(1),
103 style_sheet_timing2.author_style_sheet_parse_duration_before_fcp);
104 EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
105 style_sheet_timing2.update_style_duration_before_fcp);
106 }
107
108 TEST(PageLoadTimingStructTraitsTest, Basic) {
109 PageLoadTiming page_load_timing;
110 page_load_timing.navigation_start = base::Time::FromDoubleT(1);
111 page_load_timing.response_start = base::TimeDelta::FromMicroseconds(1);
112 page_load_timing.document_timing.dom_content_loaded_event_start =
113 base::TimeDelta::FromMicroseconds(2);
114 page_load_timing.document_timing.load_event_start =
115 base::TimeDelta::FromMicroseconds(3);
116 page_load_timing.document_timing.first_layout =
117 base::TimeDelta::FromMicroseconds(4);
118 page_load_timing.paint_timing.first_paint =
119 base::TimeDelta::FromMicroseconds(5);
120 page_load_timing.paint_timing.first_text_paint =
121 base::TimeDelta::FromMicroseconds(6);
122 page_load_timing.paint_timing.first_image_paint =
123 base::TimeDelta::FromMicroseconds(7);
124 page_load_timing.paint_timing.first_contentful_paint =
125 base::TimeDelta::FromMicroseconds(8);
126 page_load_timing.paint_timing.first_meaningful_paint =
127 base::TimeDelta::FromMicroseconds(9);
128 page_load_timing.parse_timing.parse_start =
129 base::TimeDelta::FromMicroseconds(10);
130 page_load_timing.parse_timing.parse_stop =
131 base::TimeDelta::FromMicroseconds(11);
132 page_load_timing.parse_timing.parse_blocked_on_script_load_duration =
133 base::TimeDelta::FromMicroseconds(12);
134 page_load_timing.parse_timing
135 .parse_blocked_on_script_load_from_document_write_duration =
136 base::TimeDelta::FromMicroseconds(13);
137 page_load_timing.parse_timing.parse_blocked_on_script_execution_duration =
138 base::TimeDelta::FromMicroseconds(14);
139 page_load_timing.parse_timing
140 .parse_blocked_on_script_execution_from_document_write_duration =
141 base::TimeDelta::FromMicroseconds(15);
142 page_load_timing.style_sheet_timing
143 .author_style_sheet_parse_duration_before_fcp =
144 base::TimeDelta::FromMicroseconds(16);
145 page_load_timing.style_sheet_timing.update_style_duration_before_fcp =
146 base::TimeDelta::FromMicroseconds(17);
147
148 PageLoadTiming page_load_timing2;
149 ASSERT_TRUE(mojom::PageLoadTiming::Deserialize(
150 mojom::PageLoadTiming::Serialize(&page_load_timing), &page_load_timing2));
151 EXPECT_EQ(base::Time::FromDoubleT(1), page_load_timing2.navigation_start);
152 EXPECT_EQ(base::TimeDelta::FromMicroseconds(1),
153 page_load_timing2.response_start);
154 EXPECT_EQ(base::TimeDelta::FromMicroseconds(2),
155 page_load_timing2.document_timing.dom_content_loaded_event_start);
156 EXPECT_EQ(base::TimeDelta::FromMicroseconds(3),
157 page_load_timing2.document_timing.load_event_start);
158 EXPECT_EQ(base::TimeDelta::FromMicroseconds(4),
159 page_load_timing2.document_timing.first_layout);
160 EXPECT_EQ(base::TimeDelta::FromMicroseconds(5),
161 page_load_timing2.paint_timing.first_paint);
162 EXPECT_EQ(base::TimeDelta::FromMicroseconds(6),
163 page_load_timing2.paint_timing.first_text_paint);
164 EXPECT_EQ(base::TimeDelta::FromMicroseconds(7),
165 page_load_timing2.paint_timing.first_image_paint);
166 EXPECT_EQ(base::TimeDelta::FromMicroseconds(8),
167 page_load_timing2.paint_timing.first_contentful_paint);
168 EXPECT_EQ(base::TimeDelta::FromMicroseconds(9),
169 page_load_timing2.paint_timing.first_meaningful_paint);
170 EXPECT_EQ(base::TimeDelta::FromMicroseconds(10),
171 page_load_timing2.parse_timing.parse_start);
172 EXPECT_EQ(base::TimeDelta::FromMicroseconds(11),
173 page_load_timing2.parse_timing.parse_stop);
174 EXPECT_EQ(
175 base::TimeDelta::FromMicroseconds(12),
176 page_load_timing2.parse_timing.parse_blocked_on_script_load_duration);
177 EXPECT_EQ(base::TimeDelta::FromMicroseconds(13),
178 page_load_timing2.parse_timing
179 .parse_blocked_on_script_load_from_document_write_duration);
180 EXPECT_EQ(base::TimeDelta::FromMicroseconds(14),
181 page_load_timing2.parse_timing
182 .parse_blocked_on_script_execution_duration);
183 EXPECT_EQ(
184 base::TimeDelta::FromMicroseconds(15),
185 page_load_timing2.parse_timing
186 .parse_blocked_on_script_execution_from_document_write_duration);
187 EXPECT_EQ(base::TimeDelta::FromMicroseconds(16),
188 page_load_timing2.style_sheet_timing
189 .author_style_sheet_parse_duration_before_fcp);
190 EXPECT_EQ(
191 base::TimeDelta::FromMicroseconds(17),
192 page_load_timing2.style_sheet_timing.update_style_duration_before_fcp);
193 }
194
195 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698