diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/gui/painting/qbrush/tst_qbrush.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/gui/painting/qbrush/tst_qbrush.cpp b/tests/auto/gui/painting/qbrush/tst_qbrush.cpp index d252a0e87c..8be9973c64 100644 --- a/tests/auto/gui/painting/qbrush/tst_qbrush.cpp +++ b/tests/auto/gui/painting/qbrush/tst_qbrush.cpp @@ -69,6 +69,8 @@ private slots: void nullBrush(); void isOpaque(); void debug(); + + void textureBrushStream(); }; @@ -407,5 +409,42 @@ void tst_QBrush::debug() qDebug() << pixmap_brush; // don't crash } +void tst_QBrush::textureBrushStream() +{ + QPixmap pixmap_source(10, 10); + QImage image_source(10, 10, QImage::Format_RGB32); + + fill(&pixmap_source); + fill(&image_source); + + QBrush pixmap_brush; + pixmap_brush.setTexture(pixmap_source); + QBrush image_brush; + image_brush.setTextureImage(image_source); + + QByteArray data1; + QByteArray data2; + { + QDataStream stream1(&data1, QIODevice::WriteOnly); + QDataStream stream2(&data2, QIODevice::WriteOnly); + stream1 << pixmap_brush; + stream2 << image_brush; + } + + QBrush loadedBrush1; + QBrush loadedBrush2; + { + QDataStream stream1(&data1, QIODevice::ReadOnly); + QDataStream stream2(&data2, QIODevice::ReadOnly); + stream1 >> loadedBrush1; + stream2 >> loadedBrush2; + } + + QCOMPARE(loadedBrush1.style(), Qt::TexturePattern); + QCOMPARE(loadedBrush2.style(), Qt::TexturePattern); + QCOMPARE(loadedBrush1.texture(), pixmap_source); + QCOMPARE(loadedBrush2.textureImage(), image_source); +} + QTEST_MAIN(tst_QBrush) #include "tst_qbrush.moc" |