Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(540)

Side by Side Diff: mojo/services/window_manager/view_targeter_unittest.cc

Issue 724973003: Get event targetting working for mouse events. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Patch beautification. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013 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 "mojo/services/window_manager/view_targeter.h"
6
7 #include "mojo/services/window_manager/view_event_dispatcher.h"
8 #include "mojo/services/window_manager/window_manager_test_util.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "ui/events/test/test_event_handler.h"
11
12 namespace mojo {
13
14 class ViewTargeterTest : public testing::Test {
15 public:
16 ViewTargeterTest() {}
17 ~ViewTargeterTest() override {}
18
19 void SetUp() override {
20 view_event_dispatcher_.reset(new ViewEventDispatcher());
21 }
22
23 void TearDown() override {
24 view_event_dispatcher_.reset();
25 view_collector_.Destroy();
26 testing::Test::TearDown();
27 }
28
29 protected:
30 ViewCollector view_collector_;
31
32 scoped_ptr<ViewEventDispatcher> view_event_dispatcher_;
33
34 private:
35 DISALLOW_COPY_AND_ASSIGN(ViewTargeterTest);
36 };
37
38 TEST_F(ViewTargeterTest, Basic) {
39 // The dispatcher will take ownership of the tree root.
40 TestViewTarget* root =
sky 2014/11/14 01:43:57 Why not declare TestViewTArget, and one/two on the
41 new TestViewTarget(1, gfx::Rect(0, 0, 100, 100), &view_collector_);
42 root->SetEventTargeter(scoped_ptr<ViewTargeter>(new ViewTargeter()));
43 view_event_dispatcher_->SetRootViewTarget(root);
44
45 TestViewTarget* one =
46 new TestViewTarget(2, gfx::Rect(0, 0, 500, 100), &view_collector_);
47 TestViewTarget* two =
48 new TestViewTarget(3, gfx::Rect(501, 0, 500, 1000), &view_collector_);
49
50 root->AddChild(one);
51 root->AddChild(two);
52
53 ui::test::TestEventHandler handler;
54 one->AddPreTargetHandler(&handler);
55
56 ui::MouseEvent press(ui::ET_MOUSE_PRESSED,
57 gfx::Point(20, 20),
58 gfx::Point(20, 20),
59 ui::EF_NONE,
60 ui::EF_NONE);
61 ui::EventDispatchDetails details =
62 view_event_dispatcher_->OnEventFromSource(&press);
63 ASSERT_FALSE(details.dispatcher_destroyed);
64
65 EXPECT_EQ(1, handler.num_mouse_events());
66
67 one->RemovePreTargetHandler(&handler);
68 }
69
70 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698