| OLD | NEW |
| (Empty) |
| 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 "ui/aura/test/aura_test_base.h" | |
| 6 | |
| 7 #include "ui/aura/client/window_tree_client.h" | |
| 8 #include "ui/aura/test/aura_test_helper.h" | |
| 9 #include "ui/aura/test/test_window_delegate.h" | |
| 10 #include "ui/aura/window.h" | |
| 11 #include "ui/base/ime/input_method_initializer.h" | |
| 12 #include "ui/compositor/test/context_factories_for_test.h" | |
| 13 #include "ui/events/event_dispatcher.h" | |
| 14 #include "ui/events/event_processor.h" | |
| 15 #include "ui/events/gestures/gesture_configuration.h" | |
| 16 | |
| 17 namespace aura { | |
| 18 namespace test { | |
| 19 | |
| 20 AuraTestBase::AuraTestBase() | |
| 21 : setup_called_(false), | |
| 22 teardown_called_(false) { | |
| 23 } | |
| 24 | |
| 25 AuraTestBase::~AuraTestBase() { | |
| 26 CHECK(setup_called_) | |
| 27 << "You have overridden SetUp but never called super class's SetUp"; | |
| 28 CHECK(teardown_called_) | |
| 29 << "You have overridden TearDown but never called super class's TearDown"; | |
| 30 } | |
| 31 | |
| 32 void AuraTestBase::SetUp() { | |
| 33 setup_called_ = true; | |
| 34 testing::Test::SetUp(); | |
| 35 ui::InitializeInputMethodForTesting(); | |
| 36 | |
| 37 // Changing the parameters for gesture recognition shouldn't cause | |
| 38 // tests to fail, so we use a separate set of parameters for unit | |
| 39 // testing. | |
| 40 ui::GestureConfiguration::set_long_press_time_in_ms(1000); | |
| 41 ui::GestureConfiguration::set_semi_long_press_time_in_ms(400); | |
| 42 ui::GestureConfiguration::set_show_press_delay_in_ms(5); | |
| 43 ui::GestureConfiguration::set_max_distance_for_two_finger_tap_in_pixels(300); | |
| 44 ui::GestureConfiguration::set_max_time_between_double_click_in_ms(700); | |
| 45 ui::GestureConfiguration:: | |
| 46 set_max_separation_for_gesture_touches_in_pixels(150); | |
| 47 ui::GestureConfiguration::set_max_touch_down_duration_for_click_in_ms(800); | |
| 48 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click(5); | |
| 49 ui::GestureConfiguration::set_max_distance_between_taps_for_double_tap(20); | |
| 50 ui::GestureConfiguration::set_min_distance_for_pinch_scroll_in_pixels(20); | |
| 51 ui::GestureConfiguration::set_min_pinch_update_distance_in_pixels(5); | |
| 52 ui::GestureConfiguration::set_default_radius(0); | |
| 53 ui::GestureConfiguration::set_fling_velocity_cap(15000); | |
| 54 ui::GestureConfiguration::set_min_swipe_speed(10); | |
| 55 | |
| 56 // The ContextFactory must exist before any Compositors are created. | |
| 57 bool enable_pixel_output = false; | |
| 58 ui::ContextFactory* context_factory = | |
| 59 ui::InitializeContextFactoryForTests(enable_pixel_output); | |
| 60 | |
| 61 helper_.reset(new AuraTestHelper(&message_loop_)); | |
| 62 helper_->SetUp(context_factory); | |
| 63 } | |
| 64 | |
| 65 void AuraTestBase::TearDown() { | |
| 66 teardown_called_ = true; | |
| 67 | |
| 68 // Flush the message loop because we have pending release tasks | |
| 69 // and these tasks if un-executed would upset Valgrind. | |
| 70 RunAllPendingInMessageLoop(); | |
| 71 | |
| 72 helper_->TearDown(); | |
| 73 ui::TerminateContextFactoryForTests(); | |
| 74 ui::ShutdownInputMethodForTesting(); | |
| 75 testing::Test::TearDown(); | |
| 76 } | |
| 77 | |
| 78 Window* AuraTestBase::CreateNormalWindow(int id, Window* parent, | |
| 79 WindowDelegate* delegate) { | |
| 80 Window* window = new Window( | |
| 81 delegate ? delegate : | |
| 82 test::TestWindowDelegate::CreateSelfDestroyingDelegate()); | |
| 83 window->set_id(id); | |
| 84 window->Init(aura::WINDOW_LAYER_TEXTURED); | |
| 85 parent->AddChild(window); | |
| 86 window->SetBounds(gfx::Rect(0, 0, 100, 100)); | |
| 87 window->Show(); | |
| 88 return window; | |
| 89 } | |
| 90 | |
| 91 void AuraTestBase::RunAllPendingInMessageLoop() { | |
| 92 helper_->RunAllPendingInMessageLoop(); | |
| 93 } | |
| 94 | |
| 95 void AuraTestBase::ParentWindow(Window* window) { | |
| 96 client::ParentWindowWithContext(window, root_window(), gfx::Rect()); | |
| 97 } | |
| 98 | |
| 99 bool AuraTestBase::DispatchEventUsingWindowDispatcher(ui::Event* event) { | |
| 100 ui::EventDispatchDetails details = | |
| 101 event_processor()->OnEventFromSource(event); | |
| 102 CHECK(!details.dispatcher_destroyed); | |
| 103 return event->handled(); | |
| 104 } | |
| 105 | |
| 106 } // namespace test | |
| 107 } // namespace aura | |
| OLD | NEW |