- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / tests / test_scrollbar.cc
1 // Copyright (c) 2011 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 "ppapi/tests/test_scrollbar.h"
6
7 #include <cstring>
8
9 #include "ppapi/c/dev/ppb_testing_dev.h"
10 #include "ppapi/c/pp_input_event.h"
11 #include "ppapi/cpp/input_event.h"
12 #include "ppapi/cpp/instance.h"
13 #include "ppapi/cpp/rect.h"
14 #include "ppapi/tests/testing_instance.h"
15
16 REGISTER_TEST_CASE(Scrollbar);
17
18 TestScrollbar::TestScrollbar(TestingInstance* instance)
19     : TestCase(instance),
20       WidgetClient_Dev(instance),
21       scrollbar_(instance, true),
22       scrollbar_value_changed_(false) {
23 }
24
25 bool TestScrollbar::Init() {
26   return CheckTestingInterface();
27 }
28
29 void TestScrollbar::RunTests(const std::string& filter) {
30   RUN_TEST(HandleEvent, filter);
31 }
32
33 std::string TestScrollbar::TestHandleEvent() {
34   pp::Rect location;
35   location.set_width(1000);
36   location.set_height(1000);
37   scrollbar_.SetLocation(location);
38
39   scrollbar_.SetDocumentSize(10000);
40
41   pp::Core* core = pp::Module::Get()->core();
42   pp::KeyboardInputEvent input_event(
43       instance_, PP_INPUTEVENT_TYPE_KEYDOWN,
44       core->GetTimeTicks(),
45       0,  // Modifier.
46       0x28,  // Key code = VKEY_DOWN.
47       pp::Var());
48   scrollbar_.HandleEvent(input_event);
49
50   return scrollbar_value_changed_ ?
51       "" : "Didn't get callback for scrollbar value change";
52 }
53
54 void TestScrollbar::InvalidateWidget(pp::Widget_Dev widget,
55                                      const pp::Rect& dirty_rect) {
56 }
57
58 void TestScrollbar::ScrollbarValueChanged(pp::Scrollbar_Dev scrollbar,
59                                           uint32_t value) {
60   if (scrollbar == scrollbar_)
61     scrollbar_value_changed_ = true;
62 }
63
64 void TestScrollbar::ScrollbarOverlayChanged(pp::Scrollbar_Dev scrollbar,
65                                             bool type) {
66 }