* Simplify options * Use more sensible edition logic * Use set instead of option for string * Improve macro for product name * Add tests launch config * Restore unregistered state * Reorganize cases for title and improve function name * Code coverage on by default * Fixed copyright * Improve code coverage and test readability * Separate build-all and build-coverage * Back out coverage on by default * Fixed bad var in cmake * More verbose logging for coverage * Restore tasks * Restore preLaunchTask * Use default comparitor * Move temp files to temp dir * Add tasks for tests * Support for wstring * Upgrade sonar-scanner to 6 on Debian 12 * Use modern pip install * Install python for sonarcloud * Use Ubuntu and install deps * Fixed sonar-scanner URL * Fix exported dir * Persist build dir * Don't use venv for pip install gcovr * Fixed another path * Update actions/checkout to v4 for SonarCloud analysis workflow * Add coverage task * Improve coverage for SerialKeyEdition.cpp * Enable licensing for builds * Fixed invalid macro names, missing arguments, etc * Fixed more copyright * Fixed incorrect use of "enterprise" * Fixed incorrect use of "business" * Experiment with environment * Make package prefix variable * Add environment matrix to all OS * Improve job names * Make job names easier to read * Roll back environment matrix (too much noise) * Fixed: default should override required * Refactor CI with vars * Fixed arg for env.get_env
134 lines
3.7 KiB
C++
134 lines
3.7 KiB
C++
/*
|
|
* synergy -- mouse and keyboard sharing utility
|
|
* Copyright (C) 2016 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 <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include "shared/EditionType.h"
|
|
#define TEST_ENV
|
|
|
|
#include "shared/SerialKeyEdition.h"
|
|
#include "test/global/gtest.h"
|
|
|
|
TEST(SerialKeyEditionTests, equal_operator) {
|
|
SerialKeyEdition edition1(kPro);
|
|
SerialKeyEdition edition2(kPro);
|
|
|
|
EXPECT_EQ(edition1, edition2);
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, ctor_default_unregistered) {
|
|
SerialKeyEdition edition;
|
|
|
|
EXPECT_EQ(kUnregistered, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::Unregistered, edition.getName());
|
|
EXPECT_EQ("Synergy 1 (Unregistered)", edition.getProductName());
|
|
EXPECT_FALSE(edition.isValid());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, ctor_businessName_isValid) {
|
|
SerialKeyEdition edition(SerialKeyEdition::Buisiness);
|
|
|
|
EXPECT_EQ(kBusiness, edition.getType());
|
|
EXPECT_TRUE(edition.isValid());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, ctor_basicType_isValid) {
|
|
SerialKeyEdition edition(kBasic);
|
|
|
|
EXPECT_TRUE(edition.isValid());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_invalidType_unregistered) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType("stub");
|
|
|
|
EXPECT_EQ(kUnregistered, edition.getType());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_lite_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(kLite);
|
|
|
|
EXPECT_EQ(kLite, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::Lite, edition.getName());
|
|
EXPECT_EQ("Synergy 1", edition.getProductName());
|
|
EXPECT_TRUE(edition.isValid());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_ultimate_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(SerialKeyEdition::Ultimate);
|
|
|
|
EXPECT_EQ(kUltimate, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::Ultimate, edition.getName());
|
|
EXPECT_EQ("Synergy 1 Ultimate", edition.getProductName());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_pro_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(kPro);
|
|
|
|
EXPECT_EQ(kPro, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::Pro, edition.getName());
|
|
EXPECT_EQ("Synergy 1 Pro", edition.getProductName());
|
|
EXPECT_TRUE(edition.isValid());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_basic_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(kBasic);
|
|
|
|
EXPECT_EQ(kBasic, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::Basic, edition.getName());
|
|
EXPECT_EQ("Synergy 1 Basic", edition.getProductName());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_business_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(kBusiness);
|
|
|
|
EXPECT_EQ(kBusiness, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::Buisiness, edition.getName());
|
|
EXPECT_EQ("Synergy 1 Business", edition.getProductName());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_basicChina_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(kBasicChina);
|
|
|
|
EXPECT_EQ(kBasicChina, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::BasicChina, edition.getName());
|
|
EXPECT_EQ("Synergy 1 中文版", edition.getProductName());
|
|
EXPECT_TRUE(edition.isChina());
|
|
}
|
|
|
|
TEST(SerialKeyEditionTests, setType_proChina_isValid) {
|
|
SerialKeyEdition edition;
|
|
|
|
edition.setType(kProChina);
|
|
|
|
EXPECT_EQ(kProChina, edition.getType());
|
|
EXPECT_EQ(SerialKeyEdition::ProChina, edition.getName());
|
|
EXPECT_EQ("Synergy 1 Pro 中文版", edition.getProductName());
|
|
EXPECT_TRUE(edition.isChina());
|
|
}
|