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

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: Move on top of the recently committed local view property stuff. 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,
52 gfx::Point(20, 20),
53 gfx::Point(20, 20),
54 ui::EF_NONE,
55 ui::EF_NONE);
56 ui::EventDispatchDetails details =
57 view_event_dispatcher_->OnEventFromSource(&press);
58 ASSERT_FALSE(details.dispatcher_destroyed);
59
60 EXPECT_EQ(1, handler.num_mouse_events());
61
62 one.target()->RemovePreTargetHandler(&handler);
63 }
64
65 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698