diff options
author | Olivier Goffart <olivier.goffart@nokia.com> | 2010-06-07 21:01:36 +0200 |
---|---|---|
committer | Olivier Goffart <olivier.goffart@nokia.com> | 2010-06-07 21:01:36 +0200 |
commit | 23306a399c0703eea7420231903c850566bfe2f0 (patch) | |
tree | 58070cba417611a09ec14c77b2973c3b8344eaae /tests/auto/qimage/tst_qimage.cpp | |
parent | 29ef46edfd4f01da7d79338c031b237af415be3a (diff) | |
download | qt4-tools-23306a399c0703eea7420231903c850566bfe2f0.tar.gz |
Make tst_image a little bit more tollerent to rounding errors
Diffstat (limited to 'tests/auto/qimage/tst_qimage.cpp')
-rw-r--r-- | tests/auto/qimage/tst_qimage.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tests/auto/qimage/tst_qimage.cpp b/tests/auto/qimage/tst_qimage.cpp index 10514d90bf..2164b059ff 100644 --- a/tests/auto/qimage/tst_qimage.cpp +++ b/tests/auto/qimage/tst_qimage.cpp @@ -1426,11 +1426,6 @@ static inline int rand8() return int(256. * (qrand() / (RAND_MAX + 1.0))); } -static inline bool compare(int a, int b, int tolerance) -{ - return qAbs(a - b) <= tolerance; -} - // compares img.scale against the bilinear filtering used by QPainter void tst_QImage::smoothScale3() { @@ -1458,6 +1453,7 @@ void tst_QImage::smoothScale3() p.scale(scales[i], scales[i]); p.drawImage(0, 0, img); p.end(); + int err = 0; for (int y = 0; y < a.height(); ++y) { for (int x = 0; x < a.width(); ++x) { @@ -1465,11 +1461,15 @@ void tst_QImage::smoothScale3() QRgb cb = b.pixel(x, y); // tolerate a little bit of rounding errors - QVERIFY(compare(qRed(ca), qRed(cb), 16)); - QVERIFY(compare(qGreen(ca), qGreen(cb), 16)); - QVERIFY(compare(qBlue(ca), qBlue(cb), 16)); + bool r = true; + r &= qAbs(qRed(ca) - qRed(cb)) <= 18; + r &= qAbs(qGreen(ca) - qGreen(cb)) <= 18; + r &= qAbs(qBlue(ca) - qBlue(cb)) <= 18; + if (!r) + err++; } } + QCOMPARE(err, 0); } } |