Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ui / events / test / events_test_utils.h
1 // Copyright 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 #ifndef UI_EVENTS_TEST_EVENTS_TEST_UTILS_H_
6 #define UI_EVENTS_TEST_EVENTS_TEST_UTILS_H_
7
8 #include "ui/events/event.h"
9 #include "ui/events/event_dispatcher.h"
10 #include "ui/events/event_target.h"
11
12 namespace ui {
13
14 class EventSource;
15
16 class EventTestApi {
17  public:
18   explicit EventTestApi(Event* event);
19   virtual ~EventTestApi();
20
21   void set_time_stamp(base::TimeDelta time_stamp) {
22     event_->time_stamp_ = time_stamp;
23   }
24
25  private:
26   EventTestApi();
27
28   Event* event_;
29
30   DISALLOW_COPY_AND_ASSIGN(EventTestApi);
31 };
32
33 class LocatedEventTestApi : public EventTestApi {
34  public:
35   explicit LocatedEventTestApi(LocatedEvent* located_event);
36   virtual ~LocatedEventTestApi();
37
38   void set_location(const gfx::Point& location) {
39     located_event_->location_ = location;
40   }
41
42  private:
43   LocatedEventTestApi();
44
45   LocatedEvent* located_event_;
46
47   DISALLOW_COPY_AND_ASSIGN(LocatedEventTestApi);
48 };
49
50 class EventTargetTestApi {
51  public:
52   explicit EventTargetTestApi(EventTarget* target);
53
54   const EventHandlerList& pre_target_handlers() {
55     return target_->pre_target_list_;
56   }
57
58  private:
59   EventTargetTestApi();
60
61   EventTarget* target_;
62
63   DISALLOW_COPY_AND_ASSIGN(EventTargetTestApi);
64 };
65
66 class EventSourceTestApi {
67  public:
68   explicit EventSourceTestApi(EventSource* event_source);
69
70   EventDispatchDetails SendEventToProcessor(Event* event) WARN_UNUSED_RESULT;
71
72  private:
73   EventSourceTestApi();
74
75   EventSource* event_source_;
76
77   DISALLOW_COPY_AND_ASSIGN(EventSourceTestApi);
78 };
79
80 }  // namespace ui
81
82 #endif  // UI_EVENTS_TEST_EVENTS_TEST_UTILS_H_