Added name mangling tests.
This commit is contained in:
parent
8f4845d4d2
commit
22bad8fb22
2 changed files with 54 additions and 28 deletions
|
|
@ -14,41 +14,68 @@ protected:
|
|||
{
|
||||
NameManglingRules r;
|
||||
|
||||
auto p = GetParam();
|
||||
//ReplaceRules replaceRules;
|
||||
// { {"[ -_]", QRegularExpression::OptimizeOnFirstUsageOption }, "", true }
|
||||
r.replaceRules;
|
||||
// auto p = GetParam();
|
||||
// //ReplaceRules replaceRules;
|
||||
// // { {"[ -_]", QRegularExpression::OptimizeOnFirstUsageOption }, "", true }
|
||||
// // r.replaceRules;
|
||||
|
||||
//QString replaceSpaceWith; ///< default is empty string which means remove spaces
|
||||
r.replaceSpaceWith = std::get<0>(p);
|
||||
|
||||
//CollisionHandling CollisionHandling = CollisionHandling::Restrict;
|
||||
//CaseConversion caseConversion = CaseConversion::AsIs; ///< overall case conversion rule
|
||||
r.caseConversion = std::get<1>(p);
|
||||
//CaseConversion caseFirstChar = CaseConversion::AsIs; ///< case of the first char
|
||||
r.camelCase = std::get<2>(p); ///< removes underscores and make first char after underscore uppercase
|
||||
rules = r;
|
||||
// //CaseConversion caseConversion = CaseConversion::AsIs; ///< overall case conversion rule
|
||||
// r.caseConversion = std::get<1>(p);
|
||||
// //CaseConversion caseFirstChar = CaseConversion::AsIs; ///< case of the first char
|
||||
// //r.camelCase = std::get<2>(p); ///< removes underscores and make first char after underscore uppercase
|
||||
// rules = r;
|
||||
}
|
||||
NameManglingRules rules;
|
||||
};
|
||||
|
||||
// First a few test to test some basic things
|
||||
|
||||
TEST_P(NameManglingRulesTest, test1)
|
||||
|
||||
TEST_F(NameManglingRulesTest, caseConversionAsIs)
|
||||
{
|
||||
ASSERT_EQ(rules.replaceSpaceWith, std::get<0>(GetParam()));
|
||||
QString input = "Ab";
|
||||
QString expected = input;
|
||||
|
||||
NameManglingRules rules;
|
||||
rules.caseConversion = NameManglingRules::CaseConversion::AsIs;
|
||||
QString result = rules.transform(input);
|
||||
|
||||
ASSERT_EQ(result, expected);
|
||||
}
|
||||
|
||||
TEST_P(NameManglingRulesTest, test2)
|
||||
TEST_F(NameManglingRulesTest, caseConversionLower)
|
||||
{
|
||||
ASSERT_EQ(rules.camelCase, std::get<2>(GetParam()));
|
||||
QString input = "Ab";
|
||||
QString expected = "ab";
|
||||
|
||||
NameManglingRules rules;
|
||||
rules.caseConversion = NameManglingRules::CaseConversion::Lower;
|
||||
QString result = rules.transform(input);
|
||||
|
||||
ASSERT_EQ(result, expected);
|
||||
}
|
||||
|
||||
TEST_F(NameManglingRulesTest, caseConversionUpper)
|
||||
{
|
||||
QString input = "Ab";
|
||||
QString expected = "AB";
|
||||
|
||||
NameManglingRules rules;
|
||||
rules.caseConversion = NameManglingRules::CaseConversion::Upper;
|
||||
QString result = rules.transform(input);
|
||||
|
||||
ASSERT_EQ(result, expected);
|
||||
}
|
||||
|
||||
TEST_F(NameManglingRulesTest, replace)
|
||||
{
|
||||
QString input = "abc-def ghi";
|
||||
QString expected = "abc_Def_Ghi";
|
||||
|
||||
NameManglingRules rules;
|
||||
rules.replaceRules.push_back({QRegularExpression("[- ]"), "_", true});
|
||||
QString result = rules.transform(input);
|
||||
|
||||
ASSERT_EQ(result, expected);
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(InstantiationName1,
|
||||
NameManglingRulesTest,
|
||||
::testing::Combine(
|
||||
::testing::Values("", "_", "+"),
|
||||
::testing::Values(NameManglingRules::CaseConversion::AsIs,
|
||||
NameManglingRules::CaseConversion::Lower,
|
||||
NameManglingRules::CaseConversion::Upper),
|
||||
::testing::Bool()
|
||||
));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue