Chromium Code Reviews| Index: chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc |
| diff --git a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1b5d48debe127b6a407ffaa24859f4b3fe239bf4 |
| --- /dev/null |
| +++ b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc |
| @@ -0,0 +1,60 @@ |
| +// Copyright (c) 2015 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 "base/test/histogram_tester.h" |
| +#include "chrome/test/base/in_process_browser_test.h" |
| +#include "chrome/test/base/ui_test_utils.h" |
| +#include "net/test/spawned_test_server/spawned_test_server.h" |
| + |
| +namespace page_load_metrics { |
| + |
| +class MetricsWebContentsObserverBrowserTest : public InProcessBrowserTest { |
| + public: |
|
jochen (gone - plz use gerrit)
2015/09/30 09:44:24
plz add a ctor and dtor
|
| + const char* kHistogramNameFirstLayout = |
| + "PageLoad.Timing.NavigationToFirstLayout"; |
| + const char* kHistogramNameDomContent = |
| + "PageLoad.Timing.NavigationToDOMContentLoadedEventFired"; |
| + const char* kHistogramNameLoad = "PageLoad.Timing.NavigationToLoadEventFired"; |
| + |
| + protected: |
| + base::HistogramTester histogram_tester_; |
| +}; |
|
jochen (gone - plz use gerrit)
2015/09/30 09:44:24
disallow copy/assign
|
| + |
| +IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, NoNavigation) { |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 0); |
| + histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 0); |
| + histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 0); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, NewPage) { |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + ui_test_utils::NavigateToURL(browser(), |
| + test_server()->GetURL("/title1.html")); |
| + ui_test_utils::NavigateToURL(browser(), |
| + test_server()->GetURL("/title2.html")); |
| + |
| + histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 1); |
| + histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 1); |
| + histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 1); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, AnchorLink) { |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + ui_test_utils::NavigateToURL(browser(), |
| + test_server()->GetURL("/title1.html")); |
| + ui_test_utils::NavigateToURL(browser(), |
| + test_server()->GetURL("/title1.html#hash")); |
| + ui_test_utils::NavigateToURL(browser(), |
| + test_server()->GetURL("/title2.html")); |
| + |
| + histogram_tester_.ExpectTotalCount(kHistogramNameDomContent, 1); |
| + histogram_tester_.ExpectTotalCount(kHistogramNameLoad, 1); |
| + histogram_tester_.ExpectTotalCount(kHistogramNameFirstLayout, 1); |
| +} |
| + |
| +} // namespace page_load_metrics |