aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qquickiconimage
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qquickiconimage')
-rw-r--r--tests/auto/qquickiconimage/CMakeLists.txt84
-rw-r--r--tests/auto/qquickiconimage/data/alignment.qml16
-rw-r--r--tests/auto/qquickiconimage/data/color.qml18
-rw-r--r--tests/auto/qquickiconimage/data/fileSelectors.qml16
-rw-r--r--tests/auto/qquickiconimage/data/imageProvider.qml9
-rw-r--r--tests/auto/qquickiconimage/data/nameBindingNoSizes.qml7
-rw-r--r--tests/auto/qquickiconimage/data/nameBindingSourceSize.qml16
-rw-r--r--tests/auto/qquickiconimage/data/nameBindingSourceSizeWidthHeight.qml10
-rw-r--r--tests/auto/qquickiconimage/data/root.qml6
-rw-r--r--tests/auto/qquickiconimage/data/sourceBindingNoSizes.qml15
-rw-r--r--tests/auto/qquickiconimage/data/sourceBindingSourceSize.qml16
-rw-r--r--tests/auto/qquickiconimage/data/sourceBindingSourceSizeWidthHeight.qml10
-rw-r--r--tests/auto/qquickiconimage/data/sourceBindingSourceTooLarge.qml8
-rw-r--r--tests/auto/qquickiconimage/data/svgNoSizes.qml15
-rw-r--r--tests/auto/qquickiconimage/data/svgSourceBindingSourceSize.qml17
-rw-r--r--tests/auto/qquickiconimage/data/translucentColors.qml67
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/16x16/actions/appointment-new.pngbin839 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new.pngbin1040 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new@2x.pngbin107 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new.pngbin1268 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new@2x.pngbin4017 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original.pngbin1047 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original@2x.pngbin107 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted.pngbin1053 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted@2x.pngbin107 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/+testselector/appointment-new.pngbin107 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/appointment-new.pngbin4017 -> 0 bytes
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/appointment-new.svg425
-rw-r--r--tests/auto/qquickiconimage/icons/testtheme/index.theme21
-rw-r--r--tests/auto/qquickiconimage/resources.qrc17
-rw-r--r--tests/auto/qquickiconimage/tst_qquickiconimage.cpp572
31 files changed, 0 insertions, 1365 deletions
diff --git a/tests/auto/qquickiconimage/CMakeLists.txt b/tests/auto/qquickiconimage/CMakeLists.txt
deleted file mode 100644
index fdad6ef9..00000000
--- a/tests/auto/qquickiconimage/CMakeLists.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-# Generated from qquickiconimage.pro.
-
-#####################################################################
-## tst_qquickiconimage Test:
-#####################################################################
-
-# Collect test data
-file(GLOB_RECURSE test_data_glob
- RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/data/*.qml)
-list(APPEND test_data ${test_data_glob})
-file(GLOB_RECURSE test_data_glob
- RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/data/icons/*)
-list(APPEND test_data ${test_data_glob})
-
-qt_internal_add_test(tst_qquickiconimage
- SOURCES
- ../shared/qtest_quickcontrols.h
- ../shared/util.cpp ../shared/util.h
- ../shared/visualtestutil.cpp ../shared/visualtestutil.h
- tst_qquickiconimage.cpp
- DEFINES
- QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\"
- LIBRARIES
- Qt::QuickControls2ImplPrivate
- Qt::QuickPrivate
- PUBLIC_LIBRARIES
- Qt::CorePrivate
- Qt::Gui
- Qt::GuiPrivate
- Qt::Qml
- Qt::QmlPrivate
- Qt::Quick
- Qt::QuickControls2
- Qt::QuickControls2Private
- Qt::QuickPrivate
- Qt::QuickTemplates2Private
- Qt::TestPrivate
- TESTDATA ${test_data}
-)
-
-# Resources:
-set(resources_resource_files
- "icons/testtheme/16x16/actions/appointment-new.png"
- "icons/testtheme/22x22/actions/+testselector/appointment-new.png"
- "icons/testtheme/22x22/actions/+testselector/appointment-new@2x.png"
- "icons/testtheme/22x22/actions/appointment-new.png"
- "icons/testtheme/22x22/actions/appointment-new@2x.png"
- "icons/testtheme/22x22/actions/color-test-original.png"
- "icons/testtheme/22x22/actions/color-test-original@2x.png"
- "icons/testtheme/22x22/actions/color-test-tinted.png"
- "icons/testtheme/22x22/actions/color-test-tinted@2x.png"
- "icons/testtheme/22x22@2/actions/+testselector/appointment-new.png"
- "icons/testtheme/22x22@2/actions/appointment-new.png"
- "icons/testtheme/appointment-new.svg"
- "icons/testtheme/index.theme"
-)
-
-qt_internal_add_resource(tst_qquickiconimage "resources"
- PREFIX
- "/"
- FILES
- ${resources_resource_files}
-)
-
-
-## Scopes:
-#####################################################################
-
-qt_internal_extend_target(tst_qquickiconimage CONDITION TARGET Qt::Svg
- PUBLIC_LIBRARIES
- Qt::Svg
-)
-
-qt_internal_extend_target(tst_qquickiconimage CONDITION ANDROID OR IOS
- DEFINES
- QT_QMLTEST_DATADIR=\\\":/data\\\"
-)
-
-qt_internal_extend_target(tst_qquickiconimage CONDITION NOT ANDROID AND NOT IOS
- DEFINES
- QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\"
-)
diff --git a/tests/auto/qquickiconimage/data/alignment.qml b/tests/auto/qquickiconimage/data/alignment.qml
deleted file mode 100644
index e6861520..00000000
--- a/tests/auto/qquickiconimage/data/alignment.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- name: "appointment-new"
- sourceSize: Qt.size(22, 22)
- }
- Image {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- }
-}
diff --git a/tests/auto/qquickiconimage/data/color.qml b/tests/auto/qquickiconimage/data/color.qml
deleted file mode 100644
index b44b4388..00000000
--- a/tests/auto/qquickiconimage/data/color.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- source: "qrc:/icons/testtheme/22x22/actions/color-test-original.png"
- sourceSize: Qt.size(22, 22)
- color: "red"
- }
- Image {
- source: "qrc:/icons/testtheme/22x22/actions/color-test-tinted.png"
- fillMode: Image.Pad
- }
-}
diff --git a/tests/auto/qquickiconimage/data/fileSelectors.qml b/tests/auto/qquickiconimage/data/fileSelectors.qml
deleted file mode 100644
index e6861520..00000000
--- a/tests/auto/qquickiconimage/data/fileSelectors.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- name: "appointment-new"
- sourceSize: Qt.size(22, 22)
- }
- Image {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- }
-}
diff --git a/tests/auto/qquickiconimage/data/imageProvider.qml b/tests/auto/qquickiconimage/data/imageProvider.qml
deleted file mode 100644
index 9b18a99e..00000000
--- a/tests/auto/qquickiconimage/data/imageProvider.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-
-IconLabel {
- icon.color: "transparent"
- icon.source: "image://provider/red"
-}
diff --git a/tests/auto/qquickiconimage/data/nameBindingNoSizes.qml b/tests/auto/qquickiconimage/data/nameBindingNoSizes.qml
deleted file mode 100644
index d457d205..00000000
--- a/tests/auto/qquickiconimage/data/nameBindingNoSizes.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-IconImage {
- name: "appointment-new"
-}
diff --git a/tests/auto/qquickiconimage/data/nameBindingSourceSize.qml b/tests/auto/qquickiconimage/data/nameBindingSourceSize.qml
deleted file mode 100644
index e6861520..00000000
--- a/tests/auto/qquickiconimage/data/nameBindingSourceSize.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- name: "appointment-new"
- sourceSize: Qt.size(22, 22)
- }
- Image {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- }
-}
diff --git a/tests/auto/qquickiconimage/data/nameBindingSourceSizeWidthHeight.qml b/tests/auto/qquickiconimage/data/nameBindingSourceSizeWidthHeight.qml
deleted file mode 100644
index 5e7ebefc..00000000
--- a/tests/auto/qquickiconimage/data/nameBindingSourceSizeWidthHeight.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-IconImage {
- name: "appointment-new"
- sourceSize: Qt.size(22, 22)
- width: 16
- height: 16
-}
diff --git a/tests/auto/qquickiconimage/data/root.qml b/tests/auto/qquickiconimage/data/root.qml
deleted file mode 100644
index ed02d2df..00000000
--- a/tests/auto/qquickiconimage/data/root.qml
+++ /dev/null
@@ -1,6 +0,0 @@
-import QtQuick
-
-Item {
- width: 200
- height: 200
-}
diff --git a/tests/auto/qquickiconimage/data/sourceBindingNoSizes.qml b/tests/auto/qquickiconimage/data/sourceBindingNoSizes.qml
deleted file mode 100644
index 34fc6b33..00000000
--- a/tests/auto/qquickiconimage/data/sourceBindingNoSizes.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- }
- Image {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- }
-}
diff --git a/tests/auto/qquickiconimage/data/sourceBindingSourceSize.qml b/tests/auto/qquickiconimage/data/sourceBindingSourceSize.qml
deleted file mode 100644
index 9f1b6290..00000000
--- a/tests/auto/qquickiconimage/data/sourceBindingSourceSize.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- sourceSize: Qt.size(22, 22)
- }
- Image {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- }
-}
diff --git a/tests/auto/qquickiconimage/data/sourceBindingSourceSizeWidthHeight.qml b/tests/auto/qquickiconimage/data/sourceBindingSourceSizeWidthHeight.qml
deleted file mode 100644
index 4dc3ac75..00000000
--- a/tests/auto/qquickiconimage/data/sourceBindingSourceSizeWidthHeight.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-IconImage {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- sourceSize: Qt.size(22, 22)
- width: 16
- height: 16
-}
diff --git a/tests/auto/qquickiconimage/data/sourceBindingSourceTooLarge.qml b/tests/auto/qquickiconimage/data/sourceBindingSourceTooLarge.qml
deleted file mode 100644
index a54d998a..00000000
--- a/tests/auto/qquickiconimage/data/sourceBindingSourceTooLarge.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-IconImage {
- source: "qrc:/icons/testtheme/22x22/actions/appointment-new.png"
- sourceSize: Qt.size(32, 32)
-}
diff --git a/tests/auto/qquickiconimage/data/svgNoSizes.qml b/tests/auto/qquickiconimage/data/svgNoSizes.qml
deleted file mode 100644
index e29c23c5..00000000
--- a/tests/auto/qquickiconimage/data/svgNoSizes.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- source: "qrc:/icons/testtheme/appointment-new.svg"
- }
- Image {
- source: "qrc:/icons/testtheme/appointment-new.svg"
- }
-}
diff --git a/tests/auto/qquickiconimage/data/svgSourceBindingSourceSize.qml b/tests/auto/qquickiconimage/data/svgSourceBindingSourceSize.qml
deleted file mode 100644
index 4674e8f1..00000000
--- a/tests/auto/qquickiconimage/data/svgSourceBindingSourceSize.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-Row {
- width: 200
- height: 200
-
- IconImage {
- source: "qrc:/data/icons/testtheme/appointment-new.svg"
- sourceSize: Qt.size(22, 22)
- }
- Image {
- source: "qrc:/data/icons/testtheme/appointment-new.svg"
- sourceSize: Qt.size(22, 22)
- }
-}
diff --git a/tests/auto/qquickiconimage/data/translucentColors.qml b/tests/auto/qquickiconimage/data/translucentColors.qml
deleted file mode 100644
index ad67bfe5..00000000
--- a/tests/auto/qquickiconimage/data/translucentColors.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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 https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-
-ApplicationWindow {
- width: 500
- height: 500
- visible: true
-
- IconImage {
- width: Math.min(250, parent.width)
- height: Math.min(250, parent.height)
- source: "qrc:/icons/testtheme/22x22/actions/color-test-original.png"
- sourceSize: Qt.size(250, 0)
- color: Qt.rgba(0, 0, 0, 0.5)
- }
-}
diff --git a/tests/auto/qquickiconimage/icons/testtheme/16x16/actions/appointment-new.png b/tests/auto/qquickiconimage/icons/testtheme/16x16/actions/appointment-new.png
deleted file mode 100644
index 4356af95..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/16x16/actions/appointment-new.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new.png
deleted file mode 100644
index d3134a55..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new@2x.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new@2x.png
deleted file mode 100644
index 250b94b0..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/+testselector/appointment-new@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new.png
deleted file mode 100644
index 04cd010a..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new@2x.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new@2x.png
deleted file mode 100644
index a63bbaf4..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/appointment-new@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original.png
deleted file mode 100644
index c17d1664..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original@2x.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original@2x.png
deleted file mode 100644
index d4411658..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-original@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted.png
deleted file mode 100644
index 6f7938e3..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted@2x.png b/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted@2x.png
deleted file mode 100644
index 9215fc42..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22/actions/color-test-tinted@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/+testselector/appointment-new.png b/tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/+testselector/appointment-new.png
deleted file mode 100644
index 250b94b0..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/+testselector/appointment-new.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/appointment-new.png b/tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/appointment-new.png
deleted file mode 100644
index a63bbaf4..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/22x22@2/actions/appointment-new.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qquickiconimage/icons/testtheme/appointment-new.svg b/tests/auto/qquickiconimage/icons/testtheme/appointment-new.svg
deleted file mode 100644
index 4cb14f82..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/appointment-new.svg
+++ /dev/null
@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- sodipodi:docname="appointment-new.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective59" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5204">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop5206" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop5208" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5196">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop5198" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop5200" />
- </linearGradient>
- <linearGradient
- id="linearGradient12512">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop12513" />
- <stop
- style="stop-color:#fff520;stop-opacity:0.89108908;"
- offset="0.50000000"
- id="stop12517" />
- <stop
- style="stop-color:#fff300;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop12514" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient278"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- <linearGradient
- id="linearGradient10653">
- <stop
- style="stop-color:#f3f4ff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop10655" />
- <stop
- style="stop-color:#9193af;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop10657" />
- </linearGradient>
- <linearGradient
- id="linearGradient42174">
- <stop
- style="stop-color:#a0a0a0;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop42176" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop42178" />
- </linearGradient>
- <linearGradient
- id="linearGradient2145">
- <stop
- style="stop-color:#fffffd;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2147" />
- <stop
- style="stop-color:#cbcbc9;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2149" />
- </linearGradient>
- <linearGradient
- id="linearGradient37935">
- <stop
- id="stop37937"
- offset="0.0000000"
- style="stop-color:#9497b3;stop-opacity:1.0000000;" />
- <stop
- id="stop37939"
- offset="1.0000000"
- style="stop-color:#4c4059;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2152">
- <stop
- id="stop2154"
- offset="0.0000000"
- style="stop-color:#9aa29a;stop-opacity:1.0000000;" />
- <stop
- id="stop2156"
- offset="1.0000000"
- style="stop-color:#b5beb5;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3816">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3818" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3820" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3816"
- id="radialGradient3822"
- cx="31.112698"
- cy="19.008621"
- fx="31.112698"
- fy="19.008621"
- r="8.6620579"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2152"
- id="linearGradient4307"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.123841,0.000000,0.000000,0.969691,-31.88758,-19.59492)"
- x1="8.9156475"
- y1="37.197018"
- x2="9.8855033"
- y2="52.090678" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient10653"
- id="radialGradient4309"
- gradientUnits="userSpaceOnUse"
- cx="11.329200"
- cy="10.583970"
- fx="11.329200"
- fy="10.583970"
- r="15.532059" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2145"
- id="radialGradient4311"
- gradientUnits="userSpaceOnUse"
- cx="11.901996"
- cy="10.045444"
- fx="11.901996"
- fy="10.045444"
- r="29.292715" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient42174"
- id="linearGradient4313"
- gradientUnits="userSpaceOnUse"
- x1="6.3422160"
- y1="7.7893324"
- x2="22.218424"
- y2="25.884274" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5196"
- id="radialGradient5202"
- cx="23.375"
- cy="10.972863"
- fx="23.375"
- fy="10.972863"
- r="3.3478092"
- gradientTransform="matrix(3.630420,1.654030e-15,-1.608743e-15,3.742066,-61.48607,-29.18618)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5204"
- id="linearGradient5210"
- x1="19.667364"
- y1="4.2570662"
- x2="20.329933"
- y2="5.2845874"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient37935"
- id="radialGradient5212"
- gradientUnits="userSpaceOnUse"
- cx="8.7468252"
- cy="6.8283234"
- fx="8.7468252"
- fy="6.8283234"
- r="29.889715" />
- </defs>
- <sodipodi:namedview
- stroke="#c4a000"
- fill="#babdb6"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313708"
- inkscape:cx="13.2248"
- inkscape:cy="25.106052"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="833"
- inkscape:window-height="772"
- inkscape:window-x="305"
- inkscape:window-y="76" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
- <dc:title>New Appointment</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>appointment</rdf:li>
- <rdf:li>new</rdf:li>
- <rdf:li>meeting</rdf:li>
- <rdf:li>rvsp</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path4318"
- style="opacity:1;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="matrix(2.563158,0.000000,0.000000,1.219602,-55.98414,14.04144)" />
- <path
- sodipodi:nodetypes="cccc"
- id="path14341"
- d="M 18.587591,1.403729 L 4.226755,18.096665 L 5.4854717,19.339844 L 18.587591,1.403729 z "
- style="color:#000000;fill:url(#linearGradient4307);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path18921"
- d="M 18.467176,1.3138035 L 5.6605716,19.072612 L 7.4900985,20.687913 L 18.467176,1.3138035 z "
- style="fill:#fefefe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" />
- <path
- transform="matrix(1.431529,0.000000,0.000000,1.431529,0.569459,-1.654618)"
- d="M 31.160714 16.910715 A 14.910714 14.910714 0 1 1 1.3392859,16.910715 A 14.910714 14.910714 0 1 1 31.160714 16.910715 z"
- sodipodi:ry="14.910714"
- sodipodi:rx="14.910714"
- sodipodi:cy="16.910715"
- sodipodi:cx="16.25"
- id="path27786"
- style="fill:url(#radialGradient5212);fill-opacity:1;fill-rule:evenodd;stroke:#605773;stroke-width:0.69855404;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.163838,0.000000,0.000000,1.163838,4.824801,2.777556)"
- d="M 31.160714 16.910715 A 14.910714 14.910714 0 1 1 1.3392859,16.910715 A 14.910714 14.910714 0 1 1 31.160714 16.910715 z"
- sodipodi:ry="14.910714"
- sodipodi:rx="14.910714"
- sodipodi:cy="16.910715"
- sodipodi:cx="16.25"
- id="path35549"
- style="fill:url(#radialGradient4311);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4313);stroke-width:0.71139598;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:url(#radialGradient5202);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5210);stroke-width:0.56498736;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path4120"
- sodipodi:cx="23.375"
- sodipodi:cy="11.875"
- sodipodi:rx="8.5"
- sodipodi:ry="8.5"
- d="M 16.679382,6.6387137 A 8.5,8.5 0 0 1 23.332691,3.3751053 L 23.375,11.875 z"
- transform="matrix(1.769951,0.000000,0.000000,1.769951,-17.02424,1.610741)"
- sodipodi:start="3.8052902"
- sodipodi:end="4.7074114" />
- <path
- transform="matrix(2.073295,0.000000,0.000000,2.073295,-7.310224,-13.13682)"
- d="M 16.40625 17.28125 A 1.21875 1.21875 0 1 1 13.96875,17.28125 A 1.21875 1.21875 0 1 1 16.40625 17.28125 z"
- sodipodi:ry="1.21875"
- sodipodi:rx="1.21875"
- sodipodi:cy="17.28125"
- sodipodi:cx="15.1875"
- id="path34778"
- style="fill:#f3f3f3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.48232403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;stroke-dasharray:none"
- sodipodi:type="arc" />
- <path
- id="path35559"
- d="M 22.176614,20.718014 L 13.155702,13.140282"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
- <path
- id="path35561"
- d="M 19.408614,29.776506 L 22.368655,25.283228"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- sodipodi:nodetypes="cc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-22.30073,-12.40939)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35563"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-22.30073,14.80922)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35565"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-35.91004,1.199890)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35567"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-8.691448,1.199890)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35569"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient4309);stroke-width:0.73656511;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- id="path10651"
- sodipodi:cx="16.25"
- sodipodi:cy="16.910715"
- sodipodi:rx="14.910714"
- sodipodi:ry="14.910714"
- d="M 31.160714 16.910715 A 14.910714 14.910714 0 1 1 1.3392859,16.910715 A 14.910714 14.910714 0 1 1 31.160714 16.910715 z"
- transform="matrix(1.357654,0.000000,0.000000,1.357654,1.769896,-0.493735)" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient278);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path12511"
- sodipodi:cx="55"
- sodipodi:cy="125"
- sodipodi:rx="14.375"
- sodipodi:ry="14.375"
- d="M 69.375 125 A 14.375 14.375 0 1 1 40.625,125 A 14.375 14.375 0 1 1 69.375 125 z"
- transform="matrix(0.611127,0.000000,0.000000,0.611127,5.544052,-66.92818)"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
- inkscape:export-xdpi="33.852203"
- inkscape:export-ydpi="33.852203" />
- </g>
-</svg>
diff --git a/tests/auto/qquickiconimage/icons/testtheme/index.theme b/tests/auto/qquickiconimage/icons/testtheme/index.theme
deleted file mode 100644
index 6ab6c15c..00000000
--- a/tests/auto/qquickiconimage/icons/testtheme/index.theme
+++ /dev/null
@@ -1,21 +0,0 @@
-[Icon Theme]
-Name=Test
-Comment=Test Theme
-
-Directories=16x16/actions,22x22/actions,22x22@2/actions
-
-[16x16/actions]
-Size=16
-Context=Actions
-Type=Fixed
-
-[22x22/actions]
-Size=22
-Context=Actions
-Type=Fixed
-
-[22x22@2/actions]
-Size=22
-Context=Actions
-Scale=2
-Type=Fixed
diff --git a/tests/auto/qquickiconimage/resources.qrc b/tests/auto/qquickiconimage/resources.qrc
deleted file mode 100644
index 6558b039..00000000
--- a/tests/auto/qquickiconimage/resources.qrc
+++ /dev/null
@@ -1,17 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>icons/testtheme/16x16/actions/appointment-new.png</file>
- <file>icons/testtheme/22x22/actions/appointment-new.png</file>
- <file>icons/testtheme/22x22/actions/appointment-new@2x.png</file>
- <file>icons/testtheme/22x22@2/actions/appointment-new.png</file>
- <file>icons/testtheme/22x22/actions/+testselector/appointment-new.png</file>
- <file>icons/testtheme/22x22/actions/+testselector/appointment-new@2x.png</file>
- <file>icons/testtheme/22x22@2/actions/+testselector/appointment-new.png</file>
- <file>icons/testtheme/index.theme</file>
- <file>icons/testtheme/appointment-new.svg</file>
- <file>icons/testtheme/22x22/actions/color-test-original.png</file>
- <file>icons/testtheme/22x22/actions/color-test-tinted.png</file>
- <file>icons/testtheme/22x22/actions/color-test-original@2x.png</file>
- <file>icons/testtheme/22x22/actions/color-test-tinted@2x.png</file>
- </qresource>
-</RCC>
diff --git a/tests/auto/qquickiconimage/tst_qquickiconimage.cpp b/tests/auto/qquickiconimage/tst_qquickiconimage.cpp
deleted file mode 100644
index 370d2ef4..00000000
--- a/tests/auto/qquickiconimage/tst_qquickiconimage.cpp
+++ /dev/null
@@ -1,572 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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 https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qtest.h>
-#include <QtTest/qsignalspy.h>
-
-#include <QtCore/qmath.h>
-#include <QtQml/qqmlapplicationengine.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQml/qqmlcomponent.h>
-#include <QtQml/qqmlfileselector.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/qquickview.h>
-#include <QtQuick/qquickimageprovider.h>
-#include <QtQuick/qquickitemgrabresult.h>
-#include <QtQuick/private/qquickimage_p.h>
-#include <QtQuickControls2Impl/private/qquickiconimage_p.h>
-
-#include "../shared/util.h"
-#include "../shared/visualtestutil.h"
-
-using namespace QQuickVisualTestUtil;
-
-class tst_qquickiconimage : public QQmlDataTest
-{
- Q_OBJECT
-public:
- tst_qquickiconimage();
-
-private slots:
- void initTestCase();
- void defaults();
- void nameBindingSourceSize();
- void nameBindingSourceSizeWidthHeight();
- void nameBindingNoSizes();
- void sourceBindingNoSizes();
- void sourceBindingSourceSize();
- void sourceBindingSourceSizeWidthHeight();
- void sourceBindingSourceTooLarge();
- void changeSourceSize();
- void alignment_data();
- void alignment();
- void svgNoSizes();
- void svgSourceBindingSourceSize();
- void color();
- void fileSelectors();
- void imageProvider();
- void translucentColors();
-
-private:
- void setTheme();
-
- qreal dpr;
- int integerDpr;
-};
-
-static QImage grabItemToImage(QQuickItem *item)
-{
- QSharedPointer<QQuickItemGrabResult> result = item->grabToImage();
- QSignalSpy spy(result.data(), SIGNAL(ready()));
- spy.wait();
- return result->image();
-}
-
-#define SKIP_IF_DPR_TOO_HIGH() \
- if (dpr > 2) \
- QSKIP("Test does not support device pixel ratio greater than 2")
-
-tst_qquickiconimage::tst_qquickiconimage() :
- dpr(qGuiApp->devicePixelRatio()),
- integerDpr(qCeil(dpr))
-{
- QQuickStyle::setStyle("Basic");
-}
-
-void tst_qquickiconimage::initTestCase()
-{
- QQmlDataTest::initTestCase();
- QIcon::setThemeName(QStringLiteral("testtheme"));
-}
-
-void tst_qquickiconimage::defaults()
-{
- QQuickIconImage iconImage;
- QCOMPARE(iconImage.fillMode(), QQuickImage::Pad);
- QCOMPARE(iconImage.name(), QString());
- QCOMPARE(iconImage.source(), QUrl());
- QCOMPARE(iconImage.color(), QColor(Qt::transparent));
-}
-
-void tst_qquickiconimage::nameBindingSourceSize()
-{
- // We can't have images for every DPR.
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("nameBindingSourceSize.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickItem *image = view.rootObject()->childItems().at(1);
- QVERIFY(image);
-
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 22.0);
- QCOMPARE(iconImage->height(), 22.0);
-
- // The requested width of 16 is less than the pixmap's size on disk which
- // is 22x22. Our default fillMode, Pad, would result in the image being clipped,
- // so instead we change the fillMode to PreserveAspectFit. Doing so causes
- // QQuickImage::updatePaintedGeometry() to set our implicit size to 22x16 to
- // ensure that the aspect ratio is respected. Since we have no explicit height,
- // the height (previously 22) becomes the implicit height (16).
- iconImage->setWidth(16.0);
- QCOMPARE(iconImage->fillMode(), QQuickImage::PreserveAspectFit);
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 16.0);
- QCOMPARE(iconImage->width(), 16.0);
- QCOMPARE(iconImage->height(), 16.0);
-}
-
-void tst_qquickiconimage::nameBindingSourceSizeWidthHeight()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("nameBindingSourceSizeWidthHeight.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject());
- QVERIFY(iconImage);
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 16.0);
- QCOMPARE(iconImage->height(), 16.0);
-}
-
-void tst_qquickiconimage::nameBindingNoSizes()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("nameBindingNoSizes.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject());
- QVERIFY(iconImage);
- // The smallest available size will be chosen.
- QCOMPARE(iconImage->sourceSize().width(), 16);
- QCOMPARE(iconImage->sourceSize().height(), 16);
- QCOMPARE(iconImage->implicitWidth(), 16.0);
- QCOMPARE(iconImage->implicitHeight(), 16.0);
- QCOMPARE(iconImage->width(), 16.0);
- QCOMPARE(iconImage->height(), 16.0);
-}
-
-void tst_qquickiconimage::sourceBindingNoSizes()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("sourceBindingNoSizes.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickItem *image = view.rootObject()->childItems().at(1);
- QVERIFY(image);
-
- QCOMPARE(iconImage->sourceSize().width(), 22 * integerDpr);
- QCOMPARE(iconImage->sourceSize().height(), 22 * integerDpr);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 22.0);
- QCOMPARE(iconImage->height(), 22.0);
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
-}
-
-void tst_qquickiconimage::sourceBindingSourceSize()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("sourceBindingSourceSize.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickItem *image = view.rootObject()->childItems().at(1);
- QVERIFY(image);
-
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 22.0);
- QCOMPARE(iconImage->height(), 22.0);
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
-
- // Changing width and height should not affect sourceSize.
- iconImage->setWidth(50);
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- iconImage->setHeight(50);
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
-}
-
-void tst_qquickiconimage::sourceBindingSourceSizeWidthHeight()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("sourceBindingSourceSizeWidthHeight.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject());
- QVERIFY(iconImage);
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 16.0);
- QCOMPARE(iconImage->height(), 16.0);
-}
-
-void tst_qquickiconimage::sourceBindingSourceTooLarge()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QQuickView view(testFileUrl("sourceBindingSourceTooLarge.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject());
- QVERIFY(iconImage);
- QCOMPARE(iconImage->sourceSize().width(), 32);
- QCOMPARE(iconImage->sourceSize().height(), 32);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 22.0);
- QCOMPARE(iconImage->height(), 22.0);
-}
-
-void tst_qquickiconimage::alignment_data()
-{
- QTest::addColumn<QQuickImage::HAlignment>("horizontalAlignment");
- QTest::addColumn<QQuickImage::VAlignment>("verticalAlignment");
-
- QTest::newRow("AlignLeft,AlignTop") << QQuickImage::AlignLeft << QQuickImage::AlignTop;
- QTest::newRow("AlignLeft,AlignVCenter") << QQuickImage::AlignLeft << QQuickImage::AlignVCenter;
- QTest::newRow("AlignLeft,AlignBottom") << QQuickImage::AlignLeft << QQuickImage::AlignBottom;
- QTest::newRow("AlignHCenter,AlignTop") << QQuickImage::AlignHCenter << QQuickImage::AlignTop;
- QTest::newRow("AlignHCenter,AlignVCenter") << QQuickImage::AlignHCenter << QQuickImage::AlignVCenter;
- QTest::newRow("AlignHCenter,AlignBottom") << QQuickImage::AlignHCenter << QQuickImage::AlignBottom;
- QTest::newRow("AlignRight,AlignTop") << QQuickImage::AlignRight << QQuickImage::AlignTop;
- QTest::newRow("AlignRight,AlignVCenter") << QQuickImage::AlignRight << QQuickImage::AlignVCenter;
- QTest::newRow("AlignRight,AlignBottom") << QQuickImage::AlignRight << QQuickImage::AlignBottom;
-}
-
-void tst_qquickiconimage::alignment()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- QFETCH(QQuickImage::HAlignment, horizontalAlignment);
- QFETCH(QQuickImage::VAlignment, verticalAlignment);
-
- QQuickView view(testFileUrl("alignment.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickImage *image = qobject_cast<QQuickImage*>(view.rootObject()->childItems().at(1));
- QVERIFY(image);
-
- // The default fillMode for IconImage is Image::Pad, so these two grabs
- // should only be equal when the device pixel ratio is 1 or 2, as there is no
- // @3x version of the image, and hence the Image will be upscaled
- // and therefore blurry when the ratio is higher than 2.
- if (qGuiApp->devicePixelRatio() <= 2)
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
- else
- QVERIFY(grabItemToImage(iconImage) != grabItemToImage(image));
-
- // Check that the images are what we expect in different alignment configurations.
- iconImage->setWidth(200);
- iconImage->setHeight(100);
- iconImage->setHorizontalAlignment(horizontalAlignment);
- iconImage->setVerticalAlignment(verticalAlignment);
- iconImage->setFillMode(QQuickImage::Pad);
- image->setWidth(200);
- image->setHeight(100);
- image->setHorizontalAlignment(horizontalAlignment);
- image->setVerticalAlignment(verticalAlignment);
- image->setFillMode(QQuickImage::Pad);
-
- if (qGuiApp->devicePixelRatio() <= 2)
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
- else
- QVERIFY(grabItemToImage(iconImage) != grabItemToImage(image));
-}
-
-void tst_qquickiconimage::svgNoSizes()
-{
-#ifndef QT_SVG_LIB
- QSKIP("This test requires qtsvg");
-#else
- QQuickView view(testFileUrl("svgNoSizes.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickImage *image = qobject_cast<QQuickImage*>(view.rootObject()->childItems().at(1));
- QVERIFY(image);
-
- QCOMPARE(iconImage->sourceSize().width(), 48);
- QCOMPARE(iconImage->sourceSize().height(), 48);
- QCOMPARE(iconImage->implicitWidth(), 48.0);
- QCOMPARE(iconImage->implicitHeight(), 48.0);
- QCOMPARE(iconImage->width(), 48.0);
- QCOMPARE(iconImage->height(), 48.0);
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
-#endif
-}
-
-void tst_qquickiconimage::svgSourceBindingSourceSize()
-{
-#ifndef QT_SVG_LIB
- QSKIP("This test requires qtsvg");
-#else
- QQuickView view(testFileUrl("alignment.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickImage *image = qobject_cast<QQuickImage*>(view.rootObject()->childItems().at(1));
- QVERIFY(image);
-
- QCOMPARE(iconImage->sourceSize().width(), 22);
- QCOMPARE(iconImage->sourceSize().height(), 22);
- QCOMPARE(iconImage->implicitWidth(), 22.0);
- QCOMPARE(iconImage->implicitHeight(), 22.0);
- QCOMPARE(iconImage->width(), 22.0);
- QCOMPARE(iconImage->height(), 22.0);
- QCOMPARE(grabItemToImage(iconImage), grabItemToImage(image));
-#endif
-}
-
-void tst_qquickiconimage::color()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- if (QGuiApplication::platformName() == QLatin1String("offscreen"))
- QSKIP("grabToImage() doesn't work on the \"offscreen\" platform plugin (QTBUG-63185)");
-
- QQuickView view(testFileUrl("color.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickImage *image = qobject_cast<QQuickImage*>(view.rootObject()->childItems().at(1));
- QVERIFY(image);
-
- QImage iconImageWindowGrab = grabItemToImage(iconImage);
- QCOMPARE(iconImageWindowGrab, grabItemToImage(image));
-
- // Transparent pixels should remain transparent.
- QCOMPARE(iconImageWindowGrab.pixelColor(0, 0), QColor(0, 0, 0, 0));
-
- // Set a color after component completion.
- iconImage->setColor(QColor(Qt::green));
- iconImageWindowGrab = grabItemToImage(iconImage);
- const QPoint centerPixelPos(11, 11);
- QCOMPARE(iconImageWindowGrab.pixelColor(centerPixelPos), QColor(Qt::green));
-
- // Set a semi-transparent color after component completion.
- iconImage->setColor(QColor(0, 0, 255, 127));
- iconImageWindowGrab = grabItemToImage(iconImage);
- QCOMPARE(iconImageWindowGrab.pixelColor(centerPixelPos).red(), 0);
- QCOMPARE(iconImageWindowGrab.pixelColor(centerPixelPos).green(), 0);
- QCOMPARE(iconImageWindowGrab.pixelColor(centerPixelPos).blue(), 255);
- QCOMPARE(iconImageWindowGrab.pixelColor(centerPixelPos).alpha(), 127);
-}
-
-void tst_qquickiconimage::changeSourceSize()
-{
- QQuickView view(testFileUrl("sourceBindingSourceSize.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- // Ensure that there isn't any infinite recursion when trying to change the sourceSize.
- QSize sourceSize = iconImage->sourceSize();
- sourceSize.setWidth(sourceSize.width() - 1);
- iconImage->setSourceSize(sourceSize);
-}
-
-
-void tst_qquickiconimage::fileSelectors()
-{
- SKIP_IF_DPR_TOO_HIGH();
-
- if (QGuiApplication::platformName() == QLatin1String("offscreen"))
- QSKIP("grabToImage() doesn't work on the \"offscreen\" platform plugin (QTBUG-63185)");
-
- QQuickView view;
- QQmlFileSelector* fileSelector = new QQmlFileSelector(view.engine());
- fileSelector->setExtraSelectors(QStringList() << "testselector");
- view.setSource(testFileUrl("fileSelectors.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->childItems().at(0));
- QVERIFY(iconImage);
-
- QQuickItem *image = view.rootObject()->childItems().at(1);
- QVERIFY(image);
-
- QImage iconImageWindowGrab = grabItemToImage(iconImage);
- QCOMPARE(iconImageWindowGrab, grabItemToImage(image));
-
- QCOMPARE(iconImageWindowGrab.pixelColor(iconImageWindowGrab.width() / 2, iconImageWindowGrab.height() / 2), QColor(Qt::blue));
-}
-
-class TestImageProvider : public QQuickImageProvider
-{
-public:
- TestImageProvider() : QQuickImageProvider(QQuickImageProvider::Pixmap) { }
-
- QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize)
- {
- QSize defaultSize(32, 32);
- if (size)
- *size = defaultSize;
-
- QPixmap pixmap(requestedSize.width() > 0 ? requestedSize.width() : defaultSize.width(),
- requestedSize.height() > 0 ? requestedSize.height() : defaultSize.height());
- pixmap.fill(QColor(id).rgba());
- return pixmap;
- }
-};
-
-// don't crash (QTBUG-63959)
-void tst_qquickiconimage::imageProvider()
-{
- if (QGuiApplication::platformName() == QLatin1String("offscreen"))
- QSKIP("grabToImage() doesn't work on the \"offscreen\" platform plugin (QTBUG-63185)");
-
- QQuickView view;
- view.engine()->addImageProvider("provider", new TestImageProvider);
- view.setSource(testFileUrl("imageProvider.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(view.rootObject()->findChild<QQuickIconImage *>());
- QVERIFY(iconImage);
-
- QImage image = grabItemToImage(iconImage);
- QVERIFY(!image.isNull());
- QCOMPARE(image.pixelColor(image.width() / 2, image.height() / 2), QColor(Qt::red));
-}
-
-/*
- QQuickIconImage::componentComplete() calls QQuickIconImagePrivate::updateIcon(),
- which loads the icon's image via QQuickImageBase::load(). That eventually calls
- QQuickImageBase::requestFinished(), which calls QQuickIconImage::pixmapChange().
- That then calls QQuickIconImagePrivate::updateFillMode(), which can in turn
- cause QQuickIconImage::pixmapChange() to be called again, causing recursion.
-
- This was a problem because it resulted in icon.color being applied twice.
-
- This test checks that that doesn't happen.
-*/
-void tst_qquickiconimage::translucentColors()
-{
- if (QGuiApplication::platformName() == QLatin1String("offscreen"))
- QSKIP("grabToImage() doesn't work on the \"offscreen\" platform plugin (QTBUG-63185)");
-
- // Doesn't reproduce with QQuickView.
- QQmlApplicationEngine engine;
- engine.load(testFileUrl("translucentColors.qml"));
- QQuickWindow *window = qobject_cast<QQuickWindow*>(engine.rootObjects().first());
-
- QQuickIconImage *iconImage = qobject_cast<QQuickIconImage*>(window->findChild<QQuickIconImage*>());
- QVERIFY(iconImage);
-
- const QImage image = grabItemToImage(iconImage);
- QVERIFY(!image.isNull());
- QCOMPARE(image.pixelColor(image.width() / 2, image.height() / 2), QColor::fromRgba(0x80000000));
-}
-
-int main(int argc, char *argv[])
-{
- QGuiApplication app(argc, argv);
- Q_UNUSED(app);
- tst_qquickiconimage test;
- QTEST_SET_MAIN_SOURCE_PATH
- return QTest::qExec(&test, argc, argv);
-}
-
-#include "tst_qquickiconimage.moc"