1 #include <gtest/gtest.h>
5 #include <UiSelector.h>
8 #include "MockDeviceImpl.h"
16 #include "MockAccessibleWatcher.h"
17 #include "MockAccessibleApplication.h"
18 #include "MockAccessibleWindow.h"
19 #include "MockAccessibleNode.h"
22 class UaTest : public ::testing::Test {
25 /*const char *logPath = "/tmp/ua.log";
26 loguru::g_preamble = false;
27 loguru::add_file(logPath, loguru::Append, loguru::Verbosity_MAX);*/
30 void SetUp() override {
33 void TearDown() override {
38 TEST_F(UaTest, EmptyTest)
40 ASSERT_EQ(true, true);
45 TEST_F(UaTest, DeviceInit)
47 std::shared_ptr<UiDevice> mDevice1 = UiDevice::getInstance(nullptr);
48 ASSERT_NE(mDevice1, nullptr);
52 TEST_F(UaTest, TextSelector)
54 std::shared_ptr<UiSelector> sel = Sel::text("test");
55 ASSERT_NE(sel.get(), nullptr);
56 auto result = UiDevice::getInstance()->findObjects(sel);
57 std::for_each(result.begin(), result.end(), [](auto obj){
58 std::cout << obj->getText() << std::endl;
60 ASSERT_EQ(nullptr, nullptr);
63 TEST_F(UaTest, DeviceClick)
65 auto result = UiDevice::getInstance()->click(1,2);
66 ASSERT_EQ(result, false);
69 TEST_F(UaTest, FindElement)
71 auto watcher = AccessibleWatcher::getInstance();
73 MockAccessibleWatcher *mockWatcher = dynamic_cast<MockAccessibleWatcher*>(const_cast<AccessibleWatcher*>(watcher));
75 std::shared_ptr<MockAccessibleNode> appNode = std::make_shared<MockAccessibleNode>(nullptr, "text", "pkg", "application", "res","type","style", Rect<int>{0,0,100,200}, 0, 0);
76 std::shared_ptr<MockAccessibleApplication> app = std::make_shared<MockAccessibleApplication>(appNode);
77 mockWatcher->addApplication(app);
79 std::shared_ptr<MockAccessibleNode> winNode = std::make_shared<MockAccessibleNode>(nullptr, "text", "pkg", "window", "res","type","style", Rect<int>{0,0,100,200}, 0, 0);
80 std::shared_ptr<MockAccessibleWindow> win = std::make_shared<MockAccessibleWindow>(app, winNode);
81 winNode->setFeatureProperty(8);
82 winNode->setFeatureProperty(9);
83 winNode->setFeatureProperty(10);
86 std::shared_ptr<MockAccessibleNode> node = std::make_shared<MockAccessibleNode>(nullptr, "test", "pkg", "ahahah", "res","type","style", Rect<int>{0,0,100,200}, 0, 0);
87 winNode->addChild(node);
89 std::shared_ptr<UiSelector> sel = Sel::text("test");
90 auto result = UiDevice::getInstance()->findObjects(sel);
91 std::for_each(result.begin(), result.end(), [](auto obj){
92 ASSERT_EQ(obj->getRole(), "ahahah");
95 ASSERT_EQ(nullptr, nullptr);