refactor: port ServerArgsTests to QtTests

This commit is contained in:
sithlord48
2025-04-05 18:08:56 -04:00
committed by Nick Bolton
parent 6c2457d60b
commit d7506697c8
4 changed files with 34 additions and 98 deletions

View File

@ -1,24 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2014 - 2016 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#pragma once
#define TEST_ENV
#include "deskflow/ArgParser.h"
#include <gmock/gmock.h>
class MockArgParser : public ArgParser
{
public:
MockArgParser() : ArgParser(nullptr)
{
}
MOCK_METHOD(bool, parseGenericArgs, (int, const char *const *, int &));
MOCK_METHOD(bool, checkUnexpectedArgs, ());
};

View File

@ -1,74 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2014 - 2016 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#include "deskflow/ArgParser.h"
#include "deskflow/ServerArgs.h"
#include "test/mock/deskflow/MockArgParser.h"
#include <array>
#include <gtest/gtest.h>
using ::testing::_;
using ::testing::Invoke;
using ::testing::NiceMock;
bool server_stubParseGenericArgs(int, const char *const *, int &)
{
return false;
}
bool server_stubCheckUnexpectedArgs()
{
return false;
}
TEST(ServerArgs, ServerArgs_will_construct_from_copy)
{
deskflow::ServerArgs serverArgs;
serverArgs.m_display = "display0";
deskflow::ServerArgs serverArgs2{serverArgs};
EXPECT_EQ(serverArgs.m_display, serverArgs2.m_display);
}
TEST(ServerArgsParsingTests, parseServerArgs_addressArg_setDeskflowAddress)
{
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
deskflow::ServerArgs serverArgs;
const int argc = 3;
const char *kAddressCmd[argc] = {"stub", "--address", "mock_address"};
argParser.parseServerArgs(serverArgs, argc, kAddressCmd);
EXPECT_EQ("mock_address", serverArgs.m_deskflowAddress);
}
TEST(ServerArgsParsingTests, parseServerArgs_configArg_setConfigFile)
{
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
deskflow::ServerArgs serverArgs;
const int argc = 3;
const char *kConfigCmd[argc] = {"stub", "--config", "mock_configFile"};
argParser.parseServerArgs(serverArgs, argc, kConfigCmd);
EXPECT_EQ("mock_configFile", serverArgs.m_configFile);
}
TEST(ServerArgsParsingTests, parseServerArgs_checkUnexpectedParams)
{
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
deskflow::ServerArgs serverArgs;
const int argc = 2;
std::array<const char *, argc> kUnknownCmd = {"stub", "--unknown"};
EXPECT_FALSE(argParser.parseServerArgs(serverArgs, argc, kUnknownCmd.data()));
}

View File

@ -160,6 +160,37 @@ void ArgParserTests::assembleCommand()
QCOMPARE(command, "\"stub1 space\" stub2 \"stub3 space\"");
}
void ArgParserTests::server_setAddress()
{
deskflow::ServerArgs serverArgs;
const int argc = 3;
const char *kAddressCmd[argc] = {"stub", "--address", "mock_address"};
m_parser.parseServerArgs(serverArgs, argc, kAddressCmd);
QCOMPARE(serverArgs.m_deskflowAddress, "mock_address");
}
void ArgParserTests::server_setConfigFile()
{
deskflow::ServerArgs serverArgs;
const int argc = 3;
const char *kConfigCmd[argc] = {"stub", "--config", "mock_configFile"};
m_parser.parseServerArgs(serverArgs, argc, kConfigCmd);
QCOMPARE(serverArgs.m_configFile, "mock_configFile");
}
void ArgParserTests::server_unexpectedParam()
{
deskflow::ServerArgs serverArgs;
const int argc = 2;
std::array<const char *, argc> kUnknownCmd = {"stub", "--unknown"};
QVERIFY(!m_parser.parseServerArgs(serverArgs, argc, kUnknownCmd.data()));
}
void ArgParserTests::serverArgs()
{
deskflow::ServerArgs args;

View File

@ -23,6 +23,9 @@ private slots:
void getArgv();
void assembleCommand();
void serverArgs();
void server_setAddress();
void server_setConfigFile();
void server_unexpectedParam();
void clientArgs();
void client_yScroll();
void client_setLangSync();