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

Unified Diff: chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc

Issue 2934303002: Provide a better way of injecting extra diagnostics in feedbacks (Closed)
Patch Set: pkasting's comments Created 3 years, 6 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/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..2c5385e38019a3fad17cb028f4c06a11fa9d0bc3 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,7 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, ShowFeedback) {
WaitForExtensionViewsToLoad();
ASSERT_TRUE(IsFeedbackAppAvailable());
- StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR);
+ StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR, std::string());
VerifyFeedbackAppLaunch();
}
@@ -94,7 +97,7 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, ShowLoginFeedback) {
WaitForExtensionViewsToLoad();
ASSERT_TRUE(IsFeedbackAppAvailable());
- StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_LOGIN);
+ StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_LOGIN, std::string());
VerifyFeedbackAppLaunch();
AppWindow* const window =
@@ -118,7 +121,7 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, AnonymousUser) {
WaitForExtensionViewsToLoad();
ASSERT_TRUE(IsFeedbackAppAvailable());
- StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR);
+ StartFeedbackUI(FeedbackFlow::FEEDBACK_FLOW_REGULAR, std::string());
VerifyFeedbackAppLaunch();
AppWindow* const window =
@@ -143,4 +146,37 @@ IN_PROC_BROWSER_TEST_F(FeedbackTest, AnonymousUser) {
EXPECT_TRUE(bool_result);
}
+// Ensures that when extra diagnostics are provided with feedback, they 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

Powered by Google App Engine
This is Rietveld 408576698