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

Unified Diff: chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm

Issue 2834493007: MacViews: Allows the toolkit-views Zoom Dialog to be used (Closed)
Patch Set: MacViews: Allows the toolkit-views Zoom Dialog to be used (tests) Created 3 years, 8 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/ui/cocoa/location_bar/zoom_decoration_unittest.mm
diff --git a/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm b/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm
index 7742df1a125aa3e31c6dc9985431804b57b32f37..d310a9040b887b6ff976f4aaa3612d5483939e87 100644
--- a/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm
+++ b/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm
@@ -2,14 +2,57 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/macros.h"
#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
+
+#include "base/command_line.h"
+#include "base/macros.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "components/zoom/zoom_controller.h"
+#include "ui/base/ui_base_switches.h"
namespace {
-class ZoomDecorationTest : public ChromeRenderViewHostTestHarness {};
+// An enum to parameterize the tests so that the tests can be run with and
msw 2017/04/24 18:53:39 Yikes, ditto. Maybe use a test utils file and/or t
varkha 2017/04/26 04:52:59 Done.
+// without the secondary-ui-md flag.
+enum class SecondaryUiMd {
+ ENABLED,
+ DISABLED,
+};
+
+// Generates the test name suffix depending on the value of the SecondaryUiMd
+// param.
+std::string SecondaryUiMdStatusToString(
+ const ::testing::TestParamInfo<SecondaryUiMd>& info) {
+ switch (info.param) {
+ case SecondaryUiMd::ENABLED:
+ return "SecondaryUiMdEnabled";
+ case SecondaryUiMd::DISABLED:
+ return "SecondaryUiMdDisabled";
+ }
+ NOTREACHED();
+ return std::string();
+}
+
+class ZoomDecorationTest : public ChromeRenderViewHostTestHarness,
+ public ::testing::WithParamInterface<SecondaryUiMd> {
+ public:
+ ZoomDecorationTest() {}
+ ~ZoomDecorationTest() override {}
+
+ protected:
+ // testing::Test:
+ void SetUp() override {
+ // TODO(crbug.com/630357): Remove parameterized testing for this class when
+ // secondary-ui-md is enabled by default on all platforms.
+ if (GetParam() == SecondaryUiMd::ENABLED) {
+ base::CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kExtendMdToSecondaryUi);
+ }
+ ChromeRenderViewHostTestHarness::SetUp();
+ }
+
+ DISALLOW_COPY_AND_ASSIGN(ZoomDecorationTest);
+};
class MockZoomDecoration : public ZoomDecoration {
public:
@@ -45,7 +88,7 @@ class MockZoomController : public zoom::ZoomController {
// Test that UpdateIfNecessary performs redraws only when the zoom percent
// changes.
-TEST_F(ZoomDecorationTest, ChangeZoomPercent) {
+TEST_P(ZoomDecorationTest, ChangeZoomPercent) {
MockZoomDecoration decoration(NULL);
MockZoomController controller(web_contents());
@@ -73,4 +116,12 @@ TEST_F(ZoomDecorationTest, ChangeZoomPercent) {
EXPECT_EQ(3, decoration.update_ui_count_);
}
+// Prefix for test instantiations intentionally left blank since the test
+// fixture class has a single parameterization.
+INSTANTIATE_TEST_CASE_P(,
+ ZoomDecorationTest,
+ ::testing::Values(SecondaryUiMd::ENABLED,
+ SecondaryUiMd::DISABLED),
+ &SecondaryUiMdStatusToString);
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698