summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/cmake/test_private_includes/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp48
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp20
-rw-r--r--tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro1
-rw-r--r--tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp3
-rw-r--r--tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp26
-rw-r--r--tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-128.pngbin0 -> 5415 bytes
-rw-r--r--tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-16.pngbin0 -> 629 bytes
-rw-r--r--tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-32.pngbin0 -> 1154 bytes
-rw-r--r--tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-128.pngbin0 -> 4398 bytes
-rw-r--r--tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-16.pngbin0 -> 583 bytes
-rw-r--r--tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-32.pngbin0 -> 1092 bytes
-rw-r--r--tests/auto/gui/image/qicon/tst_qicon.cpp42
-rw-r--r--tests/auto/gui/image/qicon/tst_qicon.qrc6
-rw-r--r--tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp10
-rw-r--r--tests/auto/network/access/qnetworkreply/test/test.pro5
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp4
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp60
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp52
-rw-r--r--tests/manual/manual.pro3
-rw-r--r--tests/manual/unc/main.cpp89
-rw-r--r--tests/manual/unc/test.html10
-rw-r--r--tests/manual/unc/unc.pro6
23 files changed, 350 insertions, 37 deletions
diff --git a/tests/auto/cmake/test_private_includes/CMakeLists.txt b/tests/auto/cmake/test_private_includes/CMakeLists.txt
index f283bc21b3..9095836ed8 100644
--- a/tests/auto/cmake/test_private_includes/CMakeLists.txt
+++ b/tests/auto/cmake/test_private_includes/CMakeLists.txt
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8)
project(test_private_includes)
-find_package(Qt5Gui REQUIRED)
+find_package(Qt5Gui REQUIRED Private)
include_directories(
${Qt5Gui_INCLUDE_DIRS}
diff --git a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
index 616fe33309..6329160998 100644
--- a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
@@ -102,6 +102,7 @@ private slots:
void moreToFromUnicode();
void shiftJis();
+ void userCodec();
};
void tst_QTextCodec::toUnicode_data()
@@ -2312,6 +2313,53 @@ void tst_QTextCodec::shiftJis()
QCOMPARE(encoded, backslashTilde);
}
+struct UserCodec : public QTextCodec
+{
+ // implement pure virtuals
+ QByteArray name() const Q_DECL_OVERRIDE
+ { return "UserCodec"; }
+ QList<QByteArray> aliases() const Q_DECL_OVERRIDE
+ { return QList<QByteArray>() << "usercodec" << "user-codec"; }
+ int mibEnum() const Q_DECL_OVERRIDE
+ { return 5000; }
+
+ virtual QString convertToUnicode(const char *, int, ConverterState *) const Q_DECL_OVERRIDE
+ { return QString(); }
+ virtual QByteArray convertFromUnicode(const QChar *, int, ConverterState *) const Q_DECL_OVERRIDE
+ { return QByteArray(); }
+};
+
+void tst_QTextCodec::userCodec()
+{
+ // check that it isn't there
+ static bool executedOnce = false;
+ if (executedOnce)
+ QSKIP("Test already executed once");
+
+ QVERIFY(!QTextCodec::availableCodecs().contains("UserCodec"));
+ QVERIFY(!QTextCodec::codecForName("UserCodec"));
+
+ QTextCodec *codec = new UserCodec;
+ executedOnce = true;
+
+ QList<QByteArray> availableCodecs = QTextCodec::availableCodecs();
+ QVERIFY(availableCodecs.contains("UserCodec"));
+ QVERIFY(availableCodecs.contains("usercodec"));
+ QVERIFY(availableCodecs.contains("user-codec"));
+
+ QTextCodec *pcodec = QTextCodec::codecForName("UserCodec");
+ QCOMPARE(pcodec, codec);
+
+ pcodec = QTextCodec::codecForName("user-codec");
+ QCOMPARE(pcodec, codec);
+
+ pcodec = QTextCodec::codecForName("User-Codec");
+ QCOMPARE(pcodec, codec);
+
+ pcodec = QTextCodec::codecForMib(5000);
+ QCOMPARE(pcodec, codec);
+}
+
struct DontCrashAtExit {
~DontCrashAtExit() {
QTextCodec *c = QTextCodec::codecForName("utf8");
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
index 3862553a4b..f2759dfd6e 100644
--- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
+++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
@@ -82,6 +82,7 @@ private slots:
void constructing();
void simpleStart();
void startWithOpen();
+ void startWithOldOpen();
void execute();
void startDetached();
void crashTest();
@@ -297,6 +298,25 @@ void tst_QProcess::startWithOpen()
}
//-----------------------------------------------------------------------------
+void tst_QProcess::startWithOldOpen()
+{
+ // similar to the above, but we start with start() actually
+ // while open() is overridden to call QIODevice::open().
+ // This tests the BC requirement that "it works with the old implementation"
+ class OverriddenOpen : public QProcess
+ {
+ public:
+ virtual bool open(OpenMode mode) Q_DECL_OVERRIDE
+ { return QIODevice::open(mode); }
+ };
+
+ OverriddenOpen p;
+ p.start("testProcessNormal/testProcessNormal");
+ QVERIFY(p.waitForStarted(5000));
+ QVERIFY(p.waitForFinished(5000));
+}
+
+//-----------------------------------------------------------------------------
void tst_QProcess::execute()
{
QCOMPARE(QProcess::execute("testProcessNormal/testProcessNormal",
diff --git a/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro b/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro
index 679f9bbda4..bec6c1e17e 100644
--- a/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro
+++ b/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro
@@ -3,3 +3,4 @@ TARGET = tst_qeasingcurve
QT = core testlib
SOURCES = tst_qeasingcurve.cpp
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
+linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):DEFINES+=UBUNTU_ONEIRIC # QTBUG-32432
diff --git a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
index 2099d978c0..fa747b3c18 100644
--- a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
+++ b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
@@ -434,6 +434,9 @@ void tst_QEasingCurve::setCustomType()
QCOMPARE(curve.valueForProgress(0.15), 0.1);
QCOMPARE(curve.valueForProgress(0.20), 0.2);
QCOMPARE(curve.valueForProgress(0.25), 0.2);
+#if defined(UBUNTU_ONEIRIC) && defined(__i386__)
+ QEXPECT_FAIL("", "QTBUG-32432: Fails on Ubuntu 11.10 32 bit configurations", Abort);
+#endif
QCOMPARE(curve.valueForProgress(0.30), 0.3);
QCOMPARE(curve.valueForProgress(0.35), 0.3);
QCOMPARE(curve.valueForProgress(0.999999), 0.9);
diff --git a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
index 54aa563d99..91e69fcdb7 100644
--- a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
+++ b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
@@ -70,12 +70,12 @@ class tst_QDBusAbstractInterface: public QObject
return Pinger(new org::qtproject::QtDBus::Pinger(service, path, con));
}
- Pinger getPingerPeer(const QString &path = "/")
+ Pinger getPingerPeer(const QString &path = "/", const QString &service = "")
{
QDBusConnection con = QDBusConnection("peer");
if (!con.isConnected())
return Pinger();
- return Pinger(new org::qtproject::QtDBus::Pinger("", path, con));
+ return Pinger(new org::qtproject::QtDBus::Pinger(service, path, con));
}
void resetServer()
@@ -197,6 +197,10 @@ private slots:
void directPropertyReadErrorsPeer();
void directPropertyWriteErrorsPeer_data();
void directPropertyWriteErrorsPeer();
+
+ void validity_data();
+ void validity();
+
private:
QProcess proc;
};
@@ -1389,5 +1393,23 @@ void tst_QDBusAbstractInterface::directPropertyWriteErrorsPeer()
QTEST(p->lastError().name(), "errorName");
}
+void tst_QDBusAbstractInterface::validity_data()
+{
+ QTest::addColumn<QString>("service");
+
+ QTest::newRow("null-service") << "";
+ QTest::newRow("ignored-service") << "org.example.anyservice";
+}
+
+void tst_QDBusAbstractInterface::validity()
+{
+ /* Test case for QTBUG-32374 */
+ QFETCH(QString, service);
+ Pinger p = getPingerPeer("/", service);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QVERIFY(p->isValid());
+}
+
QTEST_MAIN(tst_QDBusAbstractInterface)
#include "tst_qdbusabstractinterface.moc"
diff --git a/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-128.png b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-128.png
new file mode 100644
index 0000000000..8a052e829d
--- /dev/null
+++ b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-128.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-16.png b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-16.png
new file mode 100644
index 0000000000..08cdc2b91f
--- /dev/null
+++ b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-16.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-32.png b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-32.png
new file mode 100644
index 0000000000..db33c79852
--- /dev/null
+++ b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-open-32.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-128.png b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-128.png
new file mode 100644
index 0000000000..fc6fd7ce1d
--- /dev/null
+++ b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-128.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-16.png b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-16.png
new file mode 100644
index 0000000000..dd4e228280
--- /dev/null
+++ b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-16.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-32.png b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-32.png
new file mode 100644
index 0000000000..177678c963
--- /dev/null
+++ b/tests/auto/gui/image/qicon/styles/commonstyle/images/standardbutton-save-32.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/tst_qicon.cpp b/tests/auto/gui/image/qicon/tst_qicon.cpp
index 6c62d6f1b4..2ce6fc5058 100644
--- a/tests/auto/gui/image/qicon/tst_qicon.cpp
+++ b/tests/auto/gui/image/qicon/tst_qicon.cpp
@@ -375,32 +375,32 @@ void tst_QIcon::detach()
void tst_QIcon::addFile()
{
QIcon icon;
- icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png"));
- icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-32.png"));
- icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-128.png"));
- icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-16.png"), QSize(), QIcon::Selected);
- icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-32.png"), QSize(), QIcon::Selected);
- icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-128.png"), QSize(), QIcon::Selected);
+ icon.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png"));
+ icon.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-open-32.png"));
+ icon.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-open-128.png"));
+ icon.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-save-16.png"), QSize(), QIcon::Selected);
+ icon.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-save-32.png"), QSize(), QIcon::Selected);
+ icon.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-save-128.png"), QSize(), QIcon::Selected);
#ifndef Q_OS_WINCE
QVERIFY(icon.pixmap(16, QIcon::Normal).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png")).toImage());
QVERIFY(icon.pixmap(32, QIcon::Normal).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-32.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-open-32.png")).toImage());
QVERIFY(icon.pixmap(128, QIcon::Normal).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-128.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-open-128.png")).toImage());
QVERIFY(icon.pixmap(16, QIcon::Selected).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-16.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-save-16.png")).toImage());
QVERIFY(icon.pixmap(32, QIcon::Selected).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-32.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-save-32.png")).toImage());
QVERIFY(icon.pixmap(128, QIcon::Selected).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-128.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-save-128.png")).toImage());
#else
// WinCE only includes the 16x16 images for size reasons
QVERIFY(icon.pixmap(16, QIcon::Normal).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png")).toImage());
QVERIFY(icon.pixmap(16, QIcon::Selected).toImage() ==
- QPixmap(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-save-16.png")).toImage());
+ QPixmap(QLatin1String(":/styles/commonstyle/images/standardbutton-save-16.png")).toImage());
#endif
}
@@ -437,11 +437,8 @@ void tst_QIcon::availableSizes()
{
// we try to load an icon from resources
- QIcon icon(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png"));
+ QIcon icon(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png"));
QList<QSize> availableSizes = icon.availableSizes();
-#ifdef QT_NO_WIDGETS
- QEXPECT_FAIL("", "See QTBUG-31993", Abort);
-#endif
QCOMPARE(availableSizes.size(), 1);
QCOMPARE(availableSizes.at(0), QSize(16, 16));
}
@@ -449,7 +446,7 @@ void tst_QIcon::availableSizes()
{
// load an icon from binary data.
QPixmap pix;
- QFile file(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png"));
+ QFile file(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png"));
QVERIFY(file.open(QIODevice::ReadOnly));
uchar *data = file.map(0, file.size());
QVERIFY(data != 0);
@@ -629,18 +626,15 @@ void tst_QIcon::fromTheme()
void tst_QIcon::task223279_inconsistentAddFile()
{
QIcon icon1;
- icon1.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png"));
+ icon1.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png"));
icon1.addFile(QLatin1String("IconThatDoesntExist"), QSize(32, 32));
QPixmap pm1 = icon1.pixmap(32, 32);
QIcon icon2;
- icon2.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png"));
+ icon2.addFile(QLatin1String(":/styles/commonstyle/images/standardbutton-open-16.png"));
icon2.addFile(QLatin1String("IconThatDoesntExist"));
QPixmap pm2 = icon1.pixmap(32, 32);
-#ifdef QT_NO_WIDGETS
- QEXPECT_FAIL("", "See QTBUG-31993", Abort);
-#endif
QCOMPARE(pm1.isNull(), false);
QCOMPARE(pm1.size(), QSize(16,16));
QCOMPARE(pm1.isNull(), pm2.isNull());
diff --git a/tests/auto/gui/image/qicon/tst_qicon.qrc b/tests/auto/gui/image/qicon/tst_qicon.qrc
index 7925a33c84..469a0a21b4 100644
--- a/tests/auto/gui/image/qicon/tst_qicon.qrc
+++ b/tests/auto/gui/image/qicon/tst_qicon.qrc
@@ -16,5 +16,11 @@
<file>./icons/themeparent/index.theme</file>
<file>./icons/themeparent/scalable/actions/address-book-new.svg</file>
<file>./icons/themeparent/scalable/actions/appointment-new.svg</file>
+<file>./styles/commonstyle/images/standardbutton-open-16.png</file>
+<file>./styles/commonstyle/images/standardbutton-open-32.png</file>
+<file>./styles/commonstyle/images/standardbutton-open-128.png</file>
+<file>./styles/commonstyle/images/standardbutton-save-16.png</file>
+<file>./styles/commonstyle/images/standardbutton-save-32.png</file>
+<file>./styles/commonstyle/images/standardbutton-save-128.png</file>
</qresource>
</RCC>
diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
index ed07b3fab5..663f664d94 100644
--- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
+++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
@@ -372,8 +372,8 @@ public:
int leaves;
int enters;
- inline BlockableWindow()
- : QWindow(), blocked(false), leaves(0), enters(0) {}
+ inline explicit BlockableWindow(QWindow *parent = 0)
+ : QWindow(parent), blocked(false), leaves(0), enters(0) {}
bool event(QEvent *e)
{
@@ -416,10 +416,13 @@ void tst_QGuiApplication::modalWindow()
window1->setTitle(QStringLiteral("window1"));
window1->resize(windowSize, windowSize);
window1->setFramePosition(QPoint(x, y));
+ BlockableWindow *childWindow1 = new BlockableWindow(window1.data());
+ childWindow1->resize(windowSize / 2, windowSize / 2);
x += spacing + windowSize;
QScopedPointer<BlockableWindow> window2(new BlockableWindow);
window2->setTitle(QStringLiteral("window2"));
+ window2->setFlags(window2->flags() & Qt::Tool); // QTBUG-32433, don't be fooled by unusual window flags.
window2->resize(windowSize, windowSize);
window2->setFramePosition(QPoint(x, y));
x += spacing + windowSize;
@@ -458,6 +461,7 @@ void tst_QGuiApplication::modalWindow()
QVERIFY(QTest::qWaitForWindowExposed(window2.data()));
QCOMPARE(app.modalWindow(), static_cast<QWindow *>(0));
QCOMPARE(window1->blocked, 0);
+ QCOMPARE(childWindow1->blocked, 0);
QCOMPARE(window2->blocked, 0);
QCOMPARE(windowModalWindow1->blocked, 0);
QCOMPARE(windowModalWindow2->blocked, 0);
@@ -473,6 +477,7 @@ void tst_QGuiApplication::modalWindow()
applicationModalWindow1->show();
QCOMPARE(app.modalWindow(), applicationModalWindow1.data());
QCOMPARE(window1->blocked, 1);
+ QCOMPARE(childWindow1->blocked, 1); // QTBUG-32242, blocked status needs to be set on children as well.
QCOMPARE(window2->blocked, 1);
QCOMPARE(windowModalWindow1->blocked, 1);
QCOMPARE(windowModalWindow2->blocked, 1);
@@ -500,6 +505,7 @@ void tst_QGuiApplication::modalWindow()
applicationModalWindow1->hide();
QCOMPARE(app.modalWindow(), static_cast<QWindow *>(0));
QCOMPARE(window1->blocked, 0);
+ QCOMPARE(childWindow1->blocked, 0); // QTBUG-32242, blocked status needs to be set on children as well.
QCOMPARE(window2->blocked, 0);
QCOMPARE(windowModalWindow1->blocked, 0);
QCOMPARE(windowModalWindow2->blocked, 0);
diff --git a/tests/auto/network/access/qnetworkreply/test/test.pro b/tests/auto/network/access/qnetworkreply/test/test.pro
index 93a8cbad55..cc58843eef 100644
--- a/tests/auto/network/access/qnetworkreply/test/test.pro
+++ b/tests/auto/network/access/qnetworkreply/test/test.pro
@@ -1,19 +1,16 @@
CONFIG += testcase
testcase.timeout = 600 # this test is slow
-CONFIG += parallel_test
CONFIG -= app_bundle debug_and_release_target
-QT -= gui
SOURCES += ../tst_qnetworkreply.cpp
TARGET = ../tst_qnetworkreply
-contains(QT_CONFIG,xcb): CONFIG+=insignificant_test # unstable, QTBUG-21102
-
QT = core-private network-private testlib
RESOURCES += ../qnetworkreply.qrc
TESTDATA += ../empty ../rfc3252.txt ../resource ../bigfile ../*.jpg ../certs \
../index.html ../smb-file.txt
+contains(QT_CONFIG,xcb): CONFIG+=insignificant_test # unstable, QTBUG-21102
win32:CONFIG += insignificant_test # QTBUG-24226
TEST_HELPER_INSTALLS = ../echo/echo
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 81c3e48d61..2bf8f71d31 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -7537,6 +7537,10 @@ void tst_QNetworkReply::backgroundRequestInterruption()
QNetworkSessionPrivate::setUsagePolicies(*const_cast<QNetworkSession *>(session.data()), original);
QVERIFY(reply->isFinished());
+#ifdef Q_OS_MACX
+ if (QSysInfo::MacintoshVersion == QSysInfo::MV_10_8)
+ QEXPECT_FAIL("ftp, bg, nobg", "See QTBUG-32435", Abort);
+#endif
QCOMPARE(reply->error(), error);
#endif
}
diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
index 159f276c77..9887acf7dd 100644
--- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
@@ -78,6 +78,9 @@ private slots:
void listenAndConnect_data();
void listenAndConnect();
+ void connectWithOpen();
+ void connectWithOldOpen();
+
void sendData_data();
void sendData();
@@ -267,6 +270,7 @@ void tst_QLocalSocket::socket_basic()
//QCOMPARE(socket.socketDescriptor(), (qintptr)-1);
QCOMPARE(socket.state(), QLocalSocket::UnconnectedState);
QCOMPARE(socket.waitForConnected(0), false);
+ QTest::ignoreMessage(QtWarningMsg, "QLocalSocket::waitForDisconnected() is not allowed in UnconnectedState");
QCOMPARE(socket.waitForDisconnected(0), false);
QCOMPARE(socket.waitForReadyRead(0), false);
@@ -310,6 +314,7 @@ void tst_QLocalSocket::listen()
QVERIFY(server.errorString().isEmpty());
QCOMPARE(server.serverError(), QAbstractSocket::UnknownSocketError);
// already isListening
+ QTest::ignoreMessage(QtWarningMsg, "QLocalServer::listen() called when already listening");
QVERIFY(!server.listen(name));
} else {
QVERIFY(!server.errorString().isEmpty());
@@ -452,6 +457,54 @@ void tst_QLocalSocket::listenAndConnect()
QCOMPARE(spyNewConnection.count(), (canListen ? connections : 0));
}
+void tst_QLocalSocket::connectWithOpen()
+{
+ LocalServer server;
+ QVERIFY(server.listen("tst_qlocalsocket"));
+
+ LocalSocket socket;
+ socket.setServerName("tst_qlocalsocket");
+ QVERIFY(socket.open());
+
+ bool timedOut = true;
+ QVERIFY(server.waitForNewConnection(3000, &timedOut));
+
+#if defined(QT_LOCALSOCKET_TCP)
+ QTest::qWait(250);
+#endif
+ QVERIFY(!timedOut);
+
+ socket.close();
+ server.close();
+}
+
+void tst_QLocalSocket::connectWithOldOpen()
+{
+ class OverriddenOpen : public LocalSocket
+ {
+ public:
+ virtual bool open(OpenMode mode) Q_DECL_OVERRIDE
+ { return QIODevice::open(mode); }
+ };
+
+ LocalServer server;
+ QCOMPARE(server.listen("tst_qlocalsocket"), true);
+
+ OverriddenOpen socket;
+ socket.connectToServer("tst_qlocalsocket");
+
+ bool timedOut = true;
+ QVERIFY(server.waitForNewConnection(3000, &timedOut));
+
+#if defined(QT_LOCALSOCKET_TCP)
+ QTest::qWait(250);
+#endif
+ QVERIFY(!timedOut);
+
+ socket.close();
+ server.close();
+}
+
void tst_QLocalSocket::sendData_data()
{
listenAndConnect_data();
@@ -964,15 +1017,16 @@ void tst_QLocalSocket::writeToClientAndDisconnect()
clientSocket->close();
server.close();
- QTRY_COMPARE(readChannelFinishedSpy.count(), 1);
- QCOMPARE(client.read(buffer, sizeof(buffer)), (qint64)sizeof(buffer));
client.waitForDisconnected();
+ QCOMPARE(readChannelFinishedSpy.count(), 1);
+ QCOMPARE(client.read(buffer, sizeof(buffer)), (qint64)sizeof(buffer));
QCOMPARE(client.state(), QLocalSocket::UnconnectedState);
}
void tst_QLocalSocket::debug()
{
// Make sure this compiles
+ QTest::ignoreMessage(QtDebugMsg, "QLocalSocket::ConnectionRefusedError QLocalSocket::UnconnectedState ");
qDebug() << QLocalSocket::ConnectionRefusedError << QLocalSocket::UnconnectedState;
}
@@ -1104,7 +1158,7 @@ void tst_QLocalSocket::verifyListenWithDescriptor()
QFETCH(bool, abstract);
QFETCH(bool, bound);
- qDebug() << "socket" << path << abstract;
+// qDebug() << "socket" << path << abstract;
int listenSocket;
diff --git a/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp b/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
index dd432912f3..55fcd96dc0 100644
--- a/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
@@ -61,6 +61,8 @@ private slots:
void movingItems();
void connectedToSceneRectChanged();
void items();
+ void boundingRectPointIntersection_data();
+ void boundingRectPointIntersection();
void removeItems();
void clear();
@@ -233,6 +235,56 @@ void tst_QGraphicsSceneIndex::items()
QCOMPARE(scene.items().size(), 3);
}
+class CustomShapeItem : public QGraphicsItem
+{
+public:
+ CustomShapeItem(const QPainterPath &shape) : QGraphicsItem(0), mShape(shape) {}
+
+ QPainterPath shape() const { return mShape; }
+ QRectF boundingRect() const { return mShape.boundingRect(); }
+ void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) {}
+private:
+ QPainterPath mShape;
+};
+
+Q_DECLARE_METATYPE(Qt::ItemSelectionMode)
+Q_DECLARE_METATYPE(QPainterPath)
+
+void tst_QGraphicsSceneIndex::boundingRectPointIntersection_data()
+{
+ QTest::addColumn<QPainterPath>("itemShape");
+ QTest::addColumn<Qt::ItemSelectionMode>("mode");
+
+ QTest::newRow("zero shape - intersects rect") << QPainterPath() << Qt::IntersectsItemBoundingRect;
+ QTest::newRow("zero shape - contains rect") << QPainterPath() << Qt::ContainsItemBoundingRect;
+
+ QPainterPath triangle;
+ triangle.moveTo(50, 0);
+ triangle.lineTo(0, 50);
+ triangle.lineTo(100, 50);
+ triangle.lineTo(50, 0);
+ QTest::newRow("triangle shape - intersects rect") << triangle << Qt::IntersectsItemBoundingRect;
+ QTest::newRow("triangle shape - contains rect") << triangle << Qt::ContainsItemBoundingRect;
+
+ QPainterPath rect;
+ rect.addRect(QRectF(0, 0, 100, 100));
+ QTest::newRow("rectangle shape - intersects rect") << rect << Qt::IntersectsItemBoundingRect;
+ QTest::newRow("rectangle shape - contains rect") << rect << Qt::ContainsItemBoundingRect;
+}
+
+void tst_QGraphicsSceneIndex::boundingRectPointIntersection()
+{
+ QFETCH(QPainterPath, itemShape);
+ QFETCH(Qt::ItemSelectionMode, mode);
+
+ QGraphicsScene scene;
+ CustomShapeItem *item = new CustomShapeItem(itemShape);
+ scene.addItem(item);
+ QList<QGraphicsItem*> items = scene.items(QPointF(0, 0), mode, Qt::AscendingOrder);
+ QVERIFY(!items.isEmpty());
+ QCOMPARE(items.first(), item);
+}
+
class RectWidget : public QGraphicsWidget
{
Q_OBJECT
diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro
index d6c3cd8048..c04f22b53b 100644
--- a/tests/manual/manual.pro
+++ b/tests/manual/manual.pro
@@ -41,7 +41,8 @@ widgetgrab \
xembed-raster \
xembed-widgets \
dialogs \
-windowtransparency
+windowtransparency \
+unc
!contains(QT_CONFIG, openssl):!contains(QT_CONFIG, openssl-linked):SUBDIRS -= qssloptions
diff --git a/tests/manual/unc/main.cpp b/tests/manual/unc/main.cpp
new file mode 100644
index 0000000000..51ceb87e28
--- /dev/null
+++ b/tests/manual/unc/main.cpp
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QDialog>
+#include <QVBoxLayout>
+#include <QLabel>
+
+class Dialog : public QDialog
+{
+public:
+ Dialog()
+ {
+ QString localFile("test.html");
+ // server/shared/test.html should be replaced to point to a real file
+ QString UNCPath("file://server/shared/test.html");
+
+ QVBoxLayout* vBox = new QVBoxLayout();
+ vBox->addWidget(new QLabel("Clicking on the links should open their"
+ " contents in the default browser !"));
+ vBox->addWidget(createLink(localFile));
+ vBox->addWidget(new QLabel("The following link must point to "
+ "a file in a shared folder on a network !"));
+ vBox->addWidget(createLink(UNCPath));
+ setLayout(vBox);
+ }
+
+protected:
+ QLabel* createLink(QString path)
+ {
+ QLabel *label = new QLabel();
+ label->setTextFormat(Qt::RichText);
+ label->setTextInteractionFlags(Qt::TextBrowserInteraction);
+ label->setOpenExternalLinks(true);
+
+ QString link("<a href=" + path + ">" + path + "</a>");
+
+ label->setText(link);
+ return label;
+ }
+};
+
+int main(int argc, char* argv[])
+{
+ QApplication app(argc, argv);
+
+ Dialog dlg;
+ dlg.show();
+
+ return app.exec();
+}
diff --git a/tests/manual/unc/test.html b/tests/manual/unc/test.html
new file mode 100644
index 0000000000..2e84ad5385
--- /dev/null
+++ b/tests/manual/unc/test.html
@@ -0,0 +1,10 @@
+<HTML>
+ <HEAD>
+ <TITLE>
+ A Small Hello
+ </TITLE>
+ </HEAD>
+<BODY>
+ <P>This is first html document.</P>
+</BODY>
+</HTML>
diff --git a/tests/manual/unc/unc.pro b/tests/manual/unc/unc.pro
new file mode 100644
index 0000000000..977bd0c177
--- /dev/null
+++ b/tests/manual/unc/unc.pro
@@ -0,0 +1,6 @@
+QT += core gui
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TEMPLATE = app
+
+SOURCES += main.cpp