Home | History | Annotate | Download | only in test
      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 
     24 namespace ash {
     25 namespace test {
     26 
     27 AuraShellTestSuite::AuraShellTestSuite(int argc, char** argv)
     28     : TestSuite(argc, argv) {}
     29 
     30 void 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 
     51 void 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