| 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));
|
|
|
|
|