Commit b5cc1d23 authored by Eric Willigers's avatar Eric Willigers Committed by Commit Bot

desktop-pwas: Parameterize BookmarkAppTest

Split WebAppControllerBrowserTestBase out from
WebAppControllerBrowserTest, so more tests can be parameterized
on BMO flags.

BookmarkAppTest now uses WebAppControllerBrowserTestBase.

Bug: 966290
Change-Id: I01cc42152ddb5348c65271b4158daa48a9c016b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1809129Reviewed-by: default avatarAlan Cutter <alancutter@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#697847}
parent ca664453
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
#include "base/test/bind_test_util.h" #include "base/test/bind_test_util.h"
#include "base/test/metrics/histogram_tester.h" #include "base/test/metrics/histogram_tester.h"
#include "chrome/browser/engagement/site_engagement_service.h" #include "chrome/browser/engagement/site_engagement_service.h"
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_util.h" #include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/web_applications/web_app_controller_browsertest.h"
#include "chrome/browser/ui/web_applications/web_app_metrics.h" #include "chrome/browser/ui/web_applications/web_app_metrics.h"
#include "chrome/browser/web_applications/components/pending_app_manager.h" #include "chrome/browser/web_applications/components/pending_app_manager.h"
#include "chrome/browser/web_applications/components/web_app_constants.h" #include "chrome/browser/web_applications/components/web_app_constants.h"
...@@ -134,7 +134,7 @@ void ExpectTotalCounts(const base::HistogramTester& tester, ...@@ -134,7 +134,7 @@ void ExpectTotalCounts(const base::HistogramTester& tester,
} // namespace } // namespace
class BookmarkAppTest : public extensions::ExtensionBrowserTest { class BookmarkAppTest : public web_app::WebAppControllerBrowserTestBase {
public: public:
BookmarkAppTest() = default; BookmarkAppTest() = default;
~BookmarkAppTest() override = default; ~BookmarkAppTest() override = default;
...@@ -221,7 +221,7 @@ class BookmarkAppTest : public extensions::ExtensionBrowserTest { ...@@ -221,7 +221,7 @@ class BookmarkAppTest : public extensions::ExtensionBrowserTest {
DISALLOW_COPY_AND_ASSIGN(BookmarkAppTest); DISALLOW_COPY_AND_ASSIGN(BookmarkAppTest);
}; };
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramForAppInWindow) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramForAppInWindow) {
base::HistogramTester tester; base::HistogramTester tester;
const GURL example_url = GURL("http://example.org/"); const GURL example_url = GURL("http://example.org/");
...@@ -249,7 +249,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramForAppInWindow) { ...@@ -249,7 +249,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramForAppInWindow) {
TestEngagementEventsAfterLaunch(histograms, app_browser); TestEngagementEventsAfterLaunch(histograms, app_browser);
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramForAppInTab) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramForAppInTab) {
base::HistogramTester tester; base::HistogramTester tester;
const GURL example_url = GURL("http://example.org/"); const GURL example_url = GURL("http://example.org/");
...@@ -275,7 +275,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramForAppInTab) { ...@@ -275,7 +275,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramForAppInTab) {
TestEngagementEventsAfterLaunch(histograms, browser); TestEngagementEventsAfterLaunch(histograms, browser);
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramAppWithoutScope) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramAppWithoutScope) {
base::HistogramTester tester; base::HistogramTester tester;
const GURL example_url = GURL("http://example.org/"); const GURL example_url = GURL("http://example.org/");
...@@ -306,7 +306,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramAppWithoutScope) { ...@@ -306,7 +306,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramAppWithoutScope) {
TestEngagementEventsAfterLaunch(histograms, browser); TestEngagementEventsAfterLaunch(histograms, browser);
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramTwoApps) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramTwoApps) {
base::HistogramTester tester; base::HistogramTester tester;
const GURL example_url1 = GURL("http://example.org/"); const GURL example_url1 = GURL("http://example.org/");
...@@ -354,7 +354,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramTwoApps) { ...@@ -354,7 +354,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramTwoApps) {
ExpectTotalCounts(tester, ~histograms, 0); ExpectTotalCounts(tester, ~histograms, 0);
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramManyUserApps) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramManyUserApps) {
base::HistogramTester tester; base::HistogramTester tester;
// More than 3 user-installed apps: // More than 3 user-installed apps:
...@@ -395,7 +395,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramManyUserApps) { ...@@ -395,7 +395,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramManyUserApps) {
ExpectTotalCounts(tester, ~histograms, 0); ExpectTotalCounts(tester, ~histograms, 0);
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramDefaultApp) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramDefaultApp) {
base::HistogramTester tester; base::HistogramTester tester;
ASSERT_TRUE(embedded_test_server()->Start()); ASSERT_TRUE(embedded_test_server()->Start());
...@@ -422,7 +422,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramDefaultApp) { ...@@ -422,7 +422,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramDefaultApp) {
TestEngagementEventsAfterLaunch(histograms, browser); TestEngagementEventsAfterLaunch(histograms, browser);
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, IN_PROC_BROWSER_TEST_P(BookmarkAppTest,
EngagementHistogramNavigateAwayFromAppTab) { EngagementHistogramNavigateAwayFromAppTab) {
const GURL app_url = GURL("http://example.org/app/"); const GURL app_url = GURL("http://example.org/app/");
const GURL outer_url = GURL("http://example.org/"); const GURL outer_url = GURL("http://example.org/");
...@@ -456,7 +456,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, ...@@ -456,7 +456,7 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest,
} }
} }
IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramRecordedForNonApps) { IN_PROC_BROWSER_TEST_P(BookmarkAppTest, EngagementHistogramRecordedForNonApps) {
base::HistogramTester tester; base::HistogramTester tester;
CountUserInstalledApps(); CountUserInstalledApps();
...@@ -474,3 +474,8 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramRecordedForNonApps) { ...@@ -474,3 +474,8 @@ IN_PROC_BROWSER_TEST_F(BookmarkAppTest, EngagementHistogramRecordedForNonApps) {
histograms[kHistogramNoUserInstalledApps] = true; histograms[kHistogramNoUserInstalledApps] = true;
TestEngagementEventsAfterLaunch(histograms, browser()); TestEngagementEventsAfterLaunch(histograms, browser());
} }
INSTANTIATE_TEST_SUITE_P(
/* no prefix */,
BookmarkAppTest,
::testing::Values(web_app::ControllerType::kHostedAppController));
...@@ -21,23 +21,29 @@ ...@@ -21,23 +21,29 @@
namespace web_app { namespace web_app {
WebAppControllerBrowserTest::WebAppControllerBrowserTest() WebAppControllerBrowserTestBase::WebAppControllerBrowserTestBase() {
: https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
if (GetParam() == ControllerType::kUnifiedControllerWithWebApp) { if (GetParam() == ControllerType::kUnifiedControllerWithWebApp) {
scoped_feature_list_.InitWithFeatures( scoped_feature_list_.InitWithFeatures(
{features::kDesktopPWAsWithoutExtensions}, {features::kDesktopPWAsWithoutExtensions}, {});
{predictors::kSpeculativePreconnectFeature});
} else if (GetParam() == ControllerType::kUnifiedControllerWithBookmarkApp) { } else if (GetParam() == ControllerType::kUnifiedControllerWithBookmarkApp) {
scoped_feature_list_.InitWithFeatures( scoped_feature_list_.InitWithFeatures(
{features::kDesktopPWAsUnifiedUiController}, {features::kDesktopPWAsUnifiedUiController},
{predictors::kSpeculativePreconnectFeature}); {features::kDesktopPWAsWithoutExtensions});
} else { } else {
scoped_feature_list_.InitWithFeatures( scoped_feature_list_.InitWithFeatures(
{}, {features::kDesktopPWAsUnifiedUiController, {}, {features::kDesktopPWAsUnifiedUiController,
predictors::kSpeculativePreconnectFeature}); features::kDesktopPWAsWithoutExtensions});
} }
} }
WebAppControllerBrowserTestBase::~WebAppControllerBrowserTestBase() = default;
WebAppControllerBrowserTest::WebAppControllerBrowserTest()
: https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
scoped_feature_list_.InitWithFeatures(
{}, {predictors::kSpeculativePreconnectFeature});
}
WebAppControllerBrowserTest::~WebAppControllerBrowserTest() = default; WebAppControllerBrowserTest::~WebAppControllerBrowserTest() = default;
void WebAppControllerBrowserTest::SetUp() { void WebAppControllerBrowserTest::SetUp() {
......
...@@ -33,9 +33,20 @@ enum class ControllerType { ...@@ -33,9 +33,20 @@ enum class ControllerType {
// Base class for tests of user interface support for web applications. // Base class for tests of user interface support for web applications.
// ControllerType selects between use of WebAppBrowserController and // ControllerType selects between use of WebAppBrowserController and
// HostedAppBrowserController. // HostedAppBrowserController.
class WebAppControllerBrowserTest class WebAppControllerBrowserTestBase
: public extensions::ExtensionBrowserTest, : public extensions::ExtensionBrowserTest,
public ::testing::WithParamInterface<ControllerType> { public ::testing::WithParamInterface<ControllerType> {
public:
WebAppControllerBrowserTestBase();
~WebAppControllerBrowserTestBase() = 0;
private:
base::test::ScopedFeatureList scoped_feature_list_;
DISALLOW_COPY_AND_ASSIGN(WebAppControllerBrowserTestBase);
};
class WebAppControllerBrowserTest : public WebAppControllerBrowserTestBase {
public: public:
WebAppControllerBrowserTest(); WebAppControllerBrowserTest();
~WebAppControllerBrowserTest() = 0; ~WebAppControllerBrowserTest() = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment