aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@sletta.org>2014-10-02 12:03:27 +0200
committerGunnar Sletta <gunnar@sletta.org>2014-10-09 15:47:27 +0200
commit0afa52f7ad93dec7558ecc9793d2115a9eac99cc (patch)
tree9783381686a8a522f3de1b518a43a21bdde4f876 /tests
parente89e9825cc47a02a195f41fb44a8d09e0ec1a84d (diff)
Relax ShaderEffectSource's sourceItem vs window handling.
For dynamically loaded items, the window may not be set on either the source or the item, so we need to be a bit more relaxed in our checking. This fixes a regression for dynamically loaded GaussianBlur. Change-Id: I3e888405a95058ca79ecd2dff42c0ed4c8fff065 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qmltest/shadersource/tst_DynamicallyCreatedSource.qml82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/auto/qmltest/shadersource/tst_DynamicallyCreatedSource.qml b/tests/auto/qmltest/shadersource/tst_DynamicallyCreatedSource.qml
new file mode 100644
index 0000000000..2042afa2c5
--- /dev/null
+++ b/tests/auto/qmltest/shadersource/tst_DynamicallyCreatedSource.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Gunnar Sletta <gunnar@sletta.org>
+** Contact: http://www.qt-project.org/legal
+**
+** 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 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 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.
+**
+** 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.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+Item {
+ id: root
+
+ width: 100
+ height: 62
+
+ Rectangle {
+ id: rect
+ anchors.fill: parent
+ color: "red"
+ visible: false
+ }
+
+ Component {
+ id: component;
+ ShaderEffectSource { anchors.fill: parent }
+ }
+
+ property var source: undefined;
+
+ Timer {
+ id: timer
+ interval: 100
+ running: true
+ onTriggered: {
+ var source = component.createObject();
+ source.sourceItem = rect;
+ source.parent = root;
+ root.source = source;
+ }
+ }
+
+ TestCase {
+ id: testcase
+ name: "shadersource-dynamic-shadersource"
+ when: root.source != undefined
+
+ function test_endresult() {
+ var image = grabImage(root);
+ compare(image.red(0,0), 255);
+ compare(image.green(0,0), 0);
+ compare(image.blue(0,0), 0);
+ }
+
+ }
+}