Index: chrome/browser/extensions/external_component_loader_unittest.cc |
diff --git a/chrome/browser/extensions/external_component_loader_unittest.cc b/chrome/browser/extensions/external_component_loader_unittest.cc |
deleted file mode 100644 |
index 6fb03eedc118ea59f21a0bb8ba2a24f8da3291c1..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/external_component_loader_unittest.cc |
+++ /dev/null |
@@ -1,166 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/extensions/external_component_loader.h" |
- |
-#include "base/values.h" |
-#include "chrome/browser/extensions/external_provider_impl.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/speech/tts_platform.h" |
-#include "chrome/common/extensions/extension_constants.h" |
-#include "chrome/test/base/testing_profile.h" |
-#include "content/public/test/test_browser_thread.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-#if defined(OS_CHROMEOS) |
-#include "chrome/browser/chromeos/login/user_manager_impl.h" |
-#include "chrome/browser/chromeos/settings/cros_settings.h" |
-#include "chrome/browser/chromeos/settings/device_settings_service.h" |
-#endif // defined(OS_CHROMEOS) |
- |
-using content::BrowserThread; |
-using extensions::ExternalProviderImpl; |
-using extensions::ExternalProviderInterface; |
-using extensions::Manifest; |
-using extensions::ProviderCollection; |
- |
-namespace extensions { |
- |
-namespace { |
-class TestUtterance : public Utterance { |
- public: |
- explicit TestUtterance(Profile* profile) : Utterance(profile) { |
- } |
- |
- virtual ~TestUtterance() { |
- set_finished_for_testing(true); |
- } |
-}; |
- |
-class FakeVisitorInterface |
- : public ExternalProviderInterface::VisitorInterface { |
- public: |
- FakeVisitorInterface() {} |
- virtual ~FakeVisitorInterface() {} |
- |
- virtual bool OnExternalExtensionFileFound( |
- const std::string& id, |
- const base::Version* version, |
- const base::FilePath& path, |
- Manifest::Location location, |
- int creation_flags, |
- bool mark_acknowledged) OVERRIDE { |
- return true; |
- } |
- |
- virtual bool OnExternalExtensionUpdateUrlFound( |
- const std::string& id, |
- const GURL& update_url, |
- Manifest::Location location, |
- int creation_flags, |
- bool mark_acknowledged) OVERRIDE { |
- return true; |
- } |
- |
- virtual void OnExternalProviderReady( |
- const ExternalProviderInterface* provider) OVERRIDE {} |
-}; |
-} // anonymous namespace |
- |
-#if defined(OS_CHROMEOS) |
-class ExternalComponentLoaderTest : public testing::Test { |
- public: |
- ExternalComponentLoaderTest() |
- : ui_thread_(BrowserThread::UI, &message_loop_), |
- user_manager_enabler_(new chromeos::UserManagerImpl()) { |
- } |
- |
- virtual ~ExternalComponentLoaderTest() {} |
- |
- // testing::Test overrides: |
- virtual void SetUp() OVERRIDE { |
- testing_profile_.reset(new TestingProfile()); |
- ExternalProviderImpl::CreateExternalProviders( |
- &service_, testing_profile_.get(), &providers_); |
- } |
- |
- virtual void TearDown() OVERRIDE { |
- } |
- |
- bool IsHighQualityEnglishSpeechExtensionInstalled() { |
- const std::string& id = extension_misc::kHighQuality_en_US_ExtensionId; |
- for (size_t i = 0; i < providers_.size(); ++i) { |
- if (!providers_[i]->IsReady()) |
- continue; |
- if (providers_[i]->HasExtension(id)) |
- return true; |
- } |
- return false; |
- } |
- |
- protected: |
- base::MessageLoop message_loop_; |
- content::TestBrowserThread ui_thread_; |
- chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; |
- chromeos::ScopedTestCrosSettings test_cros_settings_; |
- chromeos::ScopedUserManagerEnabler user_manager_enabler_; |
- scoped_ptr<Profile> testing_profile_; |
- FakeVisitorInterface service_; |
- ProviderCollection providers_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(ExternalComponentLoaderTest); |
-}; |
- |
-TEST_F(ExternalComponentLoaderTest, Speaking100TimesInstallsSpeechExtension) { |
- ASSERT_FALSE(IsHighQualityEnglishSpeechExtensionInstalled()); |
- |
- TtsPlatformImpl* tts_platform = TtsPlatformImpl::GetInstance(); |
- TestUtterance utterance(testing_profile_.get()); |
- VoiceData voice_data; |
- voice_data.lang = "en-US"; |
- voice_data.extension_id = extension_misc::kSpeechSynthesisExtensionId; |
- |
- // 99 times should not be sufficient. |
- for (int i = 0; i < 99; i++) |
- tts_platform->WillSpeakUtteranceWithVoice(&utterance, voice_data); |
- ASSERT_FALSE(IsHighQualityEnglishSpeechExtensionInstalled()); |
- |
- // The 100th time should install it. |
- tts_platform->WillSpeakUtteranceWithVoice(&utterance, voice_data); |
- ASSERT_TRUE(IsHighQualityEnglishSpeechExtensionInstalled()); |
-} |
- |
-TEST_F(ExternalComponentLoaderTest, |
- UsingOtherVoiceDoesNotTriggerInstallingSpeechExtension) { |
- ASSERT_FALSE(IsHighQualityEnglishSpeechExtensionInstalled()); |
- |
- TtsPlatformImpl* tts_platform = TtsPlatformImpl::GetInstance(); |
- TestUtterance utterance(testing_profile_.get()); |
- VoiceData voice_data; |
- voice_data.lang = "en-US"; |
- voice_data.extension_id = "dummy"; // Some other extension id. |
- |
- for (int i = 0; i < 100; i++) |
- tts_platform->WillSpeakUtteranceWithVoice(&utterance, voice_data); |
- ASSERT_FALSE(IsHighQualityEnglishSpeechExtensionInstalled()); |
-} |
- |
-TEST_F(ExternalComponentLoaderTest, |
- UnsupportedLangDoesNotTriggerInstallingSpeechExtension) { |
- ASSERT_FALSE(IsHighQualityEnglishSpeechExtensionInstalled()); |
- |
- TtsPlatformImpl* tts_platform = TtsPlatformImpl::GetInstance(); |
- TestUtterance utterance(testing_profile_.get()); |
- VoiceData voice_data; |
- voice_data.lang = "tlh"; // Klingon |
- voice_data.extension_id = extension_misc::kSpeechSynthesisExtensionId; |
- |
- for (int i = 0; i < 100; i++) |
- tts_platform->WillSpeakUtteranceWithVoice(&utterance, voice_data); |
- ASSERT_FALSE(IsHighQualityEnglishSpeechExtensionInstalled()); |
-} |
-#endif // defined(OS_CHROMEOS) |
- |
-} // namespace extensions |