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

Unified Diff: chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc

Issue 1871653002: Settings People Revamp: Update ManageProfileHandler to use Promises. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc
diff --git a/chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc b/chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc
index 7569be53ee753120eb2a3c5969ce25808f3ab0d4..d960db2e92c12059f5e5159a9ae2592536a76890 100644
--- a/chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc
@@ -42,6 +42,19 @@ class ManageProfileHandlerTest : public testing::Test {
handler_->set_web_ui(&web_ui_);
}
+ void VerifyIconList(const base::Value* value) {
+ const base::ListValue* icon_urls = nullptr;
+ ASSERT_TRUE(value->GetAsList(&icon_urls));
+
+ // Expect the list of icon URLs to be a non-empty list of non-empty strings.
+ EXPECT_FALSE(icon_urls->empty());
+ for (size_t i = 0; i < icon_urls->GetSize(); ++i) {
+ std::string icon_url;
+ EXPECT_TRUE(icon_urls->GetString(i, &icon_url));
+ EXPECT_FALSE(icon_url.empty());
+ }
+ }
+
content::TestWebUI* web_ui() { return &web_ui_; }
Profile* profile() const { return profile_; }
TestManageProfileHandler* handler() const { return handler_.get(); }
@@ -55,7 +68,7 @@ class ManageProfileHandlerTest : public testing::Test {
scoped_ptr<TestManageProfileHandler> handler_;
};
-TEST_F(ManageProfileHandlerTest, SetProfileIconAndName) {
+TEST_F(ManageProfileHandlerTest, HandleSetProfileIconAndName) {
base::ListValue list_args;
list_args.Append(
new base::StringValue("chrome://theme/IDR_PROFILE_AVATAR_15"));
@@ -70,28 +83,36 @@ TEST_F(ManageProfileHandlerTest, SetProfileIconAndName) {
EXPECT_EQ("New Profile Name", pref_service->GetString(prefs::kProfileName));
}
-TEST_F(ManageProfileHandlerTest, GetAvailableIcons) {
- handler()->HandleGetAvailableIcons(nullptr);
+TEST_F(ManageProfileHandlerTest, HandleGetAvailableIcons) {
+ base::ListValue list_args;
+ list_args.Append(new base::StringValue("get-icons-callback-id"));
+ handler()->HandleGetAvailableIcons(&list_args);
EXPECT_EQ(1U, web_ui()->call_data().size());
const content::TestWebUI::CallData& data = *web_ui()->call_data().back();
- EXPECT_EQ("cr.webUIListenerCallback", data.function_name());
+ EXPECT_EQ("cr.webUIResponse", data.function_name());
std::string callback_id;
ASSERT_TRUE(data.arg1()->GetAsString(&callback_id));
- EXPECT_EQ("available-icons-changed", callback_id);
+ EXPECT_EQ("get-icons-callback-id", callback_id);
- const base::ListValue* icon_urls = nullptr;
- ASSERT_TRUE(data.arg2()->GetAsList(&icon_urls));
+ VerifyIconList(data.arg3());
+}
- // Expect the list of icon URLs to be a non-empty list of non-empty strings.
- EXPECT_FALSE(icon_urls->empty());
- for (size_t i = 0; i < icon_urls->GetSize(); ++i) {
- std::string icon_url;
- EXPECT_TRUE(icon_urls->GetString(i, &icon_url));
- EXPECT_FALSE(icon_url.empty());
- }
+TEST_F(ManageProfileHandlerTest, ProfileAvatarChangedWebUIEvent) {
+ handler()->OnProfileAvatarChanged(base::FilePath());
+
+ EXPECT_EQ(1U, web_ui()->call_data().size());
+
+ const content::TestWebUI::CallData& data = *web_ui()->call_data().back();
+ EXPECT_EQ("cr.webUIListenerCallback", data.function_name());
+
+ std::string event_id;
+ ASSERT_TRUE(data.arg1()->GetAsString(&event_id));
+ EXPECT_EQ("available-icons-changed", event_id);
+
+ VerifyIconList(data.arg2());
}
} // namespace settings
« no previous file with comments | « chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698