diff options
Diffstat (limited to 'tests/auto/utils/stringutils/tst_stringutils.cpp')
-rw-r--r-- | tests/auto/utils/stringutils/tst_stringutils.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/auto/utils/stringutils/tst_stringutils.cpp b/tests/auto/utils/stringutils/tst_stringutils.cpp index e13e8411a5b..4863bfd9508 100644 --- a/tests/auto/utils/stringutils/tst_stringutils.cpp +++ b/tests/auto/utils/stringutils/tst_stringutils.cpp @@ -79,6 +79,8 @@ private slots: void testTrim(); void testWildcardToRegularExpression_data(); void testWildcardToRegularExpression(); + void testSplitAtFirst_data(); + void testSplitAtFirst(); private: TestMacroExpander mx; @@ -404,6 +406,38 @@ void tst_StringUtils::testWildcardToRegularExpression() QCOMPARE(string.contains(re), matches); } +void tst_StringUtils::testSplitAtFirst_data() +{ + QTest::addColumn<QString>("string"); + QTest::addColumn<QChar>("separator"); + QTest::addColumn<QString>("left"); + QTest::addColumn<QString>("right"); + + QTest::newRow("Empty") << QString{} << QChar{} << QString{} << QString{}; + QTest::newRow("EmptyString") << QString{} << QChar{'a'} << QString{} << QString{}; + QTest::newRow("EmptySeparator") << QString{"abc"} << QChar{} << QString{"abc"} << QString{}; + QTest::newRow("NoSeparator") << QString{"abc"} << QChar{'d'} << QString{"abc"} << QString{}; + QTest::newRow("SeparatorAtStart") << QString{"abc"} << QChar{'a'} << QString{} << QString{"bc"}; + QTest::newRow("SeparatorAtEnd") << QString{"abc"} << QChar{'c'} << QString{"ab"} << QString{}; + QTest::newRow("SeparatorInMiddle") + << QString{"abc"} << QChar{'b'} << QString{"a"} << QString{"c"}; + QTest::newRow("SeparatorAtStartAndEnd") + << QString{"abca"} << QChar{'a'} << QString{} << QString{"bca"}; +} + +void tst_StringUtils::testSplitAtFirst() +{ + QFETCH(QString, string); + QFETCH(QChar, separator); + QFETCH(QString, left); + QFETCH(QString, right); + + const auto [l, r] = Utils::splitAtFirst(string, separator); + + QCOMPARE(l, left); + QCOMPARE(r, right); +} + QTEST_GUILESS_MAIN(tst_StringUtils) #include "tst_stringutils.moc" |