aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickrectangle
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2019-06-14 14:29:13 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2019-06-24 15:14:56 +0200
commit5b96f81fa3c31ea911a08bb28275272b0770a745 (patch)
treee68767225c015586bad17c376d9295e0d80d0123 /tests/auto/quick/qquickrectangle
parent1cbe901b0905a72f83b6c709c467b090ad644c27 (diff)
QQuickRectangle: do not pass invalid presets onto QGradient
QGradient isn't meant to have a wide contract and filter out garbage. Since we're parsing ints / strings as gradients, do the validation at this level. Change-Id: I271b5ed1b908d698a2d2c871abf5e61d1e565451 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickrectangle')
-rw-r--r--tests/auto/quick/qquickrectangle/data/gradient-preset.qml18
-rw-r--r--tests/auto/quick/qquickrectangle/tst_qquickrectangle.cpp8
2 files changed, 22 insertions, 4 deletions
diff --git a/tests/auto/quick/qquickrectangle/data/gradient-preset.qml b/tests/auto/quick/qquickrectangle/data/gradient-preset.qml
index b740bdd610..c046dc4c05 100644
--- a/tests/auto/quick/qquickrectangle/data/gradient-preset.qml
+++ b/tests/auto/quick/qquickrectangle/data/gradient-preset.qml
@@ -10,7 +10,23 @@ Item {
gradient: "NightFade"
}
Rectangle {
- objectName: "invalid"
+ objectName: "invalid1"
gradient: -1
}
+ Rectangle {
+ objectName: "invalid2"
+ gradient: 123456789
+ }
+ Rectangle {
+ objectName: "invalid3"
+ gradient: "NOT_EXISTING"
+ }
+ Rectangle {
+ objectName: "invalid4"
+ gradient: "NumPresets"
+ }
+ Rectangle {
+ objectName: "invalid5"
+ gradient: Gradient.NumPresets
+ }
}
diff --git a/tests/auto/quick/qquickrectangle/tst_qquickrectangle.cpp b/tests/auto/quick/qquickrectangle/tst_qquickrectangle.cpp
index 710caaa734..e4d790f466 100644
--- a/tests/auto/quick/qquickrectangle/tst_qquickrectangle.cpp
+++ b/tests/auto/quick/qquickrectangle/tst_qquickrectangle.cpp
@@ -189,9 +189,11 @@ void tst_qquickrectangle::gradient_preset()
QVERIFY(stringRect->gradient().isString());
QCOMPARE(stringRect->gradient().toString(), QLatin1String("NightFade"));
- QQuickRectangle *invalidRect = view.rootObject()->findChild<QQuickRectangle *>("invalid");
- QVERIFY(invalidRect);
- QVERIFY(invalidRect->gradient().isUndefined());
+ for (int i = 1; i <= 5; ++i) {
+ QQuickRectangle *invalidRect = view.rootObject()->findChild<QQuickRectangle *>(qPrintable(QString("invalid%1").arg(i)));
+ QVERIFY(invalidRect);
+ QVERIFY(invalidRect->gradient().isUndefined());
+ }
}
void tst_qquickrectangle::antialiasing()