Index: chrome/browser/first_run/try_chrome_dialog_view_browsertest.cc |
diff --git a/chrome/browser/first_run/try_chrome_dialog_view_browsertest.cc b/chrome/browser/first_run/try_chrome_dialog_view_browsertest.cc |
index 7cfa862658e5780dbe81452076b308ebee6949a3..d2baa0e65ad7b76be2a9495e30c29a7c3eaca576 100644 |
--- a/chrome/browser/first_run/try_chrome_dialog_view_browsertest.cc |
+++ b/chrome/browser/first_run/try_chrome_dialog_view_browsertest.cc |
@@ -4,9 +4,11 @@ |
#include "base/command_line.h" |
#include "build/build_config.h" |
+#include "chrome/browser/ui/test/test_browser_dialog.h" |
#include "chrome/common/chrome_result_codes.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/test/base/in_process_browser_test.h" |
+#include "ui/base/ui_base_switches.h" |
// Unfortunately, this needs to be Windows only for now. Even though this test |
// is meant to exercise code that is for Windows only, it is a good general |
@@ -16,6 +18,7 @@ |
// will be improved to support this so we can get coverage on other platforms. |
// See http://crbug.com/45115 for details. |
#if defined(OS_WIN) |
+#include "chrome/browser/ui/views/try_chrome_dialog_view.h" |
// By passing kTryChromeAgain with a magic value > 10000 we cause Chrome |
// to exit fairly early. |
@@ -55,4 +58,33 @@ protected: |
// only makes the problem worse. |
IN_PROC_BROWSER_TEST_F(TryChromeDialogBrowserTest, ToastCrasher) {} |
+// Helper class to display the TryChromeDialog for testing. |
+class TryChromeDialogTest : public DialogBrowserTest { |
+ public: |
+ TryChromeDialogTest() {} |
+ |
+ static void SetActiveModalDialog(gfx::NativeWindow active_dialog) {} |
+ |
+ // DialogBrowserTest: |
+ void ShowDialog(const std::string& name) override { |
+ TryChromeDialogView::Show( |
+ 1000, base::Bind(&TryChromeDialogTest::SetActiveModalDialog)); |
Peter Kasting
2017/04/27 01:08:05
It looks to me like instead of passing 1000 here,
ananta
2017/04/27 01:29:52
Yeah. Sorry about that. I was chatting with Greg.
|
+ } |
+ |
+ // content::BrowserTestBase: |
+ void SetUpCommandLine(base::CommandLine* command_line) override { |
+ command_line->AppendSwitch(switches::kExtendMdToSecondaryUi); |
+ } |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(TryChromeDialogTest); |
+}; |
+ |
+// Test that calls ShowDialog("default"). Interactive when run via |
+// browser_tests --gtest_filter=BrowserDialogTest.Invoke --interactive |
+// --dialog=TryChromeDialogTest.InvokeDialog_default |
Peter Kasting
2017/04/27 01:08:05
Nit: Looks like most other test files omit this co
ananta
2017/04/27 01:29:52
Done.
|
+IN_PROC_BROWSER_TEST_F(TryChromeDialogTest, InvokeDialog_default) { |
+ RunDialog(); |
+} |
+ |
#endif // defined(OS_WIN) |