diff options
author | sadrul <sadrul@chromium.org> | 2015-08-10 08:37:21 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-10 15:38:07 +0000 |
commit | d07eeb4434fcb95a8e62896e0ce0a95b4c1e7f9f (patch) | |
tree | 97511adefd4d4905b31e5eae91de9ad042b5c155 | |
parent | 8960d19f34b81a1f422422d03dc6b6361fd4a3df (diff) | |
download | chromium_src-d07eeb4434fcb95a8e62896e0ce0a95b4c1e7f9f.zip chromium_src-d07eeb4434fcb95a8e62896e0ce0a95b4c1e7f9f.tar.gz chromium_src-d07eeb4434fcb95a8e62896e0ce0a95b4c1e7f9f.tar.bz2 |
ash: Add a base-class for interactive-ui-tests in ash.
Introduce AshInteractiveUITestBase for setting up gl, resources, aura for interactive
ui-tests that live in ash.
BUG=none
Review URL: https://codereview.chromium.org/1282433003
Cr-Commit-Position: refs/heads/master@{#342622}
-rw-r--r-- | ash/BUILD.gn | 19 | ||||
-rw-r--r-- | ash/accelerators/accelerator_interactive_uitest_chromeos.cc | 28 | ||||
-rw-r--r-- | ash/ash.gyp | 15 | ||||
-rw-r--r-- | ash/drag_drop/drag_drop_interactive_uitest.cc | 35 | ||||
-rw-r--r-- | ash/test/ash_interactive_ui_test_base.cc | 43 | ||||
-rw-r--r-- | ash/test/ash_interactive_ui_test_base.h | 32 | ||||
-rw-r--r-- | ash/wm/ash_native_cursor_manager_interactive_uitest.cc | 35 | ||||
-rw-r--r-- | chrome/chrome_tests.gypi | 2 | ||||
-rw-r--r-- | chrome/test/BUILD.gn | 2 |
9 files changed, 120 insertions, 91 deletions
diff --git a/ash/BUILD.gn b/ash/BUILD.gn index fe57002..4c8a695 100644 --- a/ash/BUILD.gn +++ b/ash/BUILD.gn @@ -213,6 +213,25 @@ source_set("test_support") { } } +source_set("interactive_ui_test_support") { + testonly = true + configs += [ "//build/config:precompiled_headers" ] + public_deps = [ + ":ash", + ":test_support", + ] + sources = [ + "test/ash_interactive_ui_test_base.cc", + "test/ash_interactive_ui_test_base.h", + ] + deps = [ + ":ash", + ":test_support", + "//skia", + "//testing/gtest", + ] +} + static_library("ash_shell_lib") { testonly = true sources = gypi_values.ash_shell_lib_sources diff --git a/ash/accelerators/accelerator_interactive_uitest_chromeos.cc b/ash/accelerators/accelerator_interactive_uitest_chromeos.cc index 3babbc5..4947f56 100644 --- a/ash/accelerators/accelerator_interactive_uitest_chromeos.cc +++ b/ash/accelerators/accelerator_interactive_uitest_chromeos.cc @@ -9,19 +9,14 @@ #include "ash/system/chromeos/network/network_observer.h" #include "ash/system/tray/system_tray_delegate.h" #include "ash/system/tray/system_tray_notifier.h" -#include "ash/test/ash_test_base.h" +#include "ash/test/ash_interactive_ui_test_base.h" #include "ash/test/test_screenshot_delegate.h" #include "ash/test/test_volume_control_delegate.h" #include "ash/wm/window_state.h" #include "ash/wm/window_util.h" -#include "base/path_service.h" #include "base/run_loop.h" #include "chromeos/network/network_handler.h" -#include "ui/aura/env.h" -#include "ui/base/resource/resource_bundle.h" #include "ui/base/test/ui_controls.h" -#include "ui/base/ui_base_paths.h" -#include "ui/gl/test/gl_surface_test_support.h" namespace ash { namespace test { @@ -54,25 +49,13 @@ class TestNetworkObserver : public NetworkObserver { // make sure they work properly. The test is done as an interactive ui test // using ui_controls::Send*() functions. // This is to catch any future regressions (crbug.com/469235). -class AcceleratorInteractiveUITest : public AshTestBase, public ShellObserver { +class AcceleratorInteractiveUITest : public AshInteractiveUITestBase, + public ShellObserver { public: AcceleratorInteractiveUITest() : is_in_overview_mode_(false) {} void SetUp() override { - gfx::GLSurfaceTestSupport::InitializeOneOff(); - - ui::RegisterPathProvider(); - ui::ResourceBundle::InitSharedInstanceWithLocale( - "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); - base::FilePath resources_pack_path; - PathService::Get(base::DIR_MODULE, &resources_pack_path); - resources_pack_path = - resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); - ResourceBundle::GetSharedInstance().AddDataPackFromPath( - resources_pack_path, ui::SCALE_FACTOR_NONE); - aura::Env::CreateInstance(true); - - AshTestBase::SetUp(); + AshInteractiveUITestBase::SetUp(); Shell::GetInstance()->AddShellObserver(this); @@ -84,8 +67,7 @@ class AcceleratorInteractiveUITest : public AshTestBase, public ShellObserver { Shell::GetInstance()->RemoveShellObserver(this); - AshTestBase::TearDown(); - aura::Env::DeleteInstance(); + AshInteractiveUITestBase::TearDown(); } // Sends a key press event and waits synchronously until it's completely diff --git a/ash/ash.gyp b/ash/ash.gyp index fc36004..8e20050 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -1104,6 +1104,21 @@ ], }, { + # GN version: //ash:interactive_ui_test_support + 'target_name': 'ash_interactive_ui_test_support', + 'type': 'static_library', + 'dependencies': [ + '../skia/skia.gyp:skia', + '../testing/gtest.gyp:gtest', + 'ash', + 'ash_test_support', + ], + 'sources': [ + 'test/ash_interactive_ui_test_base.cc', + 'test/ash_interactive_ui_test_base.h', + ], + }, + { # GN version: //ash:ash_unittests 'target_name': 'ash_unittests', 'type': 'executable', diff --git a/ash/drag_drop/drag_drop_interactive_uitest.cc b/ash/drag_drop/drag_drop_interactive_uitest.cc index 91d34ac..73f3801 100644 --- a/ash/drag_drop/drag_drop_interactive_uitest.cc +++ b/ash/drag_drop/drag_drop_interactive_uitest.cc @@ -5,18 +5,13 @@ #include "ash/drag_drop/drag_drop_controller.h" #include "ash/shell.h" -#include "ash/test/ash_test_base.h" +#include "ash/test/ash_interactive_ui_test_base.h" #include "base/bind.h" #include "base/message_loop/message_loop.h" -#include "base/path_service.h" #include "base/strings/utf_string_conversions.h" -#include "ui/aura/env.h" #include "ui/aura/window_event_dispatcher.h" #include "ui/base/dragdrop/drag_drop_types.h" -#include "ui/base/resource/resource_bundle.h" #include "ui/base/test/ui_controls.h" -#include "ui/base/ui_base_paths.h" -#include "ui/gl/test/gl_surface_test_support.h" #include "ui/views/view.h" #include "ui/views/widget/widget.h" @@ -118,33 +113,7 @@ void DragDropAcrossMultiDisplay_Step1() { } // namespace -class DragDropTest : public test::AshTestBase { - public: - DragDropTest() {} - ~DragDropTest() override {} - - void SetUp() override { - gfx::GLSurfaceTestSupport::InitializeOneOff(); - - ui::RegisterPathProvider(); - ui::ResourceBundle::InitSharedInstanceWithLocale( - "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); - base::FilePath resources_pack_path; - PathService::Get(base::DIR_MODULE, &resources_pack_path); - resources_pack_path = - resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); - ResourceBundle::GetSharedInstance().AddDataPackFromPath( - resources_pack_path, ui::SCALE_FACTOR_NONE); - aura::Env::CreateInstance(true); - - test::AshTestBase::SetUp(); - } - - void TearDown() override { - test::AshTestBase::TearDown(); - aura::Env::DeleteInstance(); - } -}; +using DragDropTest = test::AshInteractiveUITestBase; #if !defined(OS_CHROMEOS) #define MAYBE_DragDropAcrossMultiDisplay DISABLED_DragDropAcrossMultiDisplay diff --git a/ash/test/ash_interactive_ui_test_base.cc b/ash/test/ash_interactive_ui_test_base.cc new file mode 100644 index 0000000..b274c17 --- /dev/null +++ b/ash/test/ash_interactive_ui_test_base.cc @@ -0,0 +1,43 @@ +// Copyright 2015 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 "ash/test/ash_interactive_ui_test_base.h" + +#include "base/path_service.h" +#include "ui/aura/env.h" +#include "ui/base/resource/resource_bundle.h" +#include "ui/base/ui_base_paths.h" +#include "ui/gl/test/gl_surface_test_support.h" + +namespace ash { +namespace test { + +AshInteractiveUITestBase::AshInteractiveUITestBase() {} + +AshInteractiveUITestBase::~AshInteractiveUITestBase() {} + +void AshInteractiveUITestBase::SetUp() { + gfx::GLSurfaceTestSupport::InitializeOneOff(); + + ui::RegisterPathProvider(); + ui::ResourceBundle::InitSharedInstanceWithLocale( + "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); + base::FilePath resources_pack_path; + PathService::Get(base::DIR_MODULE, &resources_pack_path); + resources_pack_path = + resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); + ResourceBundle::GetSharedInstance().AddDataPackFromPath( + resources_pack_path, ui::SCALE_FACTOR_NONE); + aura::Env::CreateInstance(true); + + test::AshTestBase::SetUp(); +} + +void AshInteractiveUITestBase::TearDown() { + test::AshTestBase::TearDown(); + aura::Env::DeleteInstance(); +} + +} // namespace test +} // namespace ash diff --git a/ash/test/ash_interactive_ui_test_base.h b/ash/test/ash_interactive_ui_test_base.h new file mode 100644 index 0000000..742e46f --- /dev/null +++ b/ash/test/ash_interactive_ui_test_base.h @@ -0,0 +1,32 @@ +// Copyright 2015 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. + +#ifndef ASH_TEST_ASH_INTERACTIVE_UI_TEST_BASE_H_ +#define ASH_TEST_ASH_INTERACTIVE_UI_TEST_BASE_H_ + +#include <string> + +#include "ash/test/ash_test_base.h" + +namespace ash { +namespace test { + +class AshInteractiveUITestBase : public AshTestBase { + public: + AshInteractiveUITestBase(); + ~AshInteractiveUITestBase() override; + + protected: + // testing::Test: + void SetUp() override; + void TearDown() override; + + private: + DISALLOW_COPY_AND_ASSIGN(AshInteractiveUITestBase); +}; + +} // namespace test +} // namespace ash + +#endif // ASH_TEST_ASH_INTERACTIVE_UI_TEST_BASE_H_ diff --git a/ash/wm/ash_native_cursor_manager_interactive_uitest.cc b/ash/wm/ash_native_cursor_manager_interactive_uitest.cc index 214394b..ba52bbd 100644 --- a/ash/wm/ash_native_cursor_manager_interactive_uitest.cc +++ b/ash/wm/ash_native_cursor_manager_interactive_uitest.cc @@ -6,17 +6,12 @@ #include "ash/display/display_info.h" #include "ash/display/display_manager.h" #include "ash/shell.h" -#include "ash/test/ash_test_base.h" +#include "ash/test/ash_interactive_ui_test_base.h" #include "ash/test/cursor_manager_test_api.h" -#include "base/path_service.h" #include "base/run_loop.h" -#include "ui/aura/env.h" #include "ui/aura/window.h" #include "ui/aura/window_tree_host.h" -#include "ui/base/resource/resource_bundle.h" #include "ui/base/test/ui_controls.h" -#include "ui/base/ui_base_paths.h" -#include "ui/gl/test/gl_surface_test_support.h" #if defined(USE_X11) #include <X11/Xlib.h> @@ -26,33 +21,7 @@ namespace ash { -class AshNativeCursorManagerTest : public test::AshTestBase { - public: - AshNativeCursorManagerTest() {} - ~AshNativeCursorManagerTest() override {} - - void SetUp() override { - gfx::GLSurfaceTestSupport::InitializeOneOff(); - - ui::RegisterPathProvider(); - ui::ResourceBundle::InitSharedInstanceWithLocale( - "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES); - base::FilePath resources_pack_path; - PathService::Get(base::DIR_MODULE, &resources_pack_path); - resources_pack_path = - resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak")); - ResourceBundle::GetSharedInstance().AddDataPackFromPath( - resources_pack_path, ui::SCALE_FACTOR_NONE); - aura::Env::CreateInstance(true); - - test::AshTestBase::SetUp(); - } - - void TearDown() override { - test::AshTestBase::TearDown(); - aura::Env::DeleteInstance(); - } -}; +using AshNativeCursorManagerTest = test::AshInteractiveUITestBase; namespace { diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index 2ed9098..3c4361a 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -1617,7 +1617,7 @@ ['use_ash==1', { 'sources': [ '<@(chrome_interactive_ui_test_ash_sources)' ], 'dependencies': [ - '../ash/ash.gyp:ash_test_support', + '../ash/ash.gyp:ash_interactive_ui_test_support', ], }], ['OS=="mac"', { diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 23a1f91..f9e93d0 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn @@ -478,7 +478,7 @@ if (!is_android) { chrome_tests_gypi_values.chrome_interactive_ui_test_ash_sources, ".", "//chrome") - deps += [ "//ash:test_support" ] + deps += [ "//ash:interactive_ui_test_support" ] } if (enable_notifications) { |