From d0f9e593d46065677761c1b6dfc269068e67ac7e Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Tue, 15 Mar 2022 11:28:26 +0100 Subject: [PATCH] Rename tst_qlatin1string and switch to using QLatin1StringView MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-98434 Change-Id: Iec477835880263175edbc03f21b40f1ad67dbef0 Reviewed-by: MÃ¥rten Nordheim --- tests/auto/corelib/text/CMakeLists.txt | 2 +- .../corelib/text/qlatin1string/.gitignore | 1 - .../corelib/text/qlatin1stringview/.gitignore | 1 + .../CMakeLists.txt | 8 +- .../tst_qlatin1stringview.cpp} | 175 +++++++++--------- 5 files changed, 93 insertions(+), 94 deletions(-) delete mode 100644 tests/auto/corelib/text/qlatin1string/.gitignore create mode 100644 tests/auto/corelib/text/qlatin1stringview/.gitignore rename tests/auto/corelib/text/{qlatin1string => qlatin1stringview}/CMakeLists.txt (70%) rename tests/auto/corelib/text/{qlatin1string/tst_qlatin1string.cpp => qlatin1stringview/tst_qlatin1stringview.cpp} (69%) diff --git a/tests/auto/corelib/text/CMakeLists.txt b/tests/auto/corelib/text/CMakeLists.txt index 9b80e43bc6..4390d8fd72 100644 --- a/tests/auto/corelib/text/CMakeLists.txt +++ b/tests/auto/corelib/text/CMakeLists.txt @@ -9,7 +9,7 @@ add_subdirectory(qbytearrayview) add_subdirectory(qbytedatabuffer) add_subdirectory(qchar) add_subdirectory(qcollator) -add_subdirectory(qlatin1string) +add_subdirectory(qlatin1stringview) add_subdirectory(qregularexpression) add_subdirectory(qstring) add_subdirectory(qstring_no_cast_from_bytearray) diff --git a/tests/auto/corelib/text/qlatin1string/.gitignore b/tests/auto/corelib/text/qlatin1string/.gitignore deleted file mode 100644 index dddf56b2df..0000000000 --- a/tests/auto/corelib/text/qlatin1string/.gitignore +++ /dev/null @@ -1 +0,0 @@ -tst_qlatin1string diff --git a/tests/auto/corelib/text/qlatin1stringview/.gitignore b/tests/auto/corelib/text/qlatin1stringview/.gitignore new file mode 100644 index 0000000000..8156eca574 --- /dev/null +++ b/tests/auto/corelib/text/qlatin1stringview/.gitignore @@ -0,0 +1 @@ +tst_qlatin1stringview diff --git a/tests/auto/corelib/text/qlatin1string/CMakeLists.txt b/tests/auto/corelib/text/qlatin1stringview/CMakeLists.txt similarity index 70% rename from tests/auto/corelib/text/qlatin1string/CMakeLists.txt rename to tests/auto/corelib/text/qlatin1stringview/CMakeLists.txt index 4d37ebb04c..4064783722 100644 --- a/tests/auto/corelib/text/qlatin1string/CMakeLists.txt +++ b/tests/auto/corelib/text/qlatin1stringview/CMakeLists.txt @@ -1,12 +1,10 @@ -# Generated from qlatin1string.pro. - ##################################################################### -## tst_qlatin1string Test: +## tst_qlatin1stringview Test: ##################################################################### -qt_internal_add_test(tst_qlatin1string +qt_internal_add_test(tst_qlatin1stringview SOURCES - tst_qlatin1string.cpp + tst_qlatin1stringview.cpp DEFINES QT_DISABLE_DEPRECATED_BEFORE=0 QT_NO_CAST_TO_ASCII diff --git a/tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp b/tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp similarity index 69% rename from tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp rename to tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp index aebd60ded2..5ff2a0742d 100644 --- a/tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp +++ b/tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp @@ -30,16 +30,16 @@ #include -// Preserve QLatin1String-ness (QVariant(QLatin1String) creates a QVariant::String): -struct QLatin1StringContainer { - QLatin1String l1; +// Preserve QLatin1StringView-ness (QVariant(QLatin1StringView) creates a QVariant::String): +struct QLatin1StringViewContainer { + QLatin1StringView l1; }; QT_BEGIN_NAMESPACE -Q_DECLARE_TYPEINFO(QLatin1StringContainer, Q_RELOCATABLE_TYPE); +Q_DECLARE_TYPEINFO(QLatin1StringViewContainer, Q_RELOCATABLE_TYPE); QT_END_NAMESPACE -Q_DECLARE_METATYPE(QLatin1StringContainer) +Q_DECLARE_METATYPE(QLatin1StringViewContainer) -class tst_QLatin1String : public QObject +class tst_QLatin1StringView : public QObject { Q_OBJECT @@ -58,23 +58,23 @@ private Q_SLOTS: void count(); }; -void tst_QLatin1String::constExpr() +void tst_QLatin1StringView::constExpr() { // compile-time checks { - constexpr QLatin1String l1s; + constexpr QLatin1StringView l1s; static_assert(l1s.size() == 0); static_assert(l1s.isNull()); static_assert(l1s.empty()); static_assert(l1s.isEmpty()); static_assert(l1s.latin1() == nullptr); - constexpr QLatin1String l1s2(l1s.latin1(), l1s.latin1() + l1s.size()); + constexpr QLatin1StringView l1s2(l1s.latin1(), l1s.latin1() + l1s.size()); static_assert(l1s2.isNull()); static_assert(l1s2.empty()); } { - constexpr QLatin1String l1s = nullptr; + constexpr QLatin1StringView l1s = nullptr; static_assert(l1s.size() == 0); static_assert(l1s.isNull()); static_assert(l1s.empty()); @@ -82,20 +82,20 @@ void tst_QLatin1String::constExpr() static_assert(l1s.latin1() == nullptr); } { - constexpr QLatin1String l1s(""); + constexpr QLatin1StringView l1s(""); static_assert(l1s.size() == 0); static_assert(!l1s.isNull()); static_assert(l1s.empty()); static_assert(l1s.isEmpty()); static_assert(l1s.latin1() != nullptr); - constexpr QLatin1String l1s2(l1s.latin1(), l1s.latin1() + l1s.size()); + constexpr QLatin1StringView l1s2(l1s.latin1(), l1s.latin1() + l1s.size()); static_assert(!l1s2.isNull()); static_assert(l1s2.empty()); } { - static_assert(QLatin1String("Hello").size() == 5); - constexpr QLatin1String l1s("Hello"); + static_assert(QLatin1StringView("Hello").size() == 5); + constexpr QLatin1StringView l1s("Hello"); static_assert(l1s.size() == 5); static_assert(!l1s.empty()); static_assert(!l1s.isEmpty()); @@ -110,25 +110,25 @@ void tst_QLatin1String::constExpr() static_assert(l1s.back() == QLatin1Char('o')); static_assert(l1s.last() == QLatin1Char('o')); - constexpr QLatin1String l1s2(l1s.latin1(), l1s.latin1() + l1s.size()); + constexpr QLatin1StringView l1s2(l1s.latin1(), l1s.latin1() + l1s.size()); static_assert(!l1s2.isNull()); static_assert(!l1s2.empty()); static_assert(l1s2.size() == 5); } } -void tst_QLatin1String::construction() +void tst_QLatin1StringView::construction() { { const char str[6] = "hello"; - QLatin1String l1s(str); + QLatin1StringView l1s(str); QCOMPARE(l1s.size(), 5); QCOMPARE(l1s.latin1(), reinterpret_cast(&str[0])); QCOMPARE(l1s.latin1(), "hello"); QByteArrayView helloView(str); helloView = helloView.first(4); - l1s = QLatin1String(helloView); + l1s = QLatin1StringView(helloView); QCOMPARE(l1s.latin1(), helloView.data()); QCOMPARE(l1s.latin1(), reinterpret_cast(helloView.data())); QCOMPARE(l1s.size(), helloView.size()); @@ -136,30 +136,30 @@ void tst_QLatin1String::construction() { const QByteArray helloArray("hello"); - QLatin1String l1s(helloArray); + QLatin1StringView l1s(helloArray); QCOMPARE(l1s.latin1(), helloArray.data()); QCOMPARE(l1s.size(), helloArray.size()); QByteArrayView helloView(helloArray); helloView = helloView.first(4); - l1s = QLatin1String(helloView); + l1s = QLatin1StringView(helloView); QCOMPARE(l1s.latin1(), helloView.data()); QCOMPARE(l1s.size(), helloView.size()); } } -void tst_QLatin1String::userDefinedLiterals() +void tst_QLatin1StringView::userDefinedLiterals() { { using namespace Qt::Literals::StringLiterals; auto str = "abcd"_L1; - static_assert(std::is_same_v); + static_assert(std::is_same_v); QCOMPARE(str.size(), 4); - QCOMPARE(str, QLatin1String("abcd")); + QCOMPARE(str, QLatin1StringView("abcd")); QCOMPARE(str.latin1(), "abcd"); QCOMPARE("abcd"_L1, str.latin1()); - QCOMPARE("M\xE5rten"_L1, QLatin1String("M\xE5rten")); + QCOMPARE("M\xE5rten"_L1, QLatin1StringView("M\xE5rten")); auto ch = 'a'_L1; static_assert(std::is_same_v); @@ -172,8 +172,8 @@ void tst_QLatin1String::userDefinedLiterals() using namespace Qt::Literals; auto str = "abcd"_L1; - static_assert(std::is_same_v); - QCOMPARE(str, QLatin1String("abcd")); + static_assert(std::is_same_v); + QCOMPARE(str, QLatin1StringView("abcd")); auto ch = 'a'_L1; static_assert(std::is_same_v); @@ -183,8 +183,8 @@ void tst_QLatin1String::userDefinedLiterals() using namespace Qt; auto str = "abcd"_L1; - static_assert(std::is_same_v); - QCOMPARE(str, QLatin1String("abcd")); + static_assert(std::is_same_v); + QCOMPARE(str, QLatin1StringView("abcd")); auto ch = 'a'_L1; static_assert(std::is_same_v); @@ -192,32 +192,32 @@ void tst_QLatin1String::userDefinedLiterals() } } -void tst_QLatin1String::at() +void tst_QLatin1StringView::at() { - const QLatin1String l1("Hello World"); + const QLatin1StringView l1("Hello World"); QCOMPARE(l1.at(0), QLatin1Char('H')); QCOMPARE(l1.at(l1.size() - 1), QLatin1Char('d')); QCOMPARE(l1[0], QLatin1Char('H')); QCOMPARE(l1[l1.size() - 1], QLatin1Char('d')); } -void tst_QLatin1String::arg() const +void tst_QLatin1StringView::arg() const { #define CHECK1(pattern, arg1, expected) \ do { \ - auto p = QLatin1String(pattern); \ - QCOMPARE(p.arg(QLatin1String(arg1)), expected); \ + auto p = QLatin1StringView(pattern); \ + QCOMPARE(p.arg(QLatin1StringView(arg1)), expected); \ QCOMPARE(p.arg(u"" arg1), expected); \ QCOMPARE(p.arg(QStringLiteral(arg1)), expected); \ - QCOMPARE(p.arg(QString(QLatin1String(arg1))), expected); \ + QCOMPARE(p.arg(QString(QLatin1StringView(arg1))), expected); \ } while (false) \ /*end*/ #define CHECK2(pattern, arg1, arg2, expected) \ do { \ - auto p = QLatin1String(pattern); \ - QCOMPARE(p.arg(QLatin1String(arg1), QLatin1String(arg2)), expected); \ - QCOMPARE(p.arg(u"" arg1, QLatin1String(arg2)), expected); \ - QCOMPARE(p.arg(QLatin1String(arg1), u"" arg2), expected); \ + auto p = QLatin1StringView(pattern); \ + QCOMPARE(p.arg(QLatin1StringView(arg1), QLatin1StringView(arg2)), expected); \ + QCOMPARE(p.arg(u"" arg1, QLatin1StringView(arg2)), expected); \ + QCOMPARE(p.arg(QLatin1StringView(arg1), u"" arg2), expected); \ QCOMPARE(p.arg(u"" arg1, u"" arg2), expected); \ } while (false) \ /*end*/ @@ -239,32 +239,33 @@ void tst_QLatin1String::arg() const #undef CHECK2 #undef CHECK1 - QCOMPARE(QLatin1String(" %2 %2 %1 %3 ").arg(QLatin1Char('c'), QChar::CarriageReturn, u'C'), " \r \r c C "); + QCOMPARE(QLatin1StringView(" %2 %2 %1 %3 ").arg(QLatin1Char('c'), QChar::CarriageReturn, u'C'), + " \r \r c C "); } -void tst_QLatin1String::midLeftRight() +void tst_QLatin1StringView::midLeftRight() { - const QLatin1String l1("Hello World"); + const QLatin1StringView l1("Hello World"); QCOMPARE(l1.mid(0), l1); QCOMPARE(l1.mid(0, l1.size()), l1); QCOMPARE(l1.left(l1.size()), l1); QCOMPARE(l1.right(l1.size()), l1); - QCOMPARE(l1.mid(6), QLatin1String("World")); - QCOMPARE(l1.mid(6, 5), QLatin1String("World")); - QCOMPARE(l1.right(5), QLatin1String("World")); + QCOMPARE(l1.mid(6), QLatin1StringView("World")); + QCOMPARE(l1.mid(6, 5), QLatin1StringView("World")); + QCOMPARE(l1.right(5), QLatin1StringView("World")); - QCOMPARE(l1.mid(6, 1), QLatin1String("W")); - QCOMPARE(l1.right(5).left(1), QLatin1String("W")); + QCOMPARE(l1.mid(6, 1), QLatin1StringView("W")); + QCOMPARE(l1.right(5).left(1), QLatin1StringView("W")); - QCOMPARE(l1.left(5), QLatin1String("Hello")); + QCOMPARE(l1.left(5), QLatin1StringView("Hello")); } -void tst_QLatin1String::nullString() +void tst_QLatin1StringView::nullString() { // default ctor { - QLatin1String l1; + QLatin1StringView l1; QCOMPARE(static_cast(l1.data()), static_cast(nullptr)); QCOMPARE(l1.size(), 0); @@ -275,7 +276,7 @@ void tst_QLatin1String::nullString() // from nullptr { const char *null = nullptr; - QLatin1String l1(null); + QLatin1StringView l1(null); QCOMPARE(static_cast(l1.data()), static_cast(nullptr)); QCOMPARE(l1.size(), 0); @@ -288,7 +289,7 @@ void tst_QLatin1String::nullString() const QByteArray null; QVERIFY(null.isNull()); - QLatin1String l1(null); + QLatin1StringView l1(null); QEXPECT_FAIL("", "null QByteArrays become non-null QLatin1Strings...", Continue); QCOMPARE(static_cast(l1.data()), static_cast(nullptr)); QCOMPARE(l1.size(), 0); @@ -299,11 +300,11 @@ void tst_QLatin1String::nullString() } } -void tst_QLatin1String::emptyString() +void tst_QLatin1StringView::emptyString() { { const char *empty = ""; - QLatin1String l1(empty); + QLatin1StringView l1(empty); QCOMPARE(static_cast(l1.data()), static_cast(empty)); QCOMPARE(l1.size(), 0); @@ -314,7 +315,7 @@ void tst_QLatin1String::emptyString() { const char *notEmpty = "foo"; - QLatin1String l1(notEmpty, qsizetype(0)); + QLatin1StringView l1(notEmpty, qsizetype(0)); QCOMPARE(static_cast(l1.data()), static_cast(notEmpty)); QCOMPARE(l1.size(), 0); @@ -325,7 +326,7 @@ void tst_QLatin1String::emptyString() { const QByteArray empty = ""; - QLatin1String l1(empty); + QLatin1StringView l1(empty); QCOMPARE(static_cast(l1.data()), static_cast(empty.constData())); QCOMPARE(l1.size(), 0); @@ -335,10 +336,10 @@ void tst_QLatin1String::emptyString() } } -void tst_QLatin1String::iterators() +void tst_QLatin1StringView::iterators() { - QLatin1String hello("hello"); - QLatin1String olleh("olleh"); + QLatin1StringView hello("hello"); + QLatin1StringView olleh("olleh"); QVERIFY(std::equal(hello.begin(), hello.end(), olleh.rbegin())); @@ -351,27 +352,27 @@ void tst_QLatin1String::iterators() QT_MAKE_CHECKED_ARRAY_ITERATOR(olleh.begin(), olleh.size()))); } -void tst_QLatin1String::relationalOperators_data() +void tst_QLatin1StringView::relationalOperators_data() { - QTest::addColumn("lhs"); + QTest::addColumn("lhs"); QTest::addColumn("lhsOrderNumber"); - QTest::addColumn("rhs"); + QTest::addColumn("rhs"); QTest::addColumn("rhsOrderNumber"); struct Data { - QLatin1String l1; + QLatin1StringView l1; int order; } data[] = { - { QLatin1String(), 0 }, - { QLatin1String(""), 0 }, - { QLatin1String("a"), 1 }, - { QLatin1String("aa"), 2 }, - { QLatin1String("b"), 3 }, + { QLatin1StringView(), 0 }, + { QLatin1StringView(""), 0 }, + { QLatin1StringView("a"), 1 }, + { QLatin1StringView("aa"), 2 }, + { QLatin1StringView("b"), 3 }, }; for (Data *lhs = data; lhs != data + sizeof data / sizeof *data; ++lhs) { for (Data *rhs = data; rhs != data + sizeof data / sizeof *data; ++rhs) { - QLatin1StringContainer l = { lhs->l1 }, r = { rhs->l1 }; + QLatin1StringViewContainer l = { lhs->l1 }, r = { rhs->l1 }; QTest::addRow("\"%s\" <> \"%s\"", lhs->l1.data() ? lhs->l1.data() : "nullptr", rhs->l1.data() ? rhs->l1.data() : "nullptr") @@ -380,11 +381,11 @@ void tst_QLatin1String::relationalOperators_data() } } -void tst_QLatin1String::relationalOperators() +void tst_QLatin1StringView::relationalOperators() { - QFETCH(QLatin1StringContainer, lhs); + QFETCH(QLatin1StringViewContainer, lhs); QFETCH(int, lhsOrderNumber); - QFETCH(QLatin1StringContainer, rhs); + QFETCH(QLatin1StringViewContainer, rhs); QFETCH(int, rhsOrderNumber); #define CHECK(op) \ @@ -399,36 +400,36 @@ void tst_QLatin1String::relationalOperators() #undef CHECK } -void tst_QLatin1String::count() +void tst_QLatin1StringView::count() { - QLatin1String a("ABCDEFGHIEfGEFG"); + QLatin1StringView a("ABCDEFGHIEfGEFG"); QCOMPARE(a.size(), 15); QCOMPARE(a.count('A'), 1); QCOMPARE(a.count('Z'), 0); QCOMPARE(a.count('E'), 3); QCOMPARE(a.count('F'), 2); QCOMPARE(a.count('F', Qt::CaseInsensitive), 3); - QCOMPARE(a.count(QLatin1String("FG")), 2); - QCOMPARE(a.count(QLatin1String("FG"), Qt::CaseInsensitive), 3); - QCOMPARE(a.count(QLatin1String(), Qt::CaseInsensitive), 16); - QCOMPARE(a.count(QLatin1String(""), Qt::CaseInsensitive), 16); + QCOMPARE(a.count(QLatin1StringView("FG")), 2); + QCOMPARE(a.count(QLatin1StringView("FG"), Qt::CaseInsensitive), 3); + QCOMPARE(a.count(QLatin1StringView(), Qt::CaseInsensitive), 16); + QCOMPARE(a.count(QLatin1StringView(""), Qt::CaseInsensitive), 16); - QLatin1String nullStr; + QLatin1StringView nullStr; QCOMPARE(nullStr.count('A'), 0); - QCOMPARE(nullStr.count(QLatin1String("AB")), 0); - QCOMPARE(nullStr.count(QLatin1String()), 1); - QCOMPARE(nullStr.count(QLatin1String("")), 1); + QCOMPARE(nullStr.count(QLatin1StringView("AB")), 0); + QCOMPARE(nullStr.count(QLatin1StringView()), 1); + QCOMPARE(nullStr.count(QLatin1StringView("")), 1); - QLatin1String emptyStr(""); + QLatin1StringView emptyStr(""); QCOMPARE(emptyStr.count('A'), 0); - QCOMPARE(emptyStr.count(QLatin1String("AB")), 0); - QCOMPARE(emptyStr.count(QLatin1String()), 1); - QCOMPARE(emptyStr.count(QLatin1String("")), 1); + QCOMPARE(emptyStr.count(QLatin1StringView("AB")), 0); + QCOMPARE(emptyStr.count(QLatin1StringView()), 1); + QCOMPARE(emptyStr.count(QLatin1StringView("")), 1); using namespace Qt::Literals::StringLiterals; QCOMPARE("a\0b"_L1.count(QChar::SpecialCharacter::LineSeparator), 0); } -QTEST_APPLESS_MAIN(tst_QLatin1String) +QTEST_APPLESS_MAIN(tst_QLatin1StringView) -#include "tst_qlatin1string.moc" +#include "tst_qlatin1stringview.moc"