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.
5 #ifndef PPAPI_TESTS_TEST_INPUT_EVENT_H_
6 #define PPAPI_TESTS_TEST_INPUT_EVENT_H_
11 #include "ppapi/c/ppb_input_event.h"
12 #include "ppapi/c/dev/ppb_testing_dev.h"
13 #include "ppapi/cpp/input_event.h"
14 #include "ppapi/cpp/point.h"
15 #include "ppapi/cpp/rect.h"
16 #include "ppapi/tests/test_case.h"
17 #include "ppapi/tests/test_utils.h"
19 class TestInputEvent
: public TestCase
{
21 explicit TestInputEvent(TestingInstance
* instance
);
24 virtual bool HandleInputEvent(const pp::InputEvent
& input_event
);
25 virtual void HandleMessage(const pp::Var
& message_data
);
26 virtual void DidChangeView(const pp::View
& view
);
28 // TestCase implementation.
30 virtual void RunTests(const std::string
& test_filter
);
33 pp::InputEvent
CreateMouseEvent(PP_InputEvent_Type type
,
34 PP_InputEvent_MouseButton buttons
);
35 pp::InputEvent
CreateWheelEvent();
36 pp::InputEvent
CreateKeyEvent(PP_InputEvent_Type type
,
38 pp::InputEvent
CreateCharEvent(const std::string
& text
);
39 pp::InputEvent
CreateTouchEvent(PP_InputEvent_Type type
,
40 const pp::FloatPoint
& location
);
42 void PostMessageBarrier();
43 bool SimulateInputEvent(const pp::InputEvent
& input_event
);
44 bool AreEquivalentEvents(PP_Resource first
, PP_Resource second
);
46 std::string
TestEvents();
47 std::string
TestAcceptTouchEvent_1();
48 std::string
TestAcceptTouchEvent_2();
49 std::string
TestAcceptTouchEvent_3();
50 std::string
TestAcceptTouchEvent_4();
52 const PPB_InputEvent
* input_event_interface_
;
53 const PPB_MouseInputEvent
* mouse_input_event_interface_
;
54 const PPB_WheelInputEvent
* wheel_input_event_interface_
;
55 const PPB_KeyboardInputEvent
* keyboard_input_event_interface_
;
56 const PPB_TouchInputEvent
* touch_input_event_interface_
;
58 NestedEvent nested_event_
;
61 pp::InputEvent expected_input_event_
;
62 bool received_expected_event_
;
63 bool received_finish_message_
;
66 #endif // PPAPI_TESTS_TEST_INPUT_EVENT_H_