summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/guiapplauncher/guiapplauncher.pro6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result22
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result16
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result11
-rw-r--r--tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp44
-rw-r--r--tests/auto/qftp/tst_qftp.cpp19
-rw-r--r--tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp2
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp39
-rw-r--r--tests/auto/qhttp/tst_qhttp.cpp2
-rw-r--r--tests/auto/qiodevice/tst_qiodevice.cpp112
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp2
-rw-r--r--tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp23
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp2
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp13
-rw-r--r--tests/auto/qscriptable/tst_qscriptable.cpp2
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp2
-rw-r--r--tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp6
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp33
-rw-r--r--tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp50
-rw-r--r--tests/auto/qstatusbar/tst_qstatusbar.cpp14
-rw-r--r--tests/auto/qtabbar/tst_qtabbar.cpp6
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp8
-rw-r--r--tests/auto/qtcpserver/tst_qtcpserver.cpp2
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp19
-rw-r--r--tests/auto/qtextlayout/tst_qtextlayout.cpp6
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp25
30 files changed, 437 insertions, 75 deletions
diff --git a/tests/auto/guiapplauncher/guiapplauncher.pro b/tests/auto/guiapplauncher/guiapplauncher.pro
index 27c3553..2f81061 100644
--- a/tests/auto/guiapplauncher/guiapplauncher.pro
+++ b/tests/auto/guiapplauncher/guiapplauncher.pro
@@ -14,7 +14,5 @@ SOURCES += tst_guiapplauncher.cpp \
windowmanager.cpp
HEADERS += windowmanager.h
-win32 {
- # process enumeration,etc.
- LIBS+=user32.lib
-}
+# process enumeration,etc.
+win32:LIBS+=-luser32
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp
index 158451a..d99723e 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp
@@ -47,12 +47,21 @@
int main(int argc, char **argv)
{
QApplication a(argc, argv);
+ QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
+
QWidget w;
QLabel label1(QObject::tr("abc", "ascii"), &w);
QLabel label2(QObject::tr("æøå", "utf-8"), &w);
+ QLabel label2a(QObject::tr("\303\246\303\270\303\245", "utf-8 oct"), &w);
+ QLabel label3(QObject::trUtf8("Für Élise", "trUtf8"), &w);
+ QLabel label3a(QObject::trUtf8("F\303\274r \303\211lise", "trUtf8 oct"), &w);
-// I would expect the following to work !?
-// QLabel label3(QObject::trUtf8("F\374r \310lise", "trUtf8"), &w);
+ QBoxLayout *ly = new QVBoxLayout(&w);
+ ly->addWidget(&label1);
+ ly->addWidget(&label2);
+ ly->addWidget(&label2a);
+ ly->addWidget(&label3);
+ ly->addWidget(&label3a);
w.show();
return a.exec();
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result
index bc0d9bb..711bf02 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result
@@ -5,16 +5,34 @@
<context>
<name>QObject</name>
<message>
- <location filename="main.cpp" line="51"/>
+ <location filename="main.cpp" line="53"/>
<source>abc</source>
<comment>ascii</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="52"/>
+ <location filename="main.cpp" line="54"/>
<source>æøå</source>
<comment>utf-8</comment>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="main.cpp" line="55"/>
+ <source>æøå</source>
+ <comment>utf-8 oct</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="56"/>
+ <source>Für Élise</source>
+ <comment>trUtf8</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="57"/>
+ <source>Für Élise</source>
+ <comment>trUtf8 oct</comment>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result
index 91da744..6ee369a 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result
@@ -6,7 +6,7 @@
<name>QObject</name>
<message>
<location filename="main.cpp" line="61"/>
- <source>Á</source>
+ <source>Б</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp
index abb8b89..98b491c 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp
@@ -49,9 +49,11 @@ public:
void doFoo()
{
tr("random ascii only");
- tr("this contains an umlaut &uuml;");
+ tr("this contains an umlaut &uuml; literally");
+ tr("this contains an umlaut \xfc &uuml; escaped");
trUtf8("random ascii only in utf8");
- trUtf8("umlaut \xfc &uuml; in utf8");
+ trUtf8("umlaut ü &uuml; in literal utf8");
+ trUtf8("umlaut \303\274 &uuml; in escaped utf8");
}
};
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result
index 26eb245..d548e24 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result
@@ -11,17 +11,27 @@
</message>
<message>
<location filename="main.cpp" line="52"/>
- <source>this contains an umlaut ü &amp;uuml;</source>
+ <source>this contains an umlaut ü &amp;uuml; literally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cpp" line="53"/>
+ <source>this contains an umlaut ü &amp;uuml; escaped</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="54"/>
<source>random ascii only in utf8</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="main.cpp" line="54"/>
- <source>umlaut ü &amp;uuml; in utf8</source>
+ <location filename="main.cpp" line="55"/>
+ <source>umlaut ü &amp;uuml; in literal utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message utf8="true">
+ <location filename="main.cpp" line="56"/>
+ <source>umlaut ü &amp;uuml; in escaped utf8</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp
index abb8b89..cd93539 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp
@@ -49,9 +49,10 @@ public:
void doFoo()
{
tr("random ascii only");
- tr("this contains an umlaut &uuml;");
+ tr("this contains an umlaut &uuml; literally");
+ tr("this contains an umlaut \303\274 &uuml; escaped, really in utf-8");
trUtf8("random ascii only in utf8");
- trUtf8("umlaut \xfc &uuml; in utf8");
+ trUtf8("umlaut \303\274 &uuml; in escaped utf8");
}
};
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result
index e27c157..6728a25 100644
--- a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result
@@ -11,17 +11,22 @@
</message>
<message>
<location filename="main.cpp" line="52"/>
- <source>this contains an umlaut ü &amp;uuml;</source>
+ <source>this contains an umlaut ü &amp;uuml; literally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cpp" line="53"/>
- <source>random ascii only in utf8</source>
+ <source>this contains an umlaut ü &amp;uuml; escaped, really in utf-8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cpp" line="54"/>
- <source>umlaut ü &amp;uuml; in utf8</source>
+ <source>random ascii only in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="55"/>
+ <source>umlaut ü &amp;uuml; in escaped utf8</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp b/tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp
index 33226bf..f833196 100644
--- a/tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp
+++ b/tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp
@@ -51,6 +51,7 @@
#include <qtimer.h>
#include <QDialog>
#include <QGridLayout>
+#include <QPainter>
Q_DECLARE_METATYPE(QCommandLinkButton*)
@@ -83,7 +84,8 @@ private slots:
void clicked();
void toggled();
void defaultAndAutoDefault();
- void setAutoRepeat();
+ void setAutoRepeat();
+ void heightForWithWithIcon();
protected slots:
void resetCounters();
@@ -106,17 +108,17 @@ private:
void tst_QCommandLinkButton::getSetCheck()
{
QCommandLinkButton obj1;
-
+
QString text("mytext");
QVERIFY(obj1.description().isEmpty());
obj1.setDescription(text);
QVERIFY(obj1.description() == text);
-
+
QVERIFY(obj1.text().isEmpty());
obj1.setText(text);
QVERIFY(obj1.text() == text);
-
-
+
+
QMenu *var1 = new QMenu;
obj1.setMenu(var1);
QCOMPARE(var1, obj1.menu());
@@ -393,8 +395,8 @@ void tst_QCommandLinkButton::setAccel()
QTest::qWait(100);
}
- QVERIFY(testWidget->isActiveWindow());
-
+ QVERIFY(testWidget->isActiveWindow());
+
QTest::keyClick( testWidget, 'A', Qt::AltModifier );
QTest::qWait( 500 );
QVERIFY( click_count == 1 );
@@ -556,5 +558,33 @@ void tst_QCommandLinkButton::defaultAndAutoDefault()
}
}
+void tst_QCommandLinkButton::heightForWithWithIcon()
+{
+ QWidget mainWin;
+
+ QPixmap pixmap(64, 64);
+ {
+ pixmap.fill(Qt::white);
+ QPainter painter(&pixmap);
+ painter.setBrush(Qt::black);
+ painter.drawEllipse(0, 0, 63, 63);
+ }
+
+ QCommandLinkButton *largeIconButton = new QCommandLinkButton(QString("Large Icon"),
+ QString("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris nibh lectus, adipiscing eu."),
+ &mainWin);
+ largeIconButton->setIconSize(QSize(64, 64));
+ largeIconButton->setIcon(pixmap);
+
+ QVBoxLayout *layout = new QVBoxLayout();
+ layout->addWidget(largeIconButton);
+ layout->addStretch();
+ mainWin.setLayout(layout);
+ mainWin.showMaximized();
+ QTest::qWaitForWindowShown(&mainWin);
+ QVERIFY(largeIconButton->height() > 68); //enough room for the icon
+
+}
+
QTEST_MAIN(tst_QCommandLinkButton)
#include "tst_qcommandlinkbutton.moc"
diff --git a/tests/auto/qftp/tst_qftp.cpp b/tests/auto/qftp/tst_qftp.cpp
index 1e7f424..263c957 100644
--- a/tests/auto/qftp/tst_qftp.cpp
+++ b/tests/auto/qftp/tst_qftp.cpp
@@ -618,7 +618,7 @@ void tst_QFtp::get()
}
addCommand( QFtp::Close, ftp->close() );
- QTestEventLoop::instance().enterLoop( 30 );
+ QTestEventLoop::instance().enterLoop( 50 );
delete ftp;
if ( QTestEventLoop::instance().timeout() )
QFAIL( "Network operation timed out" );
@@ -1020,7 +1020,7 @@ void tst_QFtp::renameInit( const QString &host, const QString &user, const QStri
addCommand( QFtp::Put, ftp->put( QByteArray(), createFile ) );
addCommand( QFtp::Close, ftp->close() );
- QTestEventLoop::instance().enterLoop( 30 );
+ QTestEventLoop::instance().enterLoop( 50 );
delete ftp;
if ( QTestEventLoop::instance().timeout() )
QFAIL( "Network operation timed out" );
@@ -1295,14 +1295,18 @@ void tst_QFtp::abort_data()
// Qt/CE and Symbian test environment has to less memory for this test
#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
QByteArray bigData( 10*1024*1024, 0 );
+#else
+ QByteArray bigData( 1*1024*1024, 0 );
+#endif
bigData.fill( 'B' );
-
QTest::newRow( "put_fluke01" ) << QtNetworkSettings::serverName() << (uint)21 << QString("qtest/upload/abort_put") << bigData;
-#endif
}
void tst_QFtp::abort()
{
+ // In case you wonder where the abort() actually happens, look into
+ // tst_QFtp::dataTransferProgress
+ //
QFETCH( QString, host );
QFETCH( uint, port );
QFETCH( QString, file );
@@ -1324,7 +1328,7 @@ void tst_QFtp::abort()
addCommand( QFtp::Close, ftp->close() );
for(int time = 0; time <= uploadData.length() / 30000; time += 30) {
- QTestEventLoop::instance().enterLoop( 30 );
+ QTestEventLoop::instance().enterLoop( 50 );
if(ftp->currentCommand() == QFtp::None)
break;
}
@@ -1493,7 +1497,7 @@ void tst_QFtp::proxy()
addCommand( QFtp::Cd, ftp->cd( dir ) );
addCommand( QFtp::List, ftp->list() );
- QTestEventLoop::instance().enterLoop( 30 );
+ QTestEventLoop::instance().enterLoop( 50 );
delete ftp;
if ( QTestEventLoop::instance().timeout() ) {
@@ -1921,7 +1925,7 @@ bool tst_QFtp::fileExists( const QString &host, quint16 port, const QString &use
delete ftp;
if ( QTestEventLoop::instance().timeout() ) {
// ### make this test work
- qWarning("Network operation timed out");
+ qWarning("tst_QFtp::fileExists: Network operation timed out");
return FALSE;
}
inFileDirExistsFunction = FALSE;
@@ -1972,6 +1976,7 @@ bool tst_QFtp::dirExists( const QString &host, quint16 port, const QString &user
if ( QTestEventLoop::instance().timeout() ) {
// ### make this test work
// QFAIL( "Network operation timed out" );
+ qWarning("tst_QFtp::dirExists: Network operation timed out");
return FALSE;
}
inFileDirExistsFunction = FALSE;
diff --git a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp
index bca59c3..baa1ba1 100644
--- a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp
+++ b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp
@@ -167,7 +167,7 @@ public:
{
setContentsMargins( 0,0,0,0 );
if (name.isEmpty())
- setData(0, QString::fromAscii("w%1").arg(int(this)));
+ setData(0, QString::fromAscii("w%1").arg(quintptr(this)));
else
setData(0, name);
}
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index 1ff06c2..797e1fb 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -235,6 +235,7 @@ private slots:
void task259503_scrollingArtifacts();
void QTBUG_4151_clipAndIgnore_data();
void QTBUG_4151_clipAndIgnore();
+ void QTBUG_5859_exposedRect();
};
void tst_QGraphicsView::initTestCase()
@@ -3867,5 +3868,43 @@ void tst_QGraphicsView::QTBUG_4151_clipAndIgnore()
QCOMPARE(view.items(view.rect()).size(), numItems);
}
+void tst_QGraphicsView::QTBUG_5859_exposedRect()
+{
+ class CustomScene : public QGraphicsScene
+ {
+ public:
+ CustomScene(const QRectF &rect) : QGraphicsScene(rect) { }
+ void drawBackground(QPainter *painter, const QRectF &rect)
+ { lastBackgroundExposedRect = rect; }
+ QRectF lastBackgroundExposedRect;
+ };
+
+ class CustomRectItem : public QGraphicsRectItem
+ {
+ public:
+ CustomRectItem(const QRectF &rect) : QGraphicsRectItem(rect)
+ { setFlag(QGraphicsItem::ItemUsesExtendedStyleOption); }
+ void paint(QPainter * painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
+ { lastExposedRect = option->exposedRect; }
+ QRectF lastExposedRect;
+ };
+
+ CustomScene scene(QRectF(0,0,50,50));
+
+ CustomRectItem item(scene.sceneRect());
+
+ scene.addItem(&item);
+
+ QGraphicsView view(&scene);
+ view.scale(4.15, 4.15);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ view.viewport()->repaint(10,10,20,20);
+ QApplication::processEvents();
+
+ QCOMPARE(item.lastExposedRect, scene.lastBackgroundExposedRect);
+}
+
QTEST_MAIN(tst_QGraphicsView)
#include "tst_qgraphicsview.moc"
diff --git a/tests/auto/qhttp/tst_qhttp.cpp b/tests/auto/qhttp/tst_qhttp.cpp
index 0ea0d15..b4b6ceb 100644
--- a/tests/auto/qhttp/tst_qhttp.cpp
+++ b/tests/auto/qhttp/tst_qhttp.cpp
@@ -363,7 +363,7 @@ void tst_QHttp::get()
}
addRequest( QHttpRequestHeader(), getId );
- QTestEventLoop::instance().enterLoop( 30 );
+ QTestEventLoop::instance().enterLoop( 50 );
if ( QTestEventLoop::instance().timeout() )
QFAIL( "Network operation timed out" );
diff --git a/tests/auto/qiodevice/tst_qiodevice.cpp b/tests/auto/qiodevice/tst_qiodevice.cpp
index 056ad6a..84fd8ad 100644
--- a/tests/auto/qiodevice/tst_qiodevice.cpp
+++ b/tests/auto/qiodevice/tst_qiodevice.cpp
@@ -77,6 +77,9 @@ private slots:
void readLine_data();
void readLine();
+
+ void readLine2_data();
+ void readLine2();
};
// Testing get/set functions
@@ -453,5 +456,114 @@ void tst_QIODevice::readLine()
QCOMPARE(line.size(), linelen);
}
+void tst_QIODevice::readLine2_data()
+{
+ QTest::addColumn<QByteArray>("line");
+
+ QTest::newRow("1024 - 4") << QByteArray(1024 - 4, 'x');
+ QTest::newRow("1024 - 3") << QByteArray(1024 - 3, 'x');
+ QTest::newRow("1024 - 2") << QByteArray(1024 - 2, 'x');
+ QTest::newRow("1024 - 1") << QByteArray(1024 - 1, 'x');
+ QTest::newRow("1024" ) << QByteArray(1024 , 'x');
+ QTest::newRow("1024 + 1") << QByteArray(1024 + 1, 'x');
+ QTest::newRow("1024 + 2") << QByteArray(1024 + 2, 'x');
+
+ QTest::newRow("4096 - 4") << QByteArray(4096 - 4, 'x');
+ QTest::newRow("4096 - 3") << QByteArray(4096 - 3, 'x');
+ QTest::newRow("4096 - 2") << QByteArray(4096 - 2, 'x');
+ QTest::newRow("4096 - 1") << QByteArray(4096 - 1, 'x');
+ QTest::newRow("4096" ) << QByteArray(4096 , 'x');
+ QTest::newRow("4096 + 1") << QByteArray(4096 + 1, 'x');
+ QTest::newRow("4096 + 2") << QByteArray(4096 + 2, 'x');
+
+ QTest::newRow("8192 - 4") << QByteArray(8192 - 4, 'x');
+ QTest::newRow("8192 - 3") << QByteArray(8192 - 3, 'x');
+ QTest::newRow("8192 - 2") << QByteArray(8192 - 2, 'x');
+ QTest::newRow("8192 - 1") << QByteArray(8192 - 1, 'x');
+ QTest::newRow("8192" ) << QByteArray(8192 , 'x');
+ QTest::newRow("8192 + 1") << QByteArray(8192 + 1, 'x');
+ QTest::newRow("8192 + 2") << QByteArray(8192 + 2, 'x');
+
+ QTest::newRow("16384 - 4") << QByteArray(16384 - 4, 'x');
+ QTest::newRow("16384 - 3") << QByteArray(16384 - 3, 'x');
+ QTest::newRow("16384 - 2") << QByteArray(16384 - 2, 'x');
+ QTest::newRow("16384 - 1") << QByteArray(16384 - 1, 'x');
+ QTest::newRow("16384" ) << QByteArray(16384 , 'x');
+ QTest::newRow("16384 + 1") << QByteArray(16384 + 1, 'x');
+ QTest::newRow("16384 + 2") << QByteArray(16384 + 2, 'x');
+
+ QTest::newRow("20000") << QByteArray(20000, 'x');
+
+ QTest::newRow("32768 - 4") << QByteArray(32768 - 4, 'x');
+ QTest::newRow("32768 - 3") << QByteArray(32768 - 3, 'x');
+ QTest::newRow("32768 - 2") << QByteArray(32768 - 2, 'x');
+ QTest::newRow("32768 - 1") << QByteArray(32768 - 1, 'x');
+ QTest::newRow("32768" ) << QByteArray(32768 , 'x');
+ QTest::newRow("32768 + 1") << QByteArray(32768 + 1, 'x');
+ QTest::newRow("32768 + 2") << QByteArray(32768 + 2, 'x');
+
+ QTest::newRow("40000") << QByteArray(40000, 'x');
+}
+
+void tst_QIODevice::readLine2()
+{
+ QFETCH(QByteArray, line);
+
+ int length = line.size();
+
+ QByteArray data("First line.\r\n");
+ data.append(line);
+ data.append("\r\n");
+ data.append(line);
+ data.append("\r\n");
+ data.append("\r\n0123456789");
+
+ {
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ buffer.seek(0);
+ QByteArray temp;
+ temp.resize(64536);
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(13));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(length + 2));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(length + 2));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(2));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(10));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(-1));
+
+ buffer.seek(0);
+ QCOMPARE(buffer.readLine().size(), 13);
+ QCOMPARE(buffer.readLine().size(), length + 2);
+ QCOMPARE(buffer.readLine().size(), length + 2);
+ QCOMPARE(buffer.readLine().size(), 2);
+ QCOMPARE(buffer.readLine().size(), 10);
+ QVERIFY(buffer.readLine().isNull());
+ }
+
+ {
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly | QIODevice::Text);
+
+ buffer.seek(0);
+ QByteArray temp;
+ temp.resize(64536);
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(12));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(length + 1));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(length + 1));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(1));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(10));
+ QCOMPARE(buffer.readLine(temp.data(), temp.size()), qint64(-1));
+
+ buffer.seek(0);
+ QCOMPARE(buffer.readLine().size(), 12);
+ QCOMPARE(buffer.readLine().size(), length + 1);
+ QCOMPARE(buffer.readLine().size(), length + 1);
+ QCOMPARE(buffer.readLine().size(), 1);
+ QCOMPARE(buffer.readLine().size(), 10);
+ QVERIFY(buffer.readLine().isNull());
+ }
+}
+
QTEST_MAIN(tst_QIODevice)
#include "tst_qiodevice.moc"
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 596ac9b..605b3e3 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -1895,6 +1895,8 @@ void tst_QListView::taskQTBUG_5877_skippingItemInPageDownUp()
vu.setModel(&model);
vu.show();
+ QTest::qWaitForWindowShown(&vu);
+
int itemHeight = vu.visualRect(model.index(0, 0)).height();
int visibleRowCount = vu.height() / itemHeight;
int scrolledRowCount = visibleRowCount - 1;
diff --git a/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp b/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
index ff7e78e..b52c515 100644
--- a/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
+++ b/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
@@ -168,13 +168,16 @@ void tst_QNetworkCookieJar::setCookiesFromUrl_data()
cookie.setDomain("something.completely.different");
QTest::newRow("security-domain-1") << preset << cookie << "http://www.foo.tld" << result << false;
- cookie.setDomain("www.foo.tld");
+ // we want the cookie to be accepted although the path does not match, see QTBUG-5815
+ cookie.setDomain(".foo.tld");
cookie.setPath("/something");
- QTest::newRow("security-path-1") << preset << cookie << "http://www.foo.tld" << result << false;
+ result += cookie;
+ QTest::newRow("security-path-1") << preset << cookie << "http://www.foo.tld" << result << true;
// setting the defaults:
finalCookie = cookie;
finalCookie.setPath("/something/");
+ finalCookie.setDomain("www.foo.tld");
cookie.setPath("");
cookie.setDomain("");
result.clear();
@@ -285,6 +288,22 @@ void tst_QNetworkCookieJar::cookiesForUrl_data()
QTest::newRow("exp-match-4") << allCookies << "http://qt.nokia.com/web" << result;
QTest::newRow("exp-match-4") << allCookies << "http://qt.nokia.com/web/" << result;
QTest::newRow("exp-match-6") << allCookies << "http://qt.nokia.com/web/content" << result;
+
+ // path matching
+ allCookies.clear();
+ QNetworkCookie anotherCookie;
+ anotherCookie.setName("a");
+ anotherCookie.setPath("/web");
+ anotherCookie.setDomain(".nokia.com");
+ allCookies += anotherCookie;
+ result.clear();
+ QTest::newRow("path-unmatch-1") << allCookies << "http://nokia.com/" << result;
+ QTest::newRow("path-unmatch-2") << allCookies << "http://nokia.com/something/else" << result;
+ result += anotherCookie;
+ QTest::newRow("path-match-1") << allCookies << "http://nokia.com/web" << result;
+ QTest::newRow("path-match-2") << allCookies << "http://nokia.com/web/" << result;
+ QTest::newRow("path-match-3") << allCookies << "http://nokia.com/web/content" << result;
+
}
void tst_QNetworkCookieJar::cookiesForUrl()
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index bd83c47..09456ed 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -2622,7 +2622,7 @@ void tst_QNetworkReply::ioPostToHttpFromSocket()
QSignalSpy authenticationRequiredSpy(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)));
QSignalSpy proxyAuthenticationRequiredSpy(&manager, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
- QTestEventLoop::instance().enterLoop(6);
+ QTestEventLoop::instance().enterLoop(12);
disconnect(&manager, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
this, SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
disconnect(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)),
diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp
index d7f042e..0effd01 100644
--- a/tests/auto/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/qpixmap/tst_qpixmap.cpp
@@ -47,6 +47,7 @@
#include <qmatrix.h>
#include <qdesktopwidget.h>
#include <qpaintengine.h>
+#include <qsplashscreen.h>
#include <private/qpixmapdata_p.h>
@@ -169,6 +170,7 @@ private slots:
void loadFromDataNullValues();
void preserveDepth();
+ void splash_crash();
};
static bool lenientCompare(const QPixmap &actual, const QPixmap &expected)
@@ -1421,6 +1423,17 @@ void tst_QPixmap::fromImage_crash()
delete img;
}
+//This is testing QPixmapData::createCompatiblePixmapData - see QTBUG-5977
+void tst_QPixmap::splash_crash()
+{
+ QPixmap pix;
+ pix = QPixmap(":/images/designer.png");
+ QSplashScreen splash(pix);
+ splash.show();
+ QCoreApplication::processEvents();
+ splash.close();
+}
+
void tst_QPixmap::fromData()
{
unsigned char bits[] = { 0xaa, 0x55 };
diff --git a/tests/auto/qscriptable/tst_qscriptable.cpp b/tests/auto/qscriptable/tst_qscriptable.cpp
index 90f1db8..c0945d8 100644
--- a/tests/auto/qscriptable/tst_qscriptable.cpp
+++ b/tests/auto/qscriptable/tst_qscriptable.cpp
@@ -332,7 +332,7 @@ void tst_QScriptable::thisObject()
{
QVERIFY(!m_scriptable.oofThisObject().isValid());
m_engine.evaluate("o.oof = 123");
- QEXPECT_FAIL("", "Setter doesn't get called when it's in the prototype", Continue);
+ QEXPECT_FAIL("", "QTBUG-5749: Setter doesn't get called when it's in the prototype", Continue);
QVERIFY(m_scriptable.oofThisObject().strictlyEquals(m_engine.evaluate("o")));
}
{
diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
index a0af214..4ecd887 100644
--- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
+++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
@@ -1114,7 +1114,7 @@ void tst_QScriptContext::calledAsConstructor()
QVERIFY(!fun3.property("calledAsConstructor").toBool());
eng.evaluate("new test();");
if (qt_script_isJITEnabled())
- QEXPECT_FAIL("", "calledAsConstructor is not correctly set for JS functions when JIT is enabled", Continue);
+ QEXPECT_FAIL("", "QTBUG-6132: calledAsConstructor is not correctly set for JS functions when JIT is enabled", Continue);
QVERIFY(fun3.property("calledAsConstructor").toBool());
}
diff --git a/tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp b/tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp
index fe69c07..09ef820 100644
--- a/tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp
+++ b/tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp
@@ -249,13 +249,13 @@ void tst_QScriptContextInfo::qtFunction()
QCOMPARE(info.functionEndLineNumber(), -1);
QCOMPARE(info.functionStartLineNumber(), -1);
if (x == 0)
- QEXPECT_FAIL("", "QScriptContextInfo doesn't pick the correct meta-index for overloaded slots", Continue);
+ QEXPECT_FAIL("", "QTBUG-6133: QScriptContextInfo doesn't pick the correct meta-index for overloaded slots", Continue);
QCOMPARE(info.functionParameterNames().size(), pnames.size());
if (x == 0)
- QEXPECT_FAIL("", "QScriptContextInfo doesn't pick the correct meta-index for overloaded slots", Continue);
+ QEXPECT_FAIL("", "QTBUG-6133: QScriptContextInfo doesn't pick the correct meta-index for overloaded slots", Continue);
QCOMPARE(info.functionParameterNames(), pnames);
if (x == 0)
- QEXPECT_FAIL("", "QScriptContextInfo doesn't pick the correct meta-index for overloaded slots", Continue);
+ QEXPECT_FAIL("", "QTBUG-6133: QScriptContextInfo doesn't pick the correct meta-index for overloaded slots", Continue);
QCOMPARE(info.functionMetaIndex(), metaObject()->indexOfMethod(sig));
}
diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp
index 8eaad78..3bc2443 100644
--- a/tests/auto/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp
@@ -1148,7 +1148,7 @@ void tst_QScriptEngine::globalObjectProperties()
QScriptValue::PropertyFlags flags = QScriptValue::ReadOnly | QScriptValue::SkipInEnumeration;
global.setProperty(name, val, flags);
QVERIFY(global.property(name).equals(val));
- QEXPECT_FAIL("", "custom Global Object properties don't retain attributes", Continue);
+ QEXPECT_FAIL("", "QTBUG-6134: custom Global Object properties don't retain attributes", Continue);
QCOMPARE(global.propertyFlags(name), flags);
global.setProperty(name, QScriptValue());
QVERIFY(!global.property(name).isValid());
@@ -2033,7 +2033,7 @@ void tst_QScriptEngine::valueConversion()
QScriptValue val = qScriptValueFromValue(&eng, in);
QVERIFY(val.isRegExp());
QRegExp out = val.toRegExp();
- QEXPECT_FAIL("", "JSC-based back-end doesn't preserve QRegExp::patternSyntax (always uses RegExp2)", Continue);
+ QEXPECT_FAIL("", "QTBUG-6136: JSC-based back-end doesn't preserve QRegExp::patternSyntax (always uses RegExp2)", Continue);
QCOMPARE(out.patternSyntax(), in.patternSyntax());
QCOMPARE(out.pattern(), in.pattern());
QCOMPARE(out.caseSensitivity(), in.caseSensitivity());
@@ -2050,7 +2050,7 @@ void tst_QScriptEngine::valueConversion()
in.setMinimal(true);
QScriptValue val = qScriptValueFromValue(&eng, in);
QVERIFY(val.isRegExp());
- QEXPECT_FAIL("", "JSC-based back-end doesn't preserve QRegExp::minimal (always false)", Continue);
+ QEXPECT_FAIL("", "QTBUG-6136: JSC-based back-end doesn't preserve QRegExp::minimal (always false)", Continue);
QCOMPARE(val.toRegExp().isMinimal(), in.isMinimal());
}
}
@@ -2505,7 +2505,7 @@ void tst_QScriptEngine::stacktrace()
QVERIFY(eng.hasUncaughtException());
QVERIFY(result.isError());
- QEXPECT_FAIL("", "", Abort);
+ QEXPECT_FAIL("", "QTBUG-6139: uncaughtExceptionBacktrace() doesn't give the full backtrace", Abort);
QCOMPARE(eng.uncaughtExceptionBacktrace(), backtrace);
QVERIFY(eng.hasUncaughtException());
QVERIFY(result.strictlyEquals(eng.uncaughtException()));
@@ -3045,7 +3045,7 @@ void tst_QScriptEngine::errorConstructors()
eng.clearExceptions();
QVERIFY(ret.toString().startsWith(name));
if (x != 0)
- QEXPECT_FAIL("", "JSC doesn't assign lineNumber when errors are not thrown", Continue);
+ QEXPECT_FAIL("", "QTBUG-6138: JSC doesn't assign lineNumber when errors are not thrown", Continue);
QCOMPARE(ret.property("lineNumber").toInt32(), i+2);
}
}
@@ -3063,14 +3063,19 @@ void tst_QScriptEngine::argumentsProperty()
{
{
QScriptEngine eng;
- QEXPECT_FAIL("", "", Continue);
- QVERIFY(eng.evaluate("arguments").isUndefined());
+ {
+ QScriptValue ret = eng.evaluate("arguments");
+ QVERIFY(ret.isError());
+ QCOMPARE(ret.toString(), QString::fromLatin1("ReferenceError: Can't find variable: arguments"));
+ }
eng.evaluate("arguments = 10");
- QScriptValue ret = eng.evaluate("arguments");
- QVERIFY(ret.isNumber());
- QCOMPARE(ret.toInt32(), 10);
- QEXPECT_FAIL("", "", Continue);
- QVERIFY(!eng.evaluate("delete arguments").toBoolean());
+ {
+ QScriptValue ret = eng.evaluate("arguments");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 10);
+ }
+ QVERIFY(eng.evaluate("delete arguments").toBoolean());
+ QVERIFY(!eng.globalObject().property("arguments").isValid());
}
{
QScriptEngine eng;
@@ -3081,11 +3086,11 @@ void tst_QScriptEngine::argumentsProperty()
}
{
QScriptEngine eng;
+ QVERIFY(!eng.globalObject().property("arguments").isValid());
QScriptValue ret = eng.evaluate("(function() { arguments = 456; return arguments; })()");
QVERIFY(ret.isNumber());
QCOMPARE(ret.toInt32(), 456);
- QEXPECT_FAIL("", "", Continue);
- QVERIFY(eng.evaluate("arguments").isUndefined());
+ QVERIFY(!eng.globalObject().property("arguments").isValid());
}
{
diff --git a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp
index 032c34b..b061eb2 100644
--- a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp
+++ b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp
@@ -114,6 +114,7 @@ private slots:
void evaluateProgram();
void evaluateProgram_SyntaxError();
void evaluateNullProgram();
+ void QTBUG6108();
private:
double m_testProperty;
@@ -475,7 +476,7 @@ void tst_QScriptEngineAgent::scriptLoadAndUnload_eval()
spy->clear();
eng.evaluate("eval('function foo() { print(123); }')");
- QEXPECT_FAIL("","Eval is threaded in different way that in old backend", Abort);
+ QEXPECT_FAIL("","QTBUG-6140 Eval is threaded in different way that in old backend", Abort);
QCOMPARE(spy->count(), 3);
QCOMPARE(spy->at(0).type, ScriptEngineEvent::ScriptLoad);
@@ -1160,16 +1161,16 @@ void tst_QScriptEngineAgent::positionChange_1()
{
spy->clear();
eng.evaluate(";");
- QEXPECT_FAIL("","JSC do not evaluate ';' to statemant",Continue);
+ QEXPECT_FAIL("","QTBUG-6142 JSC do not evaluate ';' to statemant",Continue);
QCOMPARE(spy->count(), 1);
if (spy->count()) {
- QEXPECT_FAIL("","JSC do not evaluate ';' to statemant",Continue);
+ QEXPECT_FAIL("","QTBUG-6142 JSC do not evaluate ';' to statemant",Continue);
QCOMPARE(spy->at(0).type, ScriptEngineEvent::PositionChange);
- QEXPECT_FAIL("","JSC do not evaluate ';' to statemant",Continue);
+ QEXPECT_FAIL("","QTBUG-6142 JSC do not evaluate ';' to statemant",Continue);
QVERIFY(spy->at(0).scriptId != -1);
- QEXPECT_FAIL("","JSC do not evaluate ';' to statemant",Continue);
+ QEXPECT_FAIL("","QTBUG-6142 JSC do not evaluate ';' to statemant",Continue);
QCOMPARE(spy->at(0).lineNumber, 1);
- QEXPECT_FAIL("","JSC do not evaluate ';' to statemant",Continue);
+ QEXPECT_FAIL("","QTBUG-6142 JSC do not evaluate ';' to statemant",Continue);
QCOMPARE(spy->at(0).columnNumber, 1);
}
}
@@ -1551,7 +1552,7 @@ void tst_QScriptEngineAgent::positionChange_2()
}
{
- QEXPECT_FAIL("","I believe the test is wrong. Expressions shouldn't call positionChange "
+ QEXPECT_FAIL("","QTBUG-6142 I believe the test is wrong. Expressions shouldn't call positionChange "
"because statement '1+2' will call it at least twice, why debugger have to "
"stop here so many times?", Abort);
spy->clear();
@@ -2088,8 +2089,6 @@ void tst_QScriptEngineAgent::syntaxError()
i = 2;
QCOMPARE(spy->at(i).type, ScriptEngineEvent::ContextPush);
- QEXPECT_FAIL("","The test is broken, contextPush event do not provide scriptId", Continue);
- QVERIFY(spy->at(i).scriptId == -1);
i = 3;
QCOMPARE(spy->at(i).type, ScriptEngineEvent::FunctionEntry);
QVERIFY(spy->at(i).scriptId == -1);
@@ -2098,14 +2097,12 @@ void tst_QScriptEngineAgent::syntaxError()
QVERIFY(spy->at(i).scriptId == -1);
i = 5;
QCOMPARE(spy->at(i).type, ScriptEngineEvent::ContextPop);
- QEXPECT_FAIL("","The test is broken, contextPop event do not provide scriptId", Continue);
- QVERIFY(spy->at(i).scriptId == -1);
i = 6;
QCOMPARE(spy->at(i).type, ScriptEngineEvent::ExceptionThrow);
QCOMPARE(spy->at(i).scriptId, spy->at(0).scriptId);
QVERIFY(!spy->at(i).hasExceptionHandler);
QVERIFY(spy->at(i).value.isError());
- QEXPECT_FAIL("","There are other messages in JSC",Continue);
+ QEXPECT_FAIL("","QTBUG-6137 There are other messages in JSC",Continue);
QCOMPARE(spy->at(i).value.toString(), QString("SyntaxError: Expected `}'"));
QCOMPARE(spy->at(i).scriptId, spy->at(0).scriptId);
i = 7;
@@ -2138,7 +2135,7 @@ void tst_QScriptEngineAgent::extension_invoctaion()
QCOMPARE(spy->at(1).lineNumber, lineNumber);
QCOMPARE(spy->at(1).columnNumber, 1);
- QEXPECT_FAIL("","In JSC Eval('debugger') returns undefined",Abort);
+ QEXPECT_FAIL("","QTBUG-6135 In JSC Eval('debugger') returns undefined",Abort);
QVERIFY(ret.isString());
QCOMPARE(ret.toString(), QString::fromLatin1("extension(DebuggerInvocationRequest)"));
}
@@ -2306,5 +2303,32 @@ void tst_QScriptEngineAgent::evaluateNullProgram()
QCOMPARE(spy->count(), 0);
}
+void tst_QScriptEngineAgent::QTBUG6108()
+{
+ QScriptEngine eng;
+ ScriptEngineSpy *spy = new ScriptEngineSpy(&eng);
+ eng.evaluate("eval('a = 1')");
+ QCOMPARE(spy->count(), 5);
+
+ QCOMPARE(spy->at(0).type, ScriptEngineEvent::ScriptLoad);
+ QVERIFY(spy->at(0).scriptId != -1);
+
+ QCOMPARE(spy->at(1).type, ScriptEngineEvent::FunctionEntry);
+ QVERIFY(spy->at(1).scriptId != -1);
+ QCOMPARE(spy->at(1).scriptId, spy->at(0).scriptId);
+
+ QCOMPARE(spy->at(2).type, ScriptEngineEvent::PositionChange);
+ QVERIFY(spy->at(2).scriptId != -1);
+ QCOMPARE(spy->at(2).scriptId, spy->at(0).scriptId);
+ QCOMPARE(spy->at(2).lineNumber, 1);
+
+ QCOMPARE(spy->at(3).type, ScriptEngineEvent::FunctionExit);
+ QVERIFY(spy->at(3).scriptId != -1);
+ QCOMPARE(spy->at(3).scriptId, spy->at(0).scriptId);
+
+ QCOMPARE(spy->at(4).type, ScriptEngineEvent::ScriptUnload);
+ QCOMPARE(spy->at(4).scriptId, spy->at(0).scriptId);
+}
+
QTEST_MAIN(tst_QScriptEngineAgent)
#include "tst_qscriptengineagent.moc"
diff --git a/tests/auto/qstatusbar/tst_qstatusbar.cpp b/tests/auto/qstatusbar/tst_qstatusbar.cpp
index 9774559..92d9185 100644
--- a/tests/auto/qstatusbar/tst_qstatusbar.cpp
+++ b/tests/auto/qstatusbar/tst_qstatusbar.cpp
@@ -77,6 +77,7 @@ private slots:
void insertPermanentWidget();
void setSizeGripEnabled();
void task194017_hiddenWidget();
+ void QTBUG4334_hiddenOnMaximizedWindow();
private:
QStatusBar *testWidget;
@@ -257,6 +258,19 @@ void tst_QStatusBar::task194017_hiddenWidget()
QVERIFY(!label->isVisible());
}
+void tst_QStatusBar::QTBUG4334_hiddenOnMaximizedWindow()
+{
+ QMainWindow main;
+ QStatusBar statusbar;
+ statusbar.setSizeGripEnabled(true);
+ main.setStatusBar(&statusbar);
+ main.showMaximized();
+ QTest::qWaitForWindowShown(&main);
+ QVERIFY(!statusbar.findChild<QSizeGrip*>()->isVisible());
+ main.showNormal();
+ QTest::qWaitForWindowShown(&main);
+ QVERIFY(statusbar.findChild<QSizeGrip*>()->isVisible());
+}
QTEST_MAIN(tst_QStatusBar)
#include "tst_qstatusbar.moc"
diff --git a/tests/auto/qtabbar/tst_qtabbar.cpp b/tests/auto/qtabbar/tst_qtabbar.cpp
index 2db72b9..e83312d 100644
--- a/tests/auto/qtabbar/tst_qtabbar.cpp
+++ b/tests/auto/qtabbar/tst_qtabbar.cpp
@@ -295,6 +295,10 @@ void tst_QTabBar::setUsesScrollButtons()
if (usesArrows != -128)
tabBar.setUsesScrollButtons(usesArrows);
QTEST(tabBar.usesScrollButtons(), "expectedArrows");
+
+ // Make sure style sheet does not override user set mode
+ tabBar.setStyleSheet("QWidget { background-color: #ABA8A6;}");
+ QTEST(tabBar.usesScrollButtons(), "expectedArrows");
}
void tst_QTabBar::removeLastTab()
@@ -532,7 +536,7 @@ void tst_QTabBar::task251184_removeTab()
QCOMPARE(bar.count(), 1);
QCOMPARE(bar.currentIndex(), 0);
- QCOMPARE(bar.tabText(bar.currentIndex()), QString("bar2"));
+ QCOMPARE(bar.tabText(bar.currentIndex()), QString("bar2"));
}
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index 46c3fb6..50d6c67 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -3016,6 +3016,14 @@ void tst_QTableView::spans_data()
<< QPoint(2, 0)
<< 1
<< 2;
+
+ QTest::newRow("QTBUG-6004: No failing Q_ASSERT, then it passes.")
+ << 5 << 5
+ << (SpanList() << QRect(0, 0, 2, 2) << QRect(0, 0, 1, 1))
+ << false
+ << QPoint(0, 0)
+ << 1
+ << 1;
}
void tst_QTableView::spans()
diff --git a/tests/auto/qtcpserver/tst_qtcpserver.cpp b/tests/auto/qtcpserver/tst_qtcpserver.cpp
index 2540096..8b86111 100644
--- a/tests/auto/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/qtcpserver/tst_qtcpserver.cpp
@@ -523,7 +523,7 @@ void tst_QTcpServer::waitForConnectionTest()
QTcpSocket findLocalIpSocket;
findLocalIpSocket.connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(findLocalIpSocket.waitForConnected(2000));
+ QVERIFY(findLocalIpSocket.waitForConnected(5000));
QTcpServer server;
bool timeout = false;
diff --git a/tests/auto/qtextedit/tst_qtextedit.cpp b/tests/auto/qtextedit/tst_qtextedit.cpp
index fee030c..bebc4bd 100644
--- a/tests/auto/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/qtextedit/tst_qtextedit.cpp
@@ -200,6 +200,7 @@ private slots:
void pasteFromQt3RichText();
void noWrapBackgrounds();
void preserveCharFormatAfterUnchangingSetPosition();
+ void twoSameInputMethodEvents();
private:
void createSelection();
@@ -2183,5 +2184,23 @@ void tst_QTextEdit::preserveCharFormatAfterUnchangingSetPosition()
QCOMPARE(edit.textColor(), color);
}
+// Regression test for QTBUG-4696
+void tst_QTextEdit::twoSameInputMethodEvents()
+{
+ ed->setText("testLine");
+ ed->show();
+ QList<QInputMethodEvent::Attribute> attributes;
+ attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Cursor,
+ ed->textCursor().position(),
+ 0,
+ QVariant()));
+
+ QInputMethodEvent event("PreEditText", attributes);
+ QApplication::sendEvent(ed, &event);
+ QCOMPARE(ed->document()->firstBlock().layout()->lineCount(), 1);
+ QApplication::sendEvent(ed, &event);
+ QCOMPARE(ed->document()->firstBlock().layout()->lineCount(), 1);
+}
+
QTEST_MAIN(tst_QTextEdit)
#include "tst_qtextedit.moc"
diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp
index 7c3f4f2..1df26b8 100644
--- a/tests/auto/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp
@@ -1115,14 +1115,14 @@ void tst_QTextLayout::testTabDPIScale()
QTextOption option = layout.textOption();
QList<QTextOption::Tab> tabs;
QTextOption::Tab tab;
- tab.position = 200;
+ tab.position = 300;
tabs.append(tab);
- tab.position = 400;
+ tab.position = 600;
tab.type = QTextOption::RightTab;
tabs.append(tab);
- tab.position = 600;
+ tab.position = 800;
tab.type = QTextOption::CenterTab;
tabs.append(tab);
option.setTabs(tabs);
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 9692c6e..1e3f5f8 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -384,6 +384,8 @@ private slots:
void activateWindow();
+ void openModal_taskQTBUG_5804();
+
#ifdef Q_OS_SYMBIAN
void cbaVisibility();
#endif
@@ -9583,6 +9585,29 @@ void tst_QWidget::activateWindow()
QTRY_VERIFY(!mainwindow2->isActiveWindow());
}
+void tst_QWidget::openModal_taskQTBUG_5804()
+{
+ class Widget : public QWidget
+ {
+ public:
+ Widget(QWidget *parent) : QWidget(parent)
+ {
+ }
+ ~Widget()
+ {
+ QMessageBox msgbox;
+ QTimer::singleShot(10, &msgbox, SLOT(accept()));
+ msgbox.exec(); //open a modal dialog
+ }
+ };
+
+ QWidget *win = new QWidget;
+ new Widget(win);
+ win->show();
+ QTest::qWaitForWindowShown(win);
+ delete win;
+}
+
#ifdef Q_OS_SYMBIAN
void tst_QWidget::cbaVisibility()
{