Chromium Code Reviews| Index: chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc |
| diff --git a/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc b/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc |
| index 78d9b7b95a0d9f1142ef915ec61cbb8aceb66fe6..ab72a3944492a4d051d139f33be59276c196f9b3 100644 |
| --- a/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc |
| +++ b/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc |
| @@ -54,10 +54,11 @@ class FeedbackTest : public ExtensionBrowserTest { |
| extensions::api::feedback_private::OnFeedbackRequested::kEventName); |
| } |
| - void StartFeedbackUI(FeedbackFlow flow) { |
| + void StartFeedbackUI(FeedbackFlow flow, |
| + const std::string& extra_diagnostics) { |
| base::Closure callback = base::Bind(&StopMessageLoopCallback); |
| extensions::FeedbackPrivateGetStringsFunction::set_test_callback(&callback); |
| - InvokeFeedbackUI(flow); |
| + InvokeFeedbackUI(flow, extra_diagnostics); |
| content::RunMessageLoop(); |
| extensions::FeedbackPrivateGetStringsFunction::set_test_callback(NULL); |
| } |
| @@ -73,12 +74,14 @@ class FeedbackTest : public ExtensionBrowserTest { |
| } |
| private: |
| - void InvokeFeedbackUI(FeedbackFlow flow) { |
| + void InvokeFeedbackUI(FeedbackFlow flow, |
| + const std::string& extra_diagnostics) { |
| extensions::FeedbackPrivateAPI* api = |
| extensions::FeedbackPrivateAPI::GetFactoryInstance()->Get( |
| browser()->profile()); |
| api->RequestFeedbackForFlow("Test description", "Test tag", |
| - GURL("http://www.test.com"), flow); |
| + extra_diagnostics, GURL("http://www.test.com"), |
| + flow); |
| } |
| }; |
| @@ -86,7 +89,8 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, ShowFeedback) { |
| WaitForExtensionViewsToLoad(); |
| ASSERT_TRUE(IsFeedbackAppAvailable()); |
| - StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR); |
| + StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR, |
| + "" /* extra_diagnostics */); |
|
Peter Kasting
2017/06/14 20:41:04
Nit: Use std::string() in place of "" everywhere
afakhry
2017/06/14 22:10:18
Done.
|
| VerifyFeedbackAppLaunch(); |
| } |
| @@ -94,7 +98,8 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, ShowLoginFeedback) { |
| WaitForExtensionViewsToLoad(); |
| ASSERT_TRUE(IsFeedbackAppAvailable()); |
| - StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_LOGIN); |
| + StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_LOGIN, |
| + "" /* extra_diagnostics */); |
| VerifyFeedbackAppLaunch(); |
| AppWindow* const window = |
| @@ -118,7 +123,8 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, AnonymousUser) { |
| WaitForExtensionViewsToLoad(); |
| ASSERT_TRUE(IsFeedbackAppAvailable()); |
| - StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR); |
| + StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR, |
| + "" /* extra_diagnostics */); |
| VerifyFeedbackAppLaunch(); |
| AppWindow* const window = |
| @@ -143,4 +149,37 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, AnonymousUser) { |
| EXPECT_TRUE(bool_result); |
| } |
| +// Makes sure that for feedbacks requested given extra diagnostics, the |
|
Peter Kasting
2017/06/14 20:41:04
Nit: Grammar; how about "Ensures that when extra d
afakhry
2017/06/14 22:10:18
Done.
|
| +// diagnostics are injected properly in the system information. |
| +IN_PROC_BROWSER_TEST_F(FeedbackTest, ExtraDiagnostics) { |
| + WaitForExtensionViewsToLoad(); |
| + |
| + ASSERT_TRUE(IsFeedbackAppAvailable()); |
| + StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR, "Some diagnostics"); |
| + VerifyFeedbackAppLaunch(); |
| + |
| + AppWindow* const window = |
| + PlatformAppBrowserTest::GetFirstAppWindowForBrowser(browser()); |
| + ASSERT_TRUE(window); |
| + content::WebContents* const content = window->web_contents(); |
| + |
| + bool bool_result = false; |
| + ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
| + content, |
| + "domAutomationController.send(" |
| + " ((function() {" |
| + " var sysInfo = feedbackInfo.systemInformation;" |
| + " for (var info in sysInfo) {" |
| + " if (sysInfo[info].key == 'EXTRA_DIAGNOSTICS' &&" |
| + " sysInfo[info].value == 'Some diagnostics') {" |
| + " return true;" |
| + " }" |
| + " }" |
| + " return false;" |
| + " })()));", |
| + &bool_result)); |
| + |
| + EXPECT_TRUE(bool_result); |
| +} |
| + |
| } // namespace extensions |