test_suite.cc revision d0247b1b59f9c528cb6df88b4f2b9afaf80d181e
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ash/test/test_suite.h"
6
7#include "ash/ash_switches.h"
8#include "base/command_line.h"
9#include "base/files/file_path.h"
10#include "base/path_service.h"
11#include "build/build_config.h"
12#include "testing/gtest/include/gtest/gtest.h"
13#include "ui/base/resource/resource_bundle.h"
14#include "ui/base/ui_base_paths.h"
15#include "ui/gfx/gfx_paths.h"
16
17#if defined(OS_WIN)
18#include "base/win/windows_version.h"
19#include "ui/base/win/atl_module.h"
20#include "win8/test/metro_registration_helper.h"
21#include "win8/test/test_registrar_constants.h"
22#endif
23
24namespace ash {
25namespace test {
26
27AuraShellTestSuite::AuraShellTestSuite(int argc, char** argv)
28    : TestSuite(argc, argv) {}
29
30void AuraShellTestSuite::Initialize() {
31  base::TestSuite::Initialize();
32
33#if defined(OS_WIN)
34  if (base::win::GetVersion() >= base::win::VERSION_WIN8 &&
35      !CommandLine::ForCurrentProcess()->HasSwitch(
36          ash::switches::kForceAshToDesktop)) {
37    com_initializer_.reset(new base::win::ScopedCOMInitializer());
38    ui::win::CreateATLModuleIfNeeded();
39    ASSERT_TRUE(win8::MakeTestDefaultBrowserSynchronously());
40  }
41#endif
42
43  gfx::RegisterPathProvider();
44  ui::RegisterPathProvider();
45
46  // Force unittests to run using en-US so if we test against string
47  // output, it'll pass regardless of the system language.
48  ui::ResourceBundle::InitSharedInstanceWithLocale("en-US", NULL);
49}
50
51void AuraShellTestSuite::Shutdown() {
52  ui::ResourceBundle::CleanupSharedInstance();
53#if defined(OS_WIN)
54  com_initializer_.reset();
55#endif
56  base::TestSuite::Shutdown();
57}
58
59}  // namespace test
60}  // namespace ash
61