refactor: port deskflow/LanguageMangerTests to QtTests
This commit is contained in:
@ -12,3 +12,13 @@ create_test(
|
||||
SOURCE ConfigTests.cpp
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/lib/deskflow"
|
||||
)
|
||||
|
||||
create_test(
|
||||
NAME LanguageManagerTests
|
||||
DEPENDS app
|
||||
LIBS arch base ${extra_libs}
|
||||
SOURCE LanguageManagerTests.cpp
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/lib/deskflow"
|
||||
)
|
||||
|
||||
|
||||
|
||||
@ -1,56 +1,64 @@
|
||||
/*
|
||||
* Deskflow -- mouse and keyboard sharing utility
|
||||
* SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello <sithlord48@gmail.com>
|
||||
* SPDX-FileCopyrightText: (C) 2014 - 2024 Symless Ltd.
|
||||
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||
*/
|
||||
|
||||
#include "deskflow/languages/LanguageManager.h"
|
||||
#include "LanguageManagerTests.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include "../../lib/deskflow/languages/LanguageManager.h"
|
||||
|
||||
TEST(LanguageManager, RemoteLanguagesTest)
|
||||
void LanguageManagerTests::initTestCase()
|
||||
{
|
||||
m_arch.init();
|
||||
m_log.setFilter(kDEBUG2);
|
||||
}
|
||||
|
||||
void LanguageManagerTests::remoteLanguages()
|
||||
{
|
||||
std::string remoteLanguages = "ruenuk";
|
||||
deskflow::languages::LanguageManager manager({"ru", "en", "uk"});
|
||||
|
||||
manager.setRemoteLanguages(remoteLanguages);
|
||||
EXPECT_EQ((std::vector<std::string>{"ru", "en", "uk"}), manager.getRemoteLanguages());
|
||||
QCOMPARE(manager.getRemoteLanguages(), (std::vector<std::string>{"ru", "en", "uk"}));
|
||||
|
||||
manager.setRemoteLanguages(std::string());
|
||||
EXPECT_TRUE(manager.getRemoteLanguages().empty());
|
||||
QVERIFY(manager.getRemoteLanguages().empty());
|
||||
}
|
||||
|
||||
TEST(LanguageManager, LocalLanguagesTest)
|
||||
void LanguageManagerTests::localLanguage()
|
||||
{
|
||||
std::vector<std::string> localLanguages = {"ru", "en", "uk"};
|
||||
deskflow::languages::LanguageManager manager(localLanguages);
|
||||
|
||||
EXPECT_EQ((std::vector<std::string>{"ru", "en", "uk"}), manager.getLocalLanguages());
|
||||
QCOMPARE(manager.getLocalLanguages(), (std::vector<std::string>{"ru", "en", "uk"}));
|
||||
}
|
||||
|
||||
TEST(LanguageManager, MissedLanguagesTest)
|
||||
void LanguageManagerTests::missedLanguage()
|
||||
{
|
||||
std::string remoteLanguages = "ruenuk";
|
||||
std::vector<std::string> localLanguages = {"en"};
|
||||
deskflow::languages::LanguageManager manager(localLanguages);
|
||||
|
||||
manager.setRemoteLanguages(remoteLanguages);
|
||||
EXPECT_EQ("ru, uk", manager.getMissedLanguages());
|
||||
QCOMPARE(manager.getMissedLanguages(), "ru, uk");
|
||||
}
|
||||
|
||||
TEST(LanguageManager, SerializeLocalLanguagesTest)
|
||||
void LanguageManagerTests::languageInstall()
|
||||
{
|
||||
std::vector<std::string> localLanguages = {"ru", "en", "uk"};
|
||||
deskflow::languages::LanguageManager manager(localLanguages);
|
||||
|
||||
EXPECT_EQ("ruenuk", manager.getSerializedLocalLanguages());
|
||||
QVERIFY(!manager.isLanguageInstalled("us"));
|
||||
QVERIFY(manager.isLanguageInstalled("en"));
|
||||
}
|
||||
|
||||
TEST(LanguageManager, LanguageInstalledTest)
|
||||
void LanguageManagerTests::serializeLocalLanguages()
|
||||
{
|
||||
std::vector<std::string> localLanguages = {"ru", "en", "uk"};
|
||||
deskflow::languages::LanguageManager manager(localLanguages);
|
||||
|
||||
EXPECT_FALSE(manager.isLanguageInstalled("us"));
|
||||
EXPECT_TRUE(manager.isLanguageInstalled("en"));
|
||||
QCOMPARE(manager.getSerializedLocalLanguages(), "ruenuk");
|
||||
}
|
||||
|
||||
QTEST_MAIN(LanguageManagerTests)
|
||||
26
src/unittests/deskflow/LanguageManagerTests.h
Normal file
26
src/unittests/deskflow/LanguageManagerTests.h
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Deskflow -- mouse and keyboard sharing utility
|
||||
* SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello <sithlord48@gmail.com>
|
||||
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||
*/
|
||||
|
||||
#include "base/Log.h"
|
||||
|
||||
#include <QTest>
|
||||
|
||||
class LanguageManagerTests : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void initTestCase();
|
||||
// Test are run in order top to bottom
|
||||
void remoteLanguages();
|
||||
void localLanguage();
|
||||
void missedLanguage();
|
||||
void serializeLocalLanguages();
|
||||
void languageInstall();
|
||||
|
||||
private:
|
||||
Arch m_arch;
|
||||
Log m_log;
|
||||
};
|
||||
Reference in New Issue
Block a user