Test partial_ordering::unordered != 0 comparison
... and figure out that it does not match the std implementation. Fix will be provided in a follow-up commit. Task-number: QTBUG-127759 Pick-to: 6.7 6.5 6.2 5.15 Change-Id: I51c4f086af531a81a6aae03f3462972437d41f97 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit fed1099ad2909cb8e75477e60e0a8b41db3f58d0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
79be5fa986
commit
247ec89cc5
@ -22,6 +22,7 @@ private slots:
|
||||
void conversions();
|
||||
void is_eq_overloads();
|
||||
void compareThreeWay();
|
||||
void unorderedNeqLiteralZero();
|
||||
};
|
||||
|
||||
void tst_QCompare::legacyPartialOrdering()
|
||||
@ -846,5 +847,46 @@ QT_WARNING_POP
|
||||
QCOMPARE_EQ(qCompareThreeWay(arr.data(), a0), Qt::strong_ordering::equivalent);
|
||||
}
|
||||
|
||||
void tst_QCompare::unorderedNeqLiteralZero()
|
||||
{
|
||||
// This test is checking QTBUG-127759
|
||||
constexpr auto qtUnordered = Qt::partial_ordering::unordered;
|
||||
constexpr auto qtLegacyUnordered = QPartialOrdering::Unordered;
|
||||
#ifdef __cpp_lib_three_way_comparison
|
||||
constexpr auto stdUnordered = std::partial_ordering::unordered;
|
||||
|
||||
QVERIFY(stdUnordered != 0);
|
||||
QVERIFY(0 != stdUnordered);
|
||||
QVERIFY(is_neq(stdUnordered));
|
||||
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QCOMPARE_EQ(qtUnordered != 0, stdUnordered != 0);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QCOMPARE_EQ(0 != qtUnordered, 0 != stdUnordered);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QCOMPARE_EQ(is_neq(qtUnordered), is_neq(stdUnordered));
|
||||
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QCOMPARE_EQ(qtLegacyUnordered != 0, stdUnordered != 0);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QCOMPARE_EQ(0 != qtLegacyUnordered, 0 != stdUnordered);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QCOMPARE_EQ(is_neq(qtLegacyUnordered), is_neq(stdUnordered));
|
||||
#endif
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QVERIFY(qtUnordered != 0);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QVERIFY(0 != qtUnordered);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QVERIFY(is_neq(qtUnordered));
|
||||
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QVERIFY(qtLegacyUnordered != 0);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QVERIFY(0 != qtLegacyUnordered);
|
||||
QEXPECT_FAIL("", "QTBUG-127759", Continue);
|
||||
QVERIFY(is_neq(qtLegacyUnordered));
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QCompare)
|
||||
#include "tst_qcompare.moc"
|
||||
|
Loading…
x
Reference in New Issue
Block a user