From d25589e0529732996e405aaff8d6c46b012e1601 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 10 Jul 2020 11:41:33 +0200 Subject: QTestlib: Enable comparing QList against initializer lists/arrays MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is unnecessary to create a QList container just for comparison. Split out helpers for comparing sequence sizes and sequences from qCompare(QList) and add a template for an array with a non-type template parameter for the size. One can then write something like: const int expected[] = {10, 12,...}; QCOMPARE(QFontDatabase.pointSizes(...), expected) Unfortunately, any commas in such an array will be misread by macro expansion as macro argument separators, so any expected array with more than one entry needs an extra macro expanding __VA_ARGS__. Change-Id: Ie7c8dc20bf669bbb25f6d7f8562455f8d03968c8 Reviewed-by: Qt CI Bot Reviewed-by: Tor Arne Vestbø --- tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'tests/auto/gui/text/qglyphrun') diff --git a/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp b/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp index 2be683ed13..da8ae5606f 100644 --- a/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp +++ b/tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp @@ -493,6 +493,9 @@ void tst_QGlyphRun::drawMultiScriptText2() void tst_QGlyphRun::detach() { + +#define ARG(...) __VA_ARGS__ + QGlyphRun glyphs; glyphs.setGlyphIndexes(QList() << 1 << 2 << 3); @@ -504,8 +507,10 @@ void tst_QGlyphRun::detach() otherGlyphs.setGlyphIndexes(QList() << 4 << 5 << 6); - QCOMPARE(otherGlyphs.glyphIndexes(), QList() << 4 << 5 << 6); - QCOMPARE(glyphs.glyphIndexes(), QList() << 1 << 2 << 3); + QCOMPARE(otherGlyphs.glyphIndexes(), ARG({4, 5, 6})); + QCOMPARE(glyphs.glyphIndexes(), ARG({1, 2, 3})); + +#undef ARG } void tst_QGlyphRun::drawRightToLeft() -- cgit v1.2.3