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

Unified Diff: chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc

Issue 1680743006: [Media Router] Show user email in header if cloud sink is present. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing js tests. Native tests still in progress... Created 4 years, 10 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/webui/media_router/media_router_webui_message_handler_unittest.cc
diff --git a/chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc b/chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc
index 85ce69af48c1bd8ac7f788798a4e28f985a20e72..c9163c3c43147abe4eee8af561cc646e9c0873be 100644
--- a/chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc
+++ b/chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc
@@ -2,19 +2,33 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+
#include "base/macros.h"
#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/prefs/browser_prefs.h"
+#include "chrome/browser/signin/fake_signin_manager_builder.h"
+#include "chrome/browser/signin/signin_manager_factory.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/webui/media_router/media_router_test.h"
#include "chrome/browser/ui/webui/media_router/media_router_ui.h"
#include "chrome/browser/ui/webui/media_router/media_router_webui_message_handler.h"
+#include "chrome/test/base/testing_browser_process.h"
+#include "chrome/test/base/testing_profile.h"
+#include "chrome/test/base/testing_profile_manager.h"
+#include "components/signin/core/browser/fake_signin_manager.h"
+#include "components/signin/core/browser/signin_manager.h"
+#include "components/syncable_prefs/pref_service_syncable.h"
+#include "components/syncable_prefs/testing_pref_service_syncable.h"
#include "content/public/browser/browser_context.h"
#include "content/public/test/test_web_ui.h"
#include "extensions/common/constants.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+
+
using testing::ReturnRef;
namespace media_router {
@@ -75,16 +89,77 @@ TEST_F(MediaRouterWebUIMessageHandlerTest, UpdateSinks) {
std::vector<MediaSinkWithCastModes> media_sink_with_cast_modes_list;
MediaSinkWithCastModes media_sink_with_cast_modes(
MediaSink(sink_id, sink_name, MediaSink::IconType::CAST));
+
+#if defined(GOOGLE_CHROME_BUILD)
+ std::string domain_name("example.com");
+ media_sink_with_cast_modes.sink.set_domain(domain_name);
+#endif // defined(GOOGLE_CHROME_BUILD)
+
media_sink_with_cast_modes.cast_modes.insert(MediaCastMode::TAB_MIRROR);
media_sink_with_cast_modes_list.push_back(media_sink_with_cast_modes);
+#if defined(GOOGLE_CHROME_BUILD)
+ scoped_ptr<TestingProfileManager> testing_profile_manager_;
+ testing_profile_manager_.reset(
+ new TestingProfileManager(TestingBrowserProcess::GetGlobal()));
+ ASSERT_TRUE(testing_profile_manager_.get()->SetUp());
+
+ TestingProfile::TestingFactories factories;
+ factories.push_back(std::make_pair(SigninManagerFactory::GetInstance(),
+ BuildFakeSigninManagerBase));
+
+ syncable_prefs::TestingPrefServiceSyncable* pref_service_;
+ pref_service_ = new syncable_prefs::TestingPrefServiceSyncable();
+ chrome::RegisterUserProfilePrefs(pref_service_->registry());
+
+ TestingProfile* profile =
+ testing_profile_manager_.get()->CreateTestingProfile(
+ "name",
+ make_scoped_ptr<syncable_prefs::PrefServiceSyncable>(pref_service_),
+ base::UTF8ToUTF16("name"), 0, std::string(), factories);
+
+ FakeSigninManagerForTesting* signin_manager =
+ static_cast<FakeSigninManagerForTesting*>(
+ SigninManagerFactory::GetForProfile(profile));
+ signin_manager->SetAuthenticatedAccountInfo("12345", "nobody@example.com");
+
+ web_ui_->set_web_contents(content::WebContents::Create(
+ content::WebContents::CreateParams(profile)));
+#endif // defined(GOOGLE_CHROME_BUILD)
+
handler_->UpdateSinks(media_sink_with_cast_modes_list);
EXPECT_EQ(1u, web_ui_->call_data().size());
const content::TestWebUI::CallData& call_data = *web_ui_->call_data()[0];
- EXPECT_EQ("media_router.ui.setSinkList", call_data.function_name());
+ EXPECT_EQ(
+ "media_router.ui.setSinkListAndIdentity", call_data.function_name());
const base::Value* arg1 = call_data.arg1();
+ const base::DictionaryValue* sinks_with_identity_value = nullptr;
+ ASSERT_TRUE(arg1->GetAsDictionary(&sinks_with_identity_value));
+
+#if defined(GOOGLE_CHROME_BUILD)
+ bool show_email = true;
+#else // defined(GOOGLE_CHROME_BUILD)
+ bool show_email = false;
+#endif // defined(GOOGLE_CHROME_BUILD)
+
+ bool actual_show_email = false;
+ EXPECT_TRUE(
+ sinks_with_identity_value->GetBoolean("showEmail", &actual_show_email));
+ EXPECT_EQ(show_email, actual_show_email);
+
+#if defined(GOOGLE_CHROME_BUILD)
+ bool show_domain = true;
+#else // defined(GOOGLE_CHROME_BUILD)
+ bool show_domain = false;
+#endif // defined(GOOGLE_CHROME_BUILD)
+
+ bool actual_show_domain = false;
+ EXPECT_TRUE(
+ sinks_with_identity_value->GetBoolean("showDomain", &actual_show_domain));
+ EXPECT_EQ(show_domain, actual_show_domain);
+
const base::ListValue* sinks_list_value = nullptr;
- ASSERT_TRUE(arg1->GetAsList(&sinks_list_value));
+ ASSERT_TRUE(sinks_with_identity_value->GetList("sinks", &sinks_list_value));
const base::DictionaryValue* sink_value = nullptr;
ASSERT_TRUE(sinks_list_value->GetDictionary(0, &sink_value));

Powered by Google App Engine
This is Rietveld 408576698