summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-08-09 15:19:02 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2021-08-11 22:32:42 +0200
commit6f833eff92fe703a13214a0c1a593d94e51847d1 (patch)
treec90f1862030c850cfe6b22e47a458c055a16e833 /tests/auto/corelib
parent761f32ae2ad98e8fb12a4f05b45b4aa277e47a1b (diff)
Add QByteArrayView::trimmed()
Unlike simplified(), it just moves the end-points, without needing to modify contents, so it makes sense (as for QStringView and QLatin1String) to provide it. Moved QByteArray's trimmed() tests to tst_QByteArrayApiSymmetry so that QBAV can now share them. [ChangeLog][QtCore][QByteArrayView] Added trimmed(). Change-Id: Ifd7a752adb5f3d3e2ad0aa8220efa7e7d2d39baa Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp29
-rw-r--r--tests/auto/corelib/text/qbytearrayapisymmetry/tst_qbytearrayapisymmetry.cpp38
-rw-r--r--tests/auto/corelib/text/qbytearrayview/tst_qbytearrayview.cpp1
3 files changed, 39 insertions, 29 deletions
diff --git a/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
index b0d55f7542..9f4949f5b3 100644
--- a/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
@@ -44,6 +44,7 @@ class tst_QByteArray : public QObject
public:
tst_QByteArray();
private slots:
+ // Note: much of the shared API is tested in ../qbytearrayapisymmetry/
void swap();
void qChecksum_data();
void qChecksum();
@@ -157,8 +158,6 @@ private slots:
void fill();
void dataPointers();
void truncate();
- void trimmed();
- void trimmed_data();
void simplified();
void simplified_data();
void left();
@@ -2797,32 +2796,6 @@ void tst_QByteArray::truncate()
QVERIFY(a.isEmpty());
}
-void tst_QByteArray::trimmed()
-{
- QFETCH(QByteArray, source);
- QFETCH(QByteArray, expected);
-
- QCOMPARE(source.trimmed(), expected);
- QByteArray copy = source;
- QCOMPARE(std::move(copy).trimmed(), expected);
-
- if (source.isEmpty())
- QVERIFY(!source.isDetached());
-}
-
-void tst_QByteArray::trimmed_data()
-{
- QTest::addColumn<QByteArray>("source");
- QTest::addColumn<QByteArray>("expected");
-
- QTest::newRow("null") << QByteArray() << QByteArray();
- QTest::newRow("empty") << QByteArray("") << QByteArray("");
- QTest::newRow("no spaces") << QByteArray("a b\nc\td") << QByteArray("a b\nc\td");
- QTest::newRow("with spaces") << QByteArray("\t \v a b\r\nc \td\ve f \r\n\f")
- << QByteArray("a b\r\nc \td\ve f");
- QTest::newRow("all spaces") << QByteArray("\t \r \n \v \f") << QByteArray("");
-}
-
void tst_QByteArray::simplified()
{
QFETCH(QByteArray, source);
diff --git a/tests/auto/corelib/text/qbytearrayapisymmetry/tst_qbytearrayapisymmetry.cpp b/tests/auto/corelib/text/qbytearrayapisymmetry/tst_qbytearrayapisymmetry.cpp
index fe0c3efbee..5f181647af 100644
--- a/tests/auto/corelib/text/qbytearrayapisymmetry/tst_qbytearrayapisymmetry.cpp
+++ b/tests/auto/corelib/text/qbytearrayapisymmetry/tst_qbytearrayapisymmetry.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -121,6 +121,11 @@ private slots:
void chop_QByteArrayView_data() { chop_data(); }
void chop_QByteArrayView() { chop_impl<QByteArrayView>(); }
+ void trimmed_QByteArray_data() { trimmed_data(); }
+ void trimmed_QByteArray() { trimmed_impl<QByteArray>(); }
+ void trimmed_QByteArrayView_data() { trimmed_data(); }
+ void trimmed_QByteArrayView() { trimmed_impl<QByteArrayView>(); }
+
private:
void startsWith_data();
template<typename Haystack, typename Needle> void startsWith_impl();
@@ -156,6 +161,9 @@ private:
void chop_data();
template <typename ByteArray> void chop_impl();
+
+ void trimmed_data();
+ template <typename ByteArray> void trimmed_impl();
};
static const auto empty = QByteArray("");
@@ -877,5 +885,33 @@ void tst_QByteArrayApiSymmetry::chop_impl()
}
}
+void tst_QByteArrayApiSymmetry::trimmed_data()
+{
+ QTest::addColumn<QByteArray>("source");
+ QTest::addColumn<QByteArray>("expected");
+
+ QTest::newRow("null") << QByteArray() << QByteArray();
+ QTest::newRow("empty") << QByteArray("") << QByteArray("");
+ QTest::newRow("no end-spaces") << QByteArray("a b\nc\td") << QByteArray("a b\nc\td");
+ QTest::newRow("with end-spaces")
+ << QByteArray("\t \v a b\r\nc \td\ve f \r\n\f") << QByteArray("a b\r\nc \td\ve f");
+ QTest::newRow("all spaces") << QByteArray("\t \r \n \v \f") << QByteArray("");
+}
+
+template <typename ByteArray> void tst_QByteArrayApiSymmetry::trimmed_impl()
+{
+ QFETCH(QByteArray, source);
+ QFETCH(QByteArray, expected);
+
+ QCOMPARE(ByteArray(source).trimmed(), ByteArray(expected));
+ ByteArray copy{source};
+ QCOMPARE(std::move(copy).trimmed(), ByteArray(expected));
+
+ if constexpr (std::is_same_v<QByteArray, ByteArray>) {
+ if (source.isEmpty())
+ QVERIFY(!source.isDetached());
+ }
+}
+
QTEST_APPLESS_MAIN(tst_QByteArrayApiSymmetry)
#include "tst_qbytearrayapisymmetry.moc"
diff --git a/tests/auto/corelib/text/qbytearrayview/tst_qbytearrayview.cpp b/tests/auto/corelib/text/qbytearrayview/tst_qbytearrayview.cpp
index d65731fdbd..2953fc5c04 100644
--- a/tests/auto/corelib/text/qbytearrayview/tst_qbytearrayview.cpp
+++ b/tests/auto/corelib/text/qbytearrayview/tst_qbytearrayview.cpp
@@ -107,6 +107,7 @@ class tst_QByteArrayView : public QObject
{
Q_OBJECT
private slots:
+ // Note: much of the shared API is tested in ../qbytearrayapisymmetry/
void constExpr() const;
void basics() const;
void literals() const;