blob: d848f8cdd61851122ccbb456b04564bab14dc588 [file] [log] [blame]
// Copyright 2016 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/ui/ash/system_tray_delegate_chromeos.h"
#include "ash/test/ash_test_base.h"
#include "base/macros.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part_chromeos.h"
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/input_method/input_method_configuration.h"
#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h"
#include "chromeos/login/login_state.h"
#include "components/user_manager/fake_user_manager.h"
#include "media/audio/audio_manager.h"
#include "media/audio/sounds/sounds_manager.h"
namespace chromeos {
class SystemTrayDelegateChromeOSTest : public ash::test::AshTestBase {
public:
SystemTrayDelegateChromeOSTest()
: user_manager_enabler_(new user_manager::FakeUserManager) {}
~SystemTrayDelegateChromeOSTest() override {
// The system clock must be destroyed before |settings_helper_|.
g_browser_process->platform_part()->DestroySystemClock();
}
void SetUp() override {
input_method::Initialize();
ash::test::AshTestBase::SetUp();
audio_manager_ = media::AudioManager::CreateForTesting(
base::ThreadTaskRunnerHandle::Get());
media::SoundsManager::Create();
LoginState::Initialize();
AccessibilityManager::Initialize();
}
void TearDown() override {
AccessibilityManager::Shutdown();
LoginState::Shutdown();
media::SoundsManager::Shutdown();
ash::test::AshTestBase::TearDown();
input_method::Shutdown();
}
private:
media::ScopedAudioManagerPtr audio_manager_;
ScopedUserManagerEnabler user_manager_enabler_;
ScopedCrosSettingsTestHelper settings_helper_;
DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegateChromeOSTest);
};
// This test is times out flakily: http://crbug.com/639938
// Test that checking bluetooth status early on does not cause a crash.
TEST_F(SystemTrayDelegateChromeOSTest, DISABLED_BluetoothStatus) {
SystemTrayDelegateChromeOS delegate;
EXPECT_FALSE(delegate.GetBluetoothAvailable());
EXPECT_FALSE(delegate.GetBluetoothEnabled());
EXPECT_FALSE(delegate.IsBluetoothDiscovering());
}
} // namespace chromeos