diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-10 20:45:46 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-10 20:45:46 +0100 |
commit | 6c090cd8d0e501b340190d96854145deb2299b26 (patch) | |
tree | 73dbee34347724a55de8180d61caa3e78b512aa3 /tests/auto | |
parent | ebc76aeea24389e8494b95fd3fbdc446dd62d441 (diff) | |
parent | 74580d00921ce7cc6f8baf70b15903f5cf707b78 (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.h
tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
tests/auto/quick/qquicktextedit/qquicktextedit.pro
tests/auto/quick/qquicktextinput/qquicktextinput.pro
Change-Id: I95d2c20a8619e5b8fa361c941a16dd8dce3e04e7
Diffstat (limited to 'tests/auto')
7 files changed, 256 insertions, 1 deletions
diff --git a/tests/auto/cmake/test_plugins/CMakeLists.txt b/tests/auto/cmake/test_plugins/CMakeLists.txt index 9cbfbb657e..a23f9c332c 100644 --- a/tests/auto/cmake/test_plugins/CMakeLists.txt +++ b/tests/auto/cmake/test_plugins/CMakeLists.txt @@ -1,7 +1,9 @@ project(test_plugins) cmake_minimum_required(VERSION 2.8) -cmake_policy(SET CMP0056 NEW) +if (POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) +endif() find_package(Qt5Qml REQUIRED) diff --git a/tests/auto/qml/qqmlvaluetypeproviders/data/changedSignal.qml b/tests/auto/qml/qqmlvaluetypeproviders/data/changedSignal.qml new file mode 100644 index 0000000000..fed4cf4cbc --- /dev/null +++ b/tests/auto/qml/qqmlvaluetypeproviders/data/changedSignal.qml @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 2016 basysKom GmbH, opensource@basyskom.com. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** 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 The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 + +Item { + property bool success: false + property bool complete: false + + property vector2d v2: Qt.vector2d(-2, 0) + property vector3d v3: Qt.vector3d(-2, 0, 0) + property vector4d v4: Qt.vector4d(-2, 0, 0, 0) + + property int v2ChangedSignalCount; + property int v3ChangedSignalCount; + property int v4ChangedSignalCount; + + onV2Changed: v2ChangedSignalCount++ + onV3Changed: v3ChangedSignalCount++ + onV4Changed: v4ChangedSignalCount++ + + Component.onCompleted: { + complete = false; + success = true; + + // storing the initial value causes a signal emission + if (v2ChangedSignalCount !== 1) success = false + v2 = Qt.vector2d(-2, 0); + // setting the same value again must not emit a signal + if (v2ChangedSignalCount !== 1) success = false + v2.x++ + if (v2ChangedSignalCount !== 2) success = false + v2.x++ // cycle through 0, 0 which is the default value + if (v2ChangedSignalCount !== 3) success = false + v2.x++ + if (v2ChangedSignalCount !== 4) success = false + + // storing the initial value causes a signal emission + if (v3ChangedSignalCount !== 1) success = false + v3 = Qt.vector3d(-2, 0, 0); + // setting the same value again must not emit a signal + if (v3ChangedSignalCount !== 1) success = false + v3.x++ + if (v3ChangedSignalCount !== 2) success = false + v3.x++ // cycle through 0, 0, 0 which is the default value + if (v3ChangedSignalCount !== 3) success = false + v3.x++ + if (v3ChangedSignalCount !== 4) success = false + + // storing the initial value causes a signal emission + if (v4ChangedSignalCount !== 1) success = false + v4 = Qt.vector4d(-2, 0, 0, 0); + // setting the same value again must not emit a signal + if (v4ChangedSignalCount !== 1) success = false + v4.x++ + if (v4ChangedSignalCount !== 2) success = false + v4.x++ // cycle through 0, 0, 0 which is the default value + if (v4ChangedSignalCount !== 3) success = false + v4.x++ + if (v4ChangedSignalCount !== 4) success = false + + complete = true; + } +} diff --git a/tests/auto/qml/qqmlvaluetypeproviders/tst_qqmlvaluetypeproviders.cpp b/tests/auto/qml/qqmlvaluetypeproviders/tst_qqmlvaluetypeproviders.cpp index 58fca2d9d9..a38dff21fa 100644 --- a/tests/auto/qml/qqmlvaluetypeproviders/tst_qqmlvaluetypeproviders.cpp +++ b/tests/auto/qml/qqmlvaluetypeproviders/tst_qqmlvaluetypeproviders.cpp @@ -36,6 +36,7 @@ #include <QQmlComponent> #include <QQmlContext> #include <QDebug> +#include <QScopedPointer> #include <private/qqmlglobal_p.h> #include <private/qquickvaluetypes_p.h> #include "../../shared/util.h" @@ -66,6 +67,7 @@ private slots: void jsObjectConversion(); void invokableFunctions(); void userType(); + void changedSignal(); }; void tst_qqmlvaluetypeproviders::initTestCase() @@ -291,6 +293,18 @@ void tst_qqmlvaluetypeproviders::userType() QCOMPARE(obj->property("success").toBool(), true); } +void tst_qqmlvaluetypeproviders::changedSignal() +{ + QQmlEngine e; + QQmlComponent component(&e, testFileUrl("changedSignal.qml")); + QVERIFY(!component.isError()); + QVERIFY(component.errors().isEmpty()); + QScopedPointer<QObject> object(component.create()); + QVERIFY(object != 0); + QVERIFY(object->property("complete").toBool()); + QVERIFY(object->property("success").toBool()); +} + QTEST_MAIN(tst_qqmlvaluetypeproviders) #include "tst_qqmlvaluetypeproviders.moc" diff --git a/tests/auto/quick/qquicklistview/data/qtbug50105.qml b/tests/auto/quick/qquicklistview/data/qtbug50105.qml new file mode 100644 index 0000000000..a48a881a21 --- /dev/null +++ b/tests/auto/quick/qquicklistview/data/qtbug50105.qml @@ -0,0 +1,130 @@ +import QtQuick 2.4 +import QtQuick.Window 2.2 + +Window { + id : mainWindow + visible: true + width: 800 + height: 480 + + property real gridListWidth : (width * 0.60) + property real gridListHeight : (height * 0.50) + + property real gridCellSpacing : (height * 0.004) + property real gridCellHeight : (height * 0.039) + property real gridCellWidth : (width * 0.20) + + Rectangle { + id : rectBackground + anchors.fill: parent + color : "white" + + ListView { + id : ls + width: mainWindow.gridListWidth + height: mainWindow.gridListHeight + clip : true + headerPositioning: ListView.OverlayHeader + spacing : mainWindow.gridCellSpacing + + model: ListModel { + ListElement { + name: "Bill Smith" + number: "555 3264" + hairColor: "red" + } + ListElement { + name: "John Brown" + number: "484 7789" + hairColor: "blue" + } + ListElement { + name: "Sam Wise" + number: "284 1547" + hairColor: "yellow" + } + } + + header : Row { + spacing : mainWindow.gridCellSpacing + + Rectangle { + width : mainWindow.gridCellWidth + height : mainWindow.gridCellHeight + color : "blue" + + Text { + anchors.centerIn: parent + color : "white" + text: "Name" + } + } + + Rectangle { + width : mainWindow.gridCellWidth + height : mainWindow.gridCellHeight + color : "blue" + + Text { + anchors.centerIn: parent + color : "white" + text: "Number" + } + + } + + Rectangle { + width : mainWindow.gridCellWidth + height : mainWindow.gridCellHeight + color : "blue" + + Text { + anchors.centerIn: parent + color : "white" + text: "Hair Color" + } + } + } + + delegate: Row { + spacing : mainWindow.gridCellSpacing + + Rectangle { + width : mainWindow.gridCellWidth + height : mainWindow.gridCellHeight + color : "red" + + Text { + anchors.centerIn: parent + color : "white" + text: name + } + } + + Rectangle { + width : mainWindow.gridCellWidth + height : mainWindow.gridCellHeight + color : "red" + + Text { + anchors.centerIn: parent + color : "white" + text: number + } + } + + Rectangle { + width : mainWindow.gridCellWidth + height : mainWindow.gridCellHeight + color : "red" + + Text { + anchors.centerIn: parent + color : "white" + text: hairColor + } + } + } + } + } +} diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index 86add7435c..c50559fcc3 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -252,6 +252,7 @@ private slots: void QTBUG_48044_currentItemNotVisibleAfterTransition(); void QTBUG_48870_fastModelUpdates(); + void QTBUG_50105(); void keyNavigationEnabled(); private: @@ -8505,6 +8506,18 @@ void tst_QQuickListView::QTBUG_48870_fastModelUpdates() delete window; } +// infinite loop in overlay header positioning due to undesired rounding in QQuickFlickablePrivate::fixup() +void tst_QQuickListView::QTBUG_50105() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.loadUrl(testFileUrl("qtbug50105.qml")); + + QScopedPointer<QQuickWindow> window(qobject_cast<QQuickWindow *>(component.create())); + QVERIFY(window.data()); + QVERIFY(QTest::qWaitForWindowExposed(window.data())); +} + QTEST_MAIN(tst_QQuickListView) #include "tst_qquicklistview.moc" diff --git a/tests/auto/quick/qquicktextedit/qquicktextedit.pro b/tests/auto/quick/qquicktextedit/qquicktextedit.pro index a61f46cb49..ea6e8bc60d 100644 --- a/tests/auto/quick/qquicktextedit/qquicktextedit.pro +++ b/tests/auto/quick/qquicktextedit/qquicktextedit.pro @@ -13,3 +13,4 @@ TESTDATA = data/* QT += core-private gui-private qml-private quick-private network-private testlib +osx: LIBS += -framework AppKit diff --git a/tests/auto/quick/qquicktextinput/qquicktextinput.pro b/tests/auto/quick/qquicktextinput/qquicktextinput.pro index 205ee4f672..7868b60d1b 100644 --- a/tests/auto/quick/qquicktextinput/qquicktextinput.pro +++ b/tests/auto/quick/qquicktextinput/qquicktextinput.pro @@ -13,3 +13,4 @@ TESTDATA = data/* QT += core-private gui-private qml-private quick-private testlib +osx: LIBS += -framework AppKit |