diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2019-06-14 14:29:13 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2019-06-24 15:14:56 +0200 |
commit | 5b96f81fa3c31ea911a08bb28275272b0770a745 (patch) | |
tree | e68767225c015586bad17c376d9295e0d80d0123 /tests/auto/quick/qquickrectangle | |
parent | 1cbe901b0905a72f83b6c709c467b090ad644c27 (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.qml | 18 | ||||
-rw-r--r-- | tests/auto/quick/qquickrectangle/tst_qquickrectangle.cpp | 8 |
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() |