diff options
author | Glenn Watson <glenn.watson@nokia.com> | 2012-07-11 11:50:47 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-11 04:58:29 +0200 |
commit | a1d2c2708697cd8e2b3ade2b204c3f618b0c135d (patch) | |
tree | 7e7e7958673ade3d02623dd45fff9ac8b844a690 /tests/auto/qml/qqmlvaluetypes | |
parent | 32b595feb5d5dcaf9cdea9c1f8ce59ac151fb8cd (diff) |
Fix test for value type interceptors.
In release mode, floating point inaccuracies can cause this test
to fail. Use a fuzzy compare since it doesn't affect what the test
is actually trying to check for.
Change-Id: I5e3d073614090450216c33fcc561a7454cf44ac3
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'tests/auto/qml/qqmlvaluetypes')
-rw-r--r-- | tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp index f038b9dbfb..af5e914290 100644 --- a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp +++ b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp @@ -1365,6 +1365,12 @@ void tst_qqmlvaluetypes::groupedInterceptors_data() QTest::newRow("ignore-interceptor") << QString::fromLatin1("grouped_interceptors_ignore.qml") << QColor(128, 0, 255) << QColor(50, 100, 200) << QColor(128, 100, 200); } +static bool fuzzyCompare(qreal a, qreal b) +{ + const qreal EPSILON = 0.0001; + return (a + EPSILON > b) && (a - EPSILON < b); +} + void tst_qqmlvaluetypes::groupedInterceptors() { QFETCH(QString, qmlfile); @@ -1377,12 +1383,18 @@ void tst_qqmlvaluetypes::groupedInterceptors() QVERIFY(object != 0); QColor initialColor = object->property("color").value<QColor>(); - QCOMPARE(initialColor, expectedInitialColor); + QVERIFY(fuzzyCompare(initialColor.redF(), expectedInitialColor.redF())); + QVERIFY(fuzzyCompare(initialColor.greenF(), expectedInitialColor.greenF())); + QVERIFY(fuzzyCompare(initialColor.blueF(), expectedInitialColor.blueF())); + QVERIFY(fuzzyCompare(initialColor.alphaF(), expectedInitialColor.alphaF())); object->setProperty("color", setColor); QColor finalColor = object->property("color").value<QColor>(); - QCOMPARE(finalColor, expectedFinalColor); + QVERIFY(fuzzyCompare(finalColor.redF(), expectedFinalColor.redF())); + QVERIFY(fuzzyCompare(finalColor.greenF(), expectedFinalColor.greenF())); + QVERIFY(fuzzyCompare(finalColor.blueF(), expectedFinalColor.blueF())); + QVERIFY(fuzzyCompare(finalColor.alphaF(), expectedFinalColor.alphaF())); delete object; } |