DSWaylandTizenSurface: get resource id from DSWaylandSurface's __tizenResourceId
[platform/core/uifw/libds.git] / tests / DSWaylandTouch-test.cpp
1 /*
2 * Copyright © 2020 Samsung Electronics co., Ltd. All Rights Reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 */
23
24 #include "libds-tests.h"
25 #include "DSWaylandTouch.h"
26 #include "DSWaylandSeat.h"
27 #include "DSWaylandSurface.h"
28
29 using namespace display_server;
30
31 class DSWaylandTouchTest : public ::testing::Test
32 {
33 public:
34         void SetUp(void) override
35         {
36                 setenv("XDG_RUNTIME_DIR", "/run", 1);
37         }
38         void TearDown(void) override
39         {
40                 unsetenv("XDG_RUNTIME_DIR");
41         }
42 };
43
44 /* Test cases */
45 TEST_F(DSWaylandTouchTest, NewDSWaylandTouch)
46 {
47         DSWaylandTouch *touch = new DSWaylandTouch(nullptr);
48         EXPECT_TRUE(touch != nullptr);
49
50         if (touch)
51                 delete touch;
52 }
53
54 TEST_F(DSWaylandTouchTest, GetSeat)
55 {
56         DSWaylandSeat *seat = new DSWaylandSeat(nullptr, DSWaylandSeat::capDefault);
57         EXPECT_TRUE(seat != nullptr);
58
59         if (seat)
60         {
61                 DSWaylandTouch *touch = new DSWaylandTouch(seat);
62                 EXPECT_TRUE(touch != nullptr);
63
64                 if (touch)
65                 {
66                         EXPECT_TRUE(touch->seat() == seat);
67
68                         delete touch;
69                 }
70
71                 delete seat;
72         }
73 }
74
75 TEST_F(DSWaylandTouchTest, SetGetFocus)
76 {
77         auto touch = new DSWaylandTouch(nullptr);
78         EXPECT_TRUE(touch != nullptr);
79
80         if (touch)
81         {
82                 auto waylandSurface = std::make_unique<DSWaylandSurface>();
83                 EXPECT_TRUE(waylandSurface != nullptr);
84
85                 if (waylandSurface)
86                 {
87                         touch->setFocus(waylandSurface.get());
88                         EXPECT_TRUE(waylandSurface.get() == touch->getFocus());
89                 }
90         }
91 }
92