diff options
Diffstat (limited to 'tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp')
-rw-r--r-- | tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp index c7d862c20e..7bdc91cfbb 100644 --- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp +++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp @@ -250,6 +250,10 @@ private slots: void pairElements(); void enums(); + + void compareSanity_data(); + void compareSanity(); + private: void dataStream_data(QDataStream::Version version); void loadQVariantFromDataStream(QDataStream::Version version); @@ -4153,5 +4157,31 @@ void tst_QVariant::enums() #endif } +void tst_QVariant::compareSanity_data() +{ + QTest::addColumn<QVariant>("value1"); + QTest::addColumn<QVariant>("value2"); + + QTest::newRow( "int <>/== QUrl" ) << QVariant( 97 ) << QVariant(QUrl("a")); + QTest::newRow( "int <>/== QChar" ) << QVariant( 97 ) << QVariant(QChar('a')); + QTest::newRow( "int <>/== QString" ) << QVariant( 97 ) << QVariant(QString("a")); + QTest::newRow( "QUrl <>/== QChar" ) << QVariant(QUrl("a")) << QVariant(QChar('a')); + QTest::newRow( "QUrl <>/== QString" ) << QVariant(QUrl("a")) << QVariant(QString("a")); + QTest::newRow( "QChar <>/== QString" ) << QVariant(QChar('a')) << QVariant(QString("a")); +} + +void tst_QVariant::compareSanity() +{ + QFETCH(QVariant, value1); + QFETCH(QVariant, value2); + + if (value1 == value2) { + QVERIFY(!(value1 < value2) && !(value1 > value2)); + } else { + QVERIFY(value1 != value2); + QVERIFY((value1 < value2) || (value1 > value2)); + } +} + QTEST_MAIN(tst_QVariant) #include "tst_qvariant.moc" |