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

Unified Diff: chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc

Issue 2717413003: Add support for logging additional metrics in UKM. (Closed)
Patch Set: record URL at nav start Created 3 years, 10 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/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
index d289ab460e927b1b82df58f481642283a9681391..02013e04e21945471c994abbd92697b9cd938a5c 100644
--- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
@@ -30,12 +30,6 @@ class UkmPageLoadMetricsObserverTest
ukm_service_test_harness_.test_ukm_service());
}
- void InitializeTestPageLoadTiming(page_load_metrics::PageLoadTiming* timing) {
- timing->navigation_start = base::Time::FromInternalValue(1);
- timing->first_contentful_paint = base::TimeDelta::FromInternalValue(300);
- PopulateRequiredTimingFields(timing);
- }
-
size_t ukm_source_count() {
return ukm_service_test_harness_.test_ukm_service()->sources_count();
}
@@ -55,7 +49,10 @@ TEST_F(UkmPageLoadMetricsObserverTest, NoMetrics) {
TEST_F(UkmPageLoadMetricsObserverTest, FirstContentfulPaint) {
page_load_metrics::PageLoadTiming timing;
- InitializeTestPageLoadTiming(&timing);
+ timing.navigation_start = base::Time::FromInternalValue(1);
+ timing.parse_start = base::TimeDelta::FromInternalValue(100);
+ timing.first_contentful_paint = base::TimeDelta::FromInternalValue(300);
+ PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
SimulateTimingUpdate(timing);
@@ -68,7 +65,35 @@ TEST_F(UkmPageLoadMetricsObserverTest, FirstContentfulPaint) {
const ukm::UkmSource* source = GetUkmSource(0);
ASSERT_TRUE(source);
- EXPECT_EQ(GURL(kDefaultTestUrl), source->committed_url());
+ EXPECT_EQ(GURL(kDefaultTestUrl), source->url());
+ EXPECT_EQ(base::TimeDelta::FromInternalValue(100), source->parse_start());
EXPECT_EQ(base::TimeDelta::FromInternalValue(300),
source->first_contentful_paint());
+ EXPECT_TRUE(source->total_time().has_value());
+ EXPECT_FALSE(source->first_meaningful_paint().has_value());
+}
+
+TEST_F(UkmPageLoadMetricsObserverTest, FirstMeaningfulPaint) {
+ page_load_metrics::PageLoadTiming timing;
+ timing.navigation_start = base::Time::FromInternalValue(1);
+ timing.parse_start = base::TimeDelta::FromInternalValue(100);
+ timing.first_meaningful_paint = base::TimeDelta::FromInternalValue(500);
+ PopulateRequiredTimingFields(&timing);
+
+ NavigateAndCommit(GURL(kDefaultTestUrl));
+ SimulateTimingUpdate(timing);
+
+ // Simulate closing the tab.
+ DeleteContents();
+
+ EXPECT_EQ(1ul, ukm_source_count());
+
+ const ukm::UkmSource* source = GetUkmSource(0);
+ ASSERT_TRUE(source);
+
+ EXPECT_EQ(GURL(kDefaultTestUrl), source->url());
+ EXPECT_EQ(base::TimeDelta::FromInternalValue(100), source->parse_start());
+ EXPECT_EQ(base::TimeDelta::FromInternalValue(500),
+ source->first_meaningful_paint());
+ EXPECT_TRUE(source->total_time().has_value());
}

Powered by Google App Engine
This is Rietveld 408576698