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

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: More comments, de-const a bunch of stuff in ui/. 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 testing::Test::TearDown();
26 }
27
28 protected:
29 scoped_ptr<ViewEventDispatcher> view_event_dispatcher_;
30
31 private:
32 DISALLOW_COPY_AND_ASSIGN(ViewTargeterTest);
33 };
34
35 TEST_F(ViewTargeterTest, Basic) {
36 // The dispatcher will take ownership of the tree root.
37 TestView root(1, gfx::Rect(0, 0, 100, 100));
38 ViewTarget* root_target = root.target();
39 root_target->SetEventTargeter(scoped_ptr<ViewTargeter>(new ViewTargeter()));
40 view_event_dispatcher_->SetRootViewTarget(root_target);
41
42 TestView one(2, gfx::Rect(0, 0, 500, 100));
43 TestView two(3, gfx::Rect(501, 0, 500, 1000));
44
45 root.AddChild(&one);
46 root.AddChild(&two);
47
48 ui::test::TestEventHandler handler;
49 one.target()->AddPreTargetHandler(&handler);
50
51 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(20, 20),
52 gfx::Point(20, 20), ui::EF_NONE, ui::EF_NONE);
53 ui::EventDispatchDetails details =
54 view_event_dispatcher_->OnEventFromSource(&press);
55 ASSERT_FALSE(details.dispatcher_destroyed);
56
57 EXPECT_EQ(1, handler.num_mouse_events());
58
59 one.target()->RemovePreTargetHandler(&handler);
60 }
61
62 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/window_manager/view_targeter.cc ('k') | mojo/services/window_manager/window_manager_app.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698