/*
* synergy -- mouse and keyboard sharing utility
* Copyright (C) 2014-2021 Symless Ltd.
*
* This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file.
*
* This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
#include "synergy/languages/LanguageManager.h"
#include "test/global/gtest.h"
TEST(LanguageManager, RemoteLanguagesTest)
{
std::string remoteLanguages = "ruenuk";
synergy::languages::LanguageManager manager({"ru", "en", "uk"});
manager.setRemoteLanguages(remoteLanguages);
EXPECT_EQ((std::vector {"ru", "en", "uk"}), manager.getRemoteLanguages());
manager.setRemoteLanguages(String());
EXPECT_TRUE(manager.getRemoteLanguages().empty());
}
TEST(LanguageManager, LocalLanguagesTest)
{
std::vector localLanguages = {"ru", "en", "uk"};
synergy::languages::LanguageManager manager(localLanguages);
EXPECT_EQ((std::vector {"ru", "en", "uk"}), manager.getLocalLanguages());
}
TEST(LanguageManager, MissedLanguagesTest)
{
String remoteLanguages = "ruenuk";
std::vector localLanguages = {"en"};
synergy::languages::LanguageManager manager(localLanguages);
manager.setRemoteLanguages(remoteLanguages);
EXPECT_EQ("ru, uk", manager.getMissedLanguages());
}
TEST(LanguageManager, SerializeLocalLanguagesTest)
{
std::vector localLanguages = {"ru", "en", "uk"};
synergy::languages::LanguageManager manager(localLanguages);
EXPECT_EQ("ruenuk", manager.getSerializedLocalLanguages());
}