summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qabstractitemview/tst_qabstractitemview.cpp18
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp4
-rw-r--r--tests/auto/qcssparser/qcssparser.pro6
-rw-r--r--tests/auto/qcssparser/tst_qcssparser.cpp33
-rw-r--r--tests/auto/qdialog/tst_qdialog.cpp28
-rw-r--r--tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp2
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp15
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp4
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp12
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp71
-rw-r--r--tests/auto/qlineedit/tst_qlineedit.cpp1
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp9
-rw-r--r--tests/auto/qmdiarea/tst_qmdiarea.cpp2
-rw-r--r--tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp10
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp19
-rw-r--r--tests/auto/qpixmapcache/tst_qpixmapcache.cpp27
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp34
-rw-r--r--tests/auto/qsound/qsound.pro6
-rw-r--r--tests/auto/qsound/tst_qsound.cpp2
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp15
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp4
-rw-r--r--tests/auto/qtooltip/tst_qtooltip.cpp22
-rw-r--r--tests/auto/qtreewidget/tst_qtreewidget.cpp1
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp21
-rw-r--r--tests/auto/qwindowsurface/tst_qwindowsurface.cpp9
-rw-r--r--tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro5
26 files changed, 303 insertions, 77 deletions
diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
index be2d882..4e385d5 100644
--- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
@@ -184,6 +184,10 @@ public:
virtual ~tst_QAbstractItemView();
void basic_tests(TestView *view);
+public slots:
+ void initTestCase();
+ void cleanupTestCase();
+
private slots:
void getSetCheck();
void emptyModels_data();
@@ -320,6 +324,17 @@ tst_QAbstractItemView::~tst_QAbstractItemView()
{
}
+void tst_QAbstractItemView::initTestCase()
+{
+#ifdef Q_OS_WINCE_WM
+ qApp->setAutoMaximizeThreshold(-1);
+#endif
+}
+
+void tst_QAbstractItemView::cleanupTestCase()
+{
+}
+
void tst_QAbstractItemView::emptyModels_data()
{
QTest::addColumn<QString>("viewType");
@@ -1198,13 +1213,10 @@ void tst_QAbstractItemView::task250754_fontChange()
QFont font = tree.font();
font.setPointSize(5);
tree.setFont(font);
- QTest::qWait(30);
-
QTRY_VERIFY(!tree.verticalScrollBar()->isVisible());
font.setPointSize(45);
tree.setFont(font);
- QTest::qWait(30);
//now with the huge items, the scrollbar must be visible
QTRY_VERIFY(tree.verticalScrollBar()->isVisible());
diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp
index 69c4c92..9f2e4e7 100644
--- a/tests/auto/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp
@@ -2846,11 +2846,11 @@ void tst_QAccessibility::mdiSubWindowTest()
{
QMdiArea mdiArea;
mdiArea.show();
+ qApp->setActiveWindow(&mdiArea);
#if defined(Q_WS_X11)
qt_x11_wait_for_window_manager(&mdiArea);
- QTest::qWait(100);
+ QTest::qWait(150);
#endif
- qApp->setActiveWindow(&mdiArea);
bool isSubWindowsPlacedNextToEachOther = false;
const int subWindowCount = 5;
diff --git a/tests/auto/qcssparser/qcssparser.pro b/tests/auto/qcssparser/qcssparser.pro
index ce1281f..674064f 100644
--- a/tests/auto/qcssparser/qcssparser.pro
+++ b/tests/auto/qcssparser/qcssparser.pro
@@ -3,7 +3,6 @@ SOURCES += tst_qcssparser.cpp
QT += xml
requires(contains(QT_CONFIG,private_tests))
-
!symbian: {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
@@ -11,5 +10,8 @@ requires(contains(QT_CONFIG,private_tests))
wince*|symbian: {
addFiles.sources = testdata
addFiles.path = .
- DEPLOYMENT += addFiles
+ timesFont.sources = C:/Windows/Fonts/times.ttf
+ timesFont.path = .
+ DEPLOYMENT += addFiles timesFont
}
+
diff --git a/tests/auto/qcssparser/tst_qcssparser.cpp b/tests/auto/qcssparser/tst_qcssparser.cpp
index c7f50d4..150f131 100644
--- a/tests/auto/qcssparser/tst_qcssparser.cpp
+++ b/tests/auto/qcssparser/tst_qcssparser.cpp
@@ -40,6 +40,9 @@
****************************************************************************/
#include <QtTest/QtTest>
#include <QtXml/QtXml>
+#if defined(Q_OS_WINCE)
+#include <QtGui/QFontDatabase>
+#endif
//TESTED_CLASS=QCss
//TESTED_FILES=gui/text/qcssparser.cpp gui/text/qcssparser_p.h
@@ -49,6 +52,11 @@
class tst_QCssParser : public QObject
{
Q_OBJECT
+
+public slots:
+ void initTestCase();
+ void cleanupTestCase();
+
private slots:
void scanner_data();
void scanner();
@@ -91,8 +99,33 @@ private slots:
void extractBorder();
void noTextDecoration();
void quotedAndUnquotedIdentifiers();
+
+private:
+#if defined(Q_OS_WINCE)
+ int m_timesFontId;
+#endif
};
+void tst_QCssParser::initTestCase()
+{
+#if defined(Q_OS_WINCE)
+ QFontDatabase fontDB;
+ m_timesFontId = -1;
+ if (!fontDB.families().contains("Times New Roman")) {
+ m_timesFontId = QFontDatabase::addApplicationFont("times.ttf");
+ QVERIFY(m_timesFontId != -1);
+ }
+#endif
+}
+
+void tst_QCssParser::cleanupTestCase()
+{
+#if defined(Q_OS_WINCE)
+ if (m_timesFontId != -1)
+ QFontDatabase::removeApplicationFont(m_timesFontId);
+#endif
+}
+
void tst_QCssParser::scanner_data()
{
QTest::addColumn<QString>("input");
diff --git a/tests/auto/qdialog/tst_qdialog.cpp b/tests/auto/qdialog/tst_qdialog.cpp
index dc6878d..e95bc53 100644
--- a/tests/auto/qdialog/tst_qdialog.cpp
+++ b/tests/auto/qdialog/tst_qdialog.cpp
@@ -50,6 +50,8 @@
#include <QVBoxLayout>
#include <QSizeGrip>
+#include "../../shared/util.h"
+
Q_DECLARE_METATYPE(QSize)
@@ -160,8 +162,8 @@ void tst_QDialog::initTestCase()
void tst_QDialog::cleanupTestCase()
{
if (testWidget) {
- delete testWidget;
- testWidget = 0;
+ delete testWidget;
+ testWidget = 0;
}
}
@@ -585,35 +587,27 @@ void tst_QDialog::reject()
TestRejectDialog dialog;
dialog.show();
QTest::qWaitForWindowShown(&dialog);
- QTest::qWait(100);
- QVERIFY(dialog.isVisible());
+ QTRY_VERIFY(dialog.isVisible());
dialog.reject();
- QTest::qWait(100);
- QVERIFY(!dialog.isVisible());
+ QTRY_VERIFY(!dialog.isVisible());
QCOMPARE(dialog.called, 1);
dialog.show();
QTest::qWaitForWindowShown(&dialog);
- QTest::qWait(100);
-
- QVERIFY(dialog.isVisible());
+ QTRY_VERIFY(dialog.isVisible());
QVERIFY(dialog.close());
- QTest::qWait(100);
- QVERIFY(!dialog.isVisible());
+ QTRY_VERIFY(!dialog.isVisible());
QCOMPARE(dialog.called, 2);
dialog.cancelReject = true;
dialog.show();
QTest::qWaitForWindowShown(&dialog);
- QTest::qWait(100);
- QVERIFY(dialog.isVisible());
+ QTRY_VERIFY(dialog.isVisible());
dialog.reject();
- QTest::qWait(100);
- QVERIFY(dialog.isVisible());
+ QTRY_VERIFY(dialog.isVisible());
QCOMPARE(dialog.called, 3);
QVERIFY(!dialog.close());
- QTest::qWait(100);
- QVERIFY(dialog.isVisible());
+ QTRY_VERIFY(dialog.isVisible());
QCOMPARE(dialog.called, 4);
}
diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
index 2cc2558..29e4fe6 100644
--- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
+++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
@@ -795,6 +795,8 @@ void tst_QFileSystemModel::sort()
model->sort(0, Qt::DescendingOrder);
QVERIFY(idx.column() != 0);
+ model->setRootPath(QDir::homePath());
+
QFETCH(bool, fileDialogMode);
MyFriendFileSystemModel *myModel = new MyFriendFileSystemModel();
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index e2e8c5f..e4eaf4e 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -6444,14 +6444,12 @@ void tst_QGraphicsItem::nestedClipping()
QGraphicsView view(&scene);
view.setOptimizationFlag(QGraphicsView::IndirectPainting);
view.show();
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
- QTest::qWait(250);
+ QTest::qWaitForWindowShown(&view);
+ QTest::qWait(25);
QList<QGraphicsItem *> expected;
expected << root << l1 << l2 << l3;
- QCOMPARE(scene.drawnItems, expected);
+ QTRY_COMPARE(scene.drawnItems, expected);
QImage image(200, 200, QImage::Format_ARGB32_Premultiplied);
image.fill(0);
@@ -7303,16 +7301,17 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption()
rect->startTrack = false;
view.show();
QTest::qWaitForWindowShown(&view);
+ QTest::qWait(60);
rect->startTrack = true;
rect->update(10, 10, 10, 10);
- QTest::qWait(12);
+ QTest::qWait(60);
rect->startTrack = false;
rect->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption, true);
QVERIFY((rect->flags() & QGraphicsItem::ItemUsesExtendedStyleOption));
- QTest::qWait(12);
+ QTest::qWait(60);
rect->startTrack = true;
rect->update(10, 10, 10, 10);
- QTest::qWait(12);
+ QTest::qWait(60);
}
void tst_QGraphicsItem::itemSendsGeometryChanges()
diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
index e55dc9aa..8459331 100644
--- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -1705,7 +1705,7 @@ void tst_QGraphicsScene::hoverEvents_parentChild()
view.scale(1.7, 1.7);
view.show();
QTest::qWaitForWindowShown(&view);
- QTest::qWait(50);
+ QTest::qWait(70);
QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove);
mouseEvent.setScenePos(QPointF(-1000, -1000));
@@ -1726,7 +1726,7 @@ void tst_QGraphicsScene::hoverEvents_parentChild()
qApp->processEvents(); // this posts updates from the scene to the view
qApp->processEvents(); // which trigger a repaint here
- QVERIFY(items.at(i)->isHovered);
+ QTRY_VERIFY(items.at(i)->isHovered);
if (i < 14)
QVERIFY(!items.at(i + 1)->isHovered);
i += j ? 1 : -1;
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index 78fb4f3..921f7f8 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -2932,18 +2932,16 @@ void tst_QGraphicsView::task239729_noViewUpdate()
view = new QGraphicsView(&scene);
}
- view->show();
- QTest::qWaitForWindowShown(view);
- QTest::qWait(150);
-
EventSpy spy(view->viewport(), QEvent::Paint);
QCOMPARE(spy.count(), 0);
- QTest::qWait(100);
- QCOMPARE(spy.count(), 0);
+ view->show();
+ QTest::qWaitForWindowShown(view);
+
+ QTRY_COMPARE(spy.count(), 1);
scene.update();
QApplication::processEvents();
- QTRY_COMPARE(spy.count(), 1);
+ QTRY_COMPARE(spy.count(), 2);
delete view;
}
diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
index 0b73733..26021e0 100644
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
@@ -157,6 +157,7 @@ private slots:
void shortcutsDeletion();
void painterStateProtectionOnWindowFrame();
void ensureClipping();
+ void widgetSendsGeometryChanges();
void respectHFW();
// Task fixes
@@ -2562,6 +2563,76 @@ void tst_QGraphicsWidget::ensureClipping()
QVERIFY(scene.drawnItems.contains(childitem));
}
+class ItemChangeTester : public QGraphicsWidget
+{
+public:
+ ItemChangeTester()
+ { setFlag(ItemSendsGeometryChanges); clear(); }
+ ItemChangeTester(QGraphicsItem *parent) : QGraphicsWidget(parent)
+ { setFlag(ItemSendsGeometryChanges); clear(); }
+
+ void clear()
+ {
+ changes.clear();
+ values.clear();
+ oldValues.clear();
+ }
+ QList<GraphicsItemChange> changes;
+ QList<QVariant> values;
+ QList<QVariant> oldValues;
+protected:
+ QVariant itemChange(GraphicsItemChange change, const QVariant &value)
+ {
+ changes << change;
+ values << value;
+ switch (change) {
+ case QGraphicsItem::ItemPositionChange:
+ oldValues << pos();
+ break;
+ case QGraphicsItem::ItemPositionHasChanged:
+ break;
+ default:
+ break;
+ }
+ return value;
+ }
+};
+
+void tst_QGraphicsWidget::widgetSendsGeometryChanges()
+{
+ ItemChangeTester widget;
+ widget.setFlags(0);
+ widget.clear();
+
+ QPointF pos(10, 10);
+ widget.setPos(pos);
+
+ QCOMPARE(widget.pos(), pos);
+ QCOMPARE(widget.changes.size(), 0);
+
+ widget.setFlag(QGraphicsItem::ItemSendsGeometryChanges, true);
+ QCOMPARE(widget.changes.size(), 2);
+
+ widget.setPos(QPointF());
+ QCOMPARE(widget.changes.size(), 4);
+
+ QCOMPARE(widget.pos(), QPointF());
+
+ QRectF geometry(20, 20, 50, 50);
+ widget.setGeometry(geometry);
+ QCOMPARE(widget.changes.size(), 6);
+
+ QCOMPARE(widget.geometry(), geometry);
+
+ QCOMPARE(widget.changes, QList<QGraphicsItem::GraphicsItemChange>()
+ << QGraphicsItem::ItemFlagsChange
+ << QGraphicsItem::ItemFlagsHaveChanged
+ << QGraphicsItem::ItemPositionChange
+ << QGraphicsItem::ItemPositionHasChanged
+ << QGraphicsItem::ItemPositionChange
+ << QGraphicsItem::ItemPositionHasChanged);
+}
+
class HFWWidget : public QGraphicsWidget
{
public:
diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp
index 1417e69..8368114 100644
--- a/tests/auto/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/qlineedit/tst_qlineedit.cpp
@@ -3493,6 +3493,7 @@ void tst_QLineEdit::task241436_passwordEchoOnEditRestoreEchoMode()
testWidget->setEchoMode(QLineEdit::PasswordEchoOnEdit);
testWidget->setFocus();
+ QApplication::setActiveWindow(testWidget);
QTRY_VERIFY(testWidget->hasFocus());
QTest::keyPress(testWidget, '0');
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index d9cab02..7599ce6a06 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -1617,6 +1617,8 @@ void tst_QListView::task254449_draggingItemToNegativeCoordinates()
list.setModel(&model);
list.setViewMode(QListView::IconMode);
list.show();
+ QTest::qWaitForWindowShown(&list);
+
class MyItemDelegate : public QStyledItemDelegate
{
public:
@@ -1630,11 +1632,10 @@ void tst_QListView::task254449_draggingItemToNegativeCoordinates()
mutable int numPaints;
} delegate;
- list.setItemDelegate(&delegate);
-
delegate.numPaints = 0;
- QTest::qWaitForWindowShown(&list); //makes sure the layout is done
- QTRY_VERIFY(delegate.numPaints > 0);
+ list.setItemDelegate(&delegate);
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.numPaints > 0); //makes sure the layout is done
const QPoint topLeft(-6, 0);
list.setPositionForIndex(topLeft, index);
diff --git a/tests/auto/qmdiarea/tst_qmdiarea.cpp b/tests/auto/qmdiarea/tst_qmdiarea.cpp
index a5b3848..068d1fa 100644
--- a/tests/auto/qmdiarea/tst_qmdiarea.cpp
+++ b/tests/auto/qmdiarea/tst_qmdiarea.cpp
@@ -1759,7 +1759,7 @@ void tst_QMdiArea::tileSubWindows()
// Horizontal scroll bar.
QScrollBar *hBar = workspace.horizontalScrollBar();
QCOMPARE(workspace.horizontalScrollBarPolicy(), Qt::ScrollBarAsNeeded);
- QVERIFY(hBar->isVisible());
+ QTRY_VERIFY(hBar->isVisible());
QCOMPARE(hBar->value(), 0);
QCOMPARE(hBar->minimum(), 0);
diff --git a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp
index 2d70bef..b556b87 100644
--- a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp
+++ b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp
@@ -1003,9 +1003,9 @@ void tst_QMdiSubWindow::setSystemMenu()
mainWindow.setCentralWidget(mdiArea);
mainWindow.menuBar();
mainWindow.show();
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&mainWindow);
-#endif
+ QTest::qWaitForWindowShown(&mainWindow);
+ QTest::qWait(60);
+
QTRY_VERIFY(subWindow->isVisible());
QPoint globalPopupPos;
@@ -1650,7 +1650,7 @@ void tst_QMdiSubWindow::resizeTimer()
QMdiSubWindow *subWindow = mdiArea.addSubWindow(new QWidget);
mdiArea.show();
QTest::qWaitForWindowShown(&mdiArea);
- QTest::qWait(250);
+ QTest::qWait(300);
EventSpy timerEventSpy(subWindow, QEvent::Timer);
@@ -1663,7 +1663,7 @@ void tst_QMdiSubWindow::resizeTimer()
QTest::qWait(500); // Wait for timer events to occur.
- QVERIFY(timerEventSpy.count() > 0);
+ QTRY_VERIFY(timerEventSpy.count() > 0);
}
void tst_QMdiSubWindow::fixedMinMaxSize()
diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp
index 2568b94..36c1518 100644
--- a/tests/auto/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/qpixmap/tst_qpixmap.cpp
@@ -166,6 +166,8 @@ private slots:
void fromImage_crash();
void fromData();
+
+ void preserveDepth();
};
static bool lenientCompare(const QPixmap &actual, const QPixmap &expected)
@@ -1448,6 +1450,23 @@ void tst_QPixmap::task_246446()
QVERIFY(pm.mask().isNull());
}
+void tst_QPixmap::preserveDepth()
+{
+ QPixmap target(64, 64);
+ target.fill(Qt::transparent);
+
+ QPixmap source(64, 64);
+ source.fill(Qt::white);
+
+ int depth = source.depth();
+
+ QPainter painter(&target);
+ painter.setBrush(source);
+ painter.drawRect(target.rect());
+ painter.end();
+
+ QCOMPARE(depth, source.depth());
+}
QTEST_MAIN(tst_QPixmap)
#include "tst_qpixmap.moc"
diff --git a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
index b487d74..9775d36 100644
--- a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
+++ b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
@@ -244,16 +244,23 @@ void tst_QPixmapCache::insert()
QPixmap p2(10, 10);
p2.fill(Qt::yellow);
+ // Calcuate estimated num of items what fits to cache
+ int estimatedNum = (1024 * QPixmapCache::cacheLimit())
+ / ((p1.width() * p1.height() * p1.depth()) / 8);
+
+ // Mare sure we will put enough items to reach the cache limit
+ const int numberOfKeys = estimatedNum + 1000;
+
// make sure it doesn't explode
- for (int i = 0; i < 20000; ++i)
+ for (int i = 0; i < numberOfKeys; ++i)
QPixmapCache::insert("0", p1);
// ditto
- for (int j = 0; j < 40000; ++j)
+ for (int j = 0; j < numberOfKeys; ++j)
QPixmapCache::insert(QString::number(j), p1);
int num = 0;
- for (int k = 0; k < 40000; ++k) {
+ for (int k = 0; k < numberOfKeys; ++k) {
if (QPixmapCache::find(QString::number(k)))
++num;
}
@@ -261,9 +268,6 @@ void tst_QPixmapCache::insert()
if (QPixmapCache::find("0"))
++num;
- int estimatedNum = (1024 * QPixmapCache::cacheLimit())
- / ((p1.width() * p1.height() * p1.depth()) / 8);
-
QVERIFY(num <= estimatedNum);
QPixmap p3;
QPixmapCache::insert("null", p3);
@@ -281,11 +285,11 @@ void tst_QPixmapCache::insert()
//The int part of the API
// make sure it doesn't explode
QList<QPixmapCache::Key> keys;
- for (int i = 0; i < 40000; ++i)
+ for (int i = 0; i < numberOfKeys; ++i)
keys.append(QPixmapCache::insert(p1));
num = 0;
- for (int k = 0; k < 40000; ++k) {
+ for (int k = 0; k < numberOfKeys; ++k) {
if (QPixmapCache::find(keys.at(k), &p2))
++num;
}
@@ -393,7 +397,12 @@ void tst_QPixmapCache::clear()
QPixmap p1(10, 10);
p1.fill(Qt::red);
- const int numberOfKeys = 40000;
+ // Calcuate estimated num of items what fits to cache
+ int estimatedNum = (1024 * QPixmapCache::cacheLimit())
+ / ((p1.width() * p1.height() * p1.depth()) / 8);
+
+ // Mare sure we will put enough items to reach the cache limit
+ const int numberOfKeys = estimatedNum + 1000;
for (int i = 0; i < numberOfKeys; ++i)
QVERIFY(QPixmapCache::find("x" + QString::number(i)) == 0);
diff --git a/tests/auto/qprinter/tst_qprinter.cpp b/tests/auto/qprinter/tst_qprinter.cpp
index d6df94b..3c05d90 100644
--- a/tests/auto/qprinter/tst_qprinter.cpp
+++ b/tests/auto/qprinter/tst_qprinter.cpp
@@ -108,6 +108,8 @@ private slots:
void testActualNumCopies();
+ void taskQTBUG4497_reusePrinterOnDifferentFiles();
+
private:
};
@@ -971,5 +973,37 @@ void tst_QPrinter::testActualNumCopies()
QCOMPARE(p.actualNumCopies(), 15);
}
+static void printPage(QPainter *painter)
+{
+ painter->setPen(QPen(Qt::black, 4));
+ painter->drawRect(50, 60, 70, 80);
+}
+
+void tst_QPrinter::taskQTBUG4497_reusePrinterOnDifferentFiles()
+{
+ QPrinter printer;
+ {
+
+ printer.setOutputFileName("out1.ps");
+ QPainter painter(&printer);
+ printPage(&painter);
+
+ }
+ {
+
+ printer.setOutputFileName("out2.ps");
+ QPainter painter(&printer);
+ printPage(&painter);
+
+ }
+ QFile file1("out1.ps");
+ QVERIFY(file1.open(QIODevice::ReadOnly));
+
+ QFile file2("out2.ps");
+ QVERIFY(file2.open(QIODevice::ReadOnly));
+
+ QCOMPARE(file1.readAll(), file2.readAll());
+}
+
QTEST_MAIN(tst_QPrinter)
#include "tst_qprinter.moc"
diff --git a/tests/auto/qsound/qsound.pro b/tests/auto/qsound/qsound.pro
index 75da2e6..c48d50d 100644
--- a/tests/auto/qsound/qsound.pro
+++ b/tests/auto/qsound/qsound.pro
@@ -4,4 +4,8 @@ SOURCES += tst_qsound.cpp
wince*|symbian*: {
deploy.sources += 4.wav
DEPLOYMENT = deploy
-} \ No newline at end of file
+ DEFINES += SRCDIR=\\\"\\\"
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+}
+
diff --git a/tests/auto/qsound/tst_qsound.cpp b/tests/auto/qsound/tst_qsound.cpp
index 76451e3..dd5f2ce 100644
--- a/tests/auto/qsound/tst_qsound.cpp
+++ b/tests/auto/qsound/tst_qsound.cpp
@@ -56,7 +56,7 @@ private slots:
void tst_QSound::checkFinished()
{
- QSound sound("4.wav");
+ QSound sound(SRCDIR"4.wav");
sound.setLoops(3);
sound.play();
QTest::qWait(5000);
diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
index 4175bef..c9c8f5e 100644
--- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
@@ -157,6 +157,8 @@ private slots:
void mysqlOdbc_unsignedIntegers();
void mysql_multiselect_data() { generic_data("QMYSQL"); }
void mysql_multiselect(); // For task 144331
+ void mysql_savepointtest_data() { generic_data("QMYSQL"); }
+ void mysql_savepointtest();
void accessOdbc_strings_data() { generic_data(); }
void accessOdbc_strings();
@@ -2433,6 +2435,19 @@ void tst_QSqlDatabase::sqlStatementUseIsNull_189093()
QCOMPARE(statment.count("IS NULL", Qt::CaseInsensitive), 2);
}
+void tst_QSqlDatabase::mysql_savepointtest()
+{
+ QFETCH(QString, dbName);
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+ if ( db.driverName().startsWith( "QMYSQL" ) && tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 0 ).toInt()<5 )
+ QSKIP( "Test requires MySQL >= 5.0", SkipSingle );
+
+ QSqlQuery q(db);
+ QVERIFY_SQL(q, exec("begin"));
+ QVERIFY_SQL(q, exec("insert into "+qTableName("qtest")+" VALUES (54, 'foo', 'foo', 54.54)"));
+ QVERIFY_SQL(q, exec("savepoint foo"));
+}
QTEST_MAIN(tst_QSqlDatabase)
#include "tst_qsqldatabase.moc"
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index 09e1e87..deb0b71 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -2339,7 +2339,7 @@ void tst_QTableView::scrollTo()
QSize forcedSize(columnWidth * 2, rowHeight * 2);
view.resize(forcedSize);
QTest::qWaitForWindowShown(&view);
- QTest::qWait(0);
+ QTest::qWait(50);
QTRY_COMPARE(view.size(), forcedSize);
view.setModel(&model);
@@ -2354,7 +2354,7 @@ void tst_QTableView::scrollTo()
for (int c = 0; c < columnCount; ++c)
view.setColumnWidth(c, columnWidth);
- QTest::qWait(100); // ### needed to pass the test
+ QTest::qWait(150); // ### needed to pass the test
view.horizontalScrollBar()->setValue(horizontalScroll);
view.verticalScrollBar()->setValue(verticalScroll);
diff --git a/tests/auto/qtooltip/tst_qtooltip.cpp b/tests/auto/qtooltip/tst_qtooltip.cpp
index 283effa..fc76069 100644
--- a/tests/auto/qtooltip/tst_qtooltip.cpp
+++ b/tests/auto/qtooltip/tst_qtooltip.cpp
@@ -66,6 +66,7 @@ private slots:
// task-specific tests below me
void task183679_data();
void task183679();
+ void whatsThis();
void setPalette();
};
@@ -131,6 +132,27 @@ void tst_QToolTip::task183679()
QCOMPARE(QToolTip::isVisible(), visible);
}
+#include <QWhatsThis>
+
+void tst_QToolTip::whatsThis()
+{
+ qApp->setStyleSheet( "QWidget { font-size: 72px; }" );
+ QWhatsThis::showText(QPoint(0,0), "THis is text");
+ QTest::qWait(400);
+ QWidget *whatsthis = 0;
+ foreach (QWidget *widget, QApplication::topLevelWidgets()) {
+ if (widget->inherits("QWhatsThat")) {
+ whatsthis = widget;
+ break;
+ }
+ }
+ QVERIFY(whatsthis);
+ QVERIFY(whatsthis->isVisible());
+ QVERIFY(whatsthis->height() > 100); // Test QTBUG-2416
+ qApp->setStyleSheet("");
+}
+
+
void tst_QToolTip::setPalette()
{
//the previous test may still have a tooltip pending for deletion
diff --git a/tests/auto/qtreewidget/tst_qtreewidget.cpp b/tests/auto/qtreewidget/tst_qtreewidget.cpp
index 4a74d96..11c4543 100644
--- a/tests/auto/qtreewidget/tst_qtreewidget.cpp
+++ b/tests/auto/qtreewidget/tst_qtreewidget.cpp
@@ -468,6 +468,7 @@ void tst_QTreeWidget::editItem()
QTest::ignoreMessage(QtWarningMsg, "edit: editing failed");
tree.editItem(item, col);
QApplication::instance()->processEvents();
+ QApplication::instance()->processEvents();
QLineEdit *editor = qFindChild<QLineEdit*>(&tree);
if (editor) {
QVERIFY(item->flags() & Qt::ItemIsEditable);
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index b0a26c2..f8341c3 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -8176,7 +8176,7 @@ public:
static bool firstTime = true;
if (firstTime)
- QTimer::singleShot(70, this, SLOT(resizeMe()));
+ QTimer::singleShot(150, this, SLOT(resizeMe()));
firstTime = false;
}
@@ -8193,7 +8193,7 @@ void tst_QWidget::moveInResizeEvent()
testWidget.setGeometry(50, 50, 200, 200);
testWidget.show();
QTest::qWaitForWindowShown(&testWidget);
- QTest::qWait(120);
+ QTest::qWait(160);
QRect expectedGeometry(100,100, 100, 100);
QTRY_COMPARE(testWidget.geometry(), expectedGeometry);
@@ -8674,7 +8674,7 @@ void tst_QWidget::setClearAndResizeMask()
// Mask child widget with a mask that is bigger than the rect
child.setMask(QRegion(0, 0, 1000, 1000));
- QTest::qWait(10);
+ QTest::qWait(100);
#ifdef Q_WS_MAC
// Mac always issues a full update when calling setMask, and we cannot force it to not do so.
QTRY_COMPARE(child.numPaintEvents, 1);
@@ -8686,7 +8686,7 @@ void tst_QWidget::setClearAndResizeMask()
// ...and the same applies when clearing the mask.
child.clearMask();
- QTest::qWait(10);
+ QTest::qWait(100);
#ifdef Q_WS_MAC
// Mac always issues a full update when calling setMask, and we cannot force it to not do so.
QTRY_VERIFY(child.numPaintEvents > 0);
@@ -8711,7 +8711,7 @@ void tst_QWidget::setClearAndResizeMask()
// Disable the size grip on the Mac; otherwise it'll be included when grabbing the window.
resizeParent.setFixedSize(resizeParent.size());
resizeChild.show();
- QTest::qWait(30);
+ QTest::qWait(100);
resizeChild.paintedRegion = QRegion();
QTimer::singleShot(100, &resizeChild, SLOT(shrinkMask()));
@@ -8990,6 +8990,9 @@ void tst_QWidget::syntheticEnterLeave()
void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave()
{
+#ifdef Q_OS_WINCE_WM
+ QSKIP("Windows Mobile has no proper cursor support", SkipAll);
+#endif
class SELParent : public QWidget
{
public:
@@ -9024,12 +9027,11 @@ void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave()
#ifdef Q_WS_X11
qt_x11_wait_for_window_manager(&parent);
#endif
- QTest::qWait(100);
+ QTest::qWait(150);
QCursor::setPos(child.mapToGlobal(QPoint(100, 100)));
- QTest::qWait(100);
// Make sure the cursor has entered the child.
- QVERIFY(child.numEnterEvents > 0);
+ QTRY_VERIFY(child.numEnterEvents > 0);
child.hide();
child.reset();
@@ -9119,7 +9121,7 @@ void tst_QWidget::paintOutsidePaintEvent()
widget.show();
QTest::qWaitForWindowShown(&widget);
- QTest::qWait(20);
+ QTest::qWait(60);
const QPixmap before = QPixmap::grabWindow(widget.winId());
@@ -9129,6 +9131,7 @@ void tst_QWidget::paintOutsidePaintEvent()
painter.fillRect(child1.rect(), Qt::red);
painter.end();
XSync(QX11Info::display(), false); // Flush output buffer.
+ QTest::qWait(60);
const QPixmap after = QPixmap::grabWindow(widget.winId());
diff --git a/tests/auto/qwindowsurface/tst_qwindowsurface.cpp b/tests/auto/qwindowsurface/tst_qwindowsurface.cpp
index 2490a65..25f0f07 100644
--- a/tests/auto/qwindowsurface/tst_qwindowsurface.cpp
+++ b/tests/auto/qwindowsurface/tst_qwindowsurface.cpp
@@ -51,6 +51,9 @@
#include <QDesktopWidget>
#include <QX11Info>
+
+#include "../../shared/util.h"
+
class tst_QWindowSurface : public QObject
{
Q_OBJECT
@@ -238,9 +241,9 @@ void tst_QWindowSurface::grabWidget()
parentWidget.show();
QTest::qWaitForWindowShown(&parentWidget);
- QTest::qWait(220);
-
- QPixmap parentPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget);
+ QPixmap parentPixmap;
+ QTRY_COMPARE((parentPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget)).size(),
+ QSize(300,300));
QPixmap childPixmap = childWidget.windowSurface()->grabWidget(&childWidget);
QPixmap babyPixmap = babyWidget.windowSurface()->grabWidget(&babyWidget);
QPixmap parentSubPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget, QRect(25, 25, 100, 100));
diff --git a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
index 531e48b..bcc988a 100644
--- a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
+++ b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
@@ -14,7 +14,10 @@ if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
win32:PATTERNIST_SDK = $${PATTERNIST_SDK}d
else: PATTERNIST_SDK = $${PATTERNIST_SDK}_debug
}
-LIBS += -l$$PATTERNIST_SDK -lQtXml
+
+LIBS += -l$$PATTERNIST_SDK
+
+QT += xml
INCLUDEPATH += $$QT_SOURCE_TREE/tests/auto/xmlpatternsxqts/lib/ \
$$QT_BUILD_TREE/include/QtXmlPatterns/private \