void ut_scale::testScaleTiled() { QuillImageFilter *filter = QuillImageFilterFactory::createImageFilter("org.maemo.scale"); QVERIFY(filter->setOption(QuillImageFilter::SizeAfter, QSize(4, 1))); QCOMPARE(filter->newFullImageSize(QSize(8, 2)), QSize(4, 1)); QCOMPARE(filter->newFullImageSize(QSize(4, 4)), QSize(4, 1)); // Rounded down QCOMPARE(filter->newArea(QSize(8, 2), QRect(2, 0, 3, 2)), QRect(1, 0, 1, 1)); QImage image = Unittests::generatePaletteImage(); QuillImage image1 = image.copy(0, 0, 3, 2); image1.setFullImageSize(QSize(8, 2)); image1.setArea(QRect(0, 0, 3, 2)); QuillImage resultImage1 = filter->apply(image1); QCOMPARE(resultImage1.area(), QRect(0, 0, 1, 1)); QCOMPARE(resultImage1.fullImageSize(), QSize(4, 1)); QCOMPARE((QImage)resultImage1, image1.scaled(QSize(1, 1), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); QuillImage image2 = image.copy(3, 0, 3, 2); image2.setFullImageSize(QSize(8, 2)); image2.setArea(QRect(3, 0, 3, 2)); QuillImage resultImage2 = filter->apply(image2); QCOMPARE(resultImage2.area(), QRect(1, 0, 2, 1)); QCOMPARE(resultImage2.fullImageSize(), QSize(4, 1)); QCOMPARE((QImage)resultImage2, image2.scaled(QSize(2, 1), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); QuillImage image3 = image.copy(6, 0, 2, 2); image3.setFullImageSize(QSize(8, 2)); image3.setArea(QRect(6, 0, 2, 2)); QuillImage resultImage3 = filter->apply(image3); QCOMPARE(resultImage3.area(), QRect(3, 0, 1, 1)); QCOMPARE(resultImage3.fullImageSize(), QSize(4, 1)); QCOMPARE((QImage)resultImage3, image3.scaled(QSize(1, 1), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); delete filter; }