diff options
author | Andy Shaw <andy.shaw@qt.io> | 2020-07-03 08:23:32 +0200 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2020-07-07 08:24:58 +0200 |
commit | 600b3d4d21f68b93194c040d4fc27f0cca83b768 (patch) | |
tree | ad57b4c2e973f072803b1e3810ab40c77891a75c /tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | |
parent | 749ca5d0272eec49c2986eecebe897d311cbf372 (diff) |
Give a better score for methods with a convertable type when matching
When it is looking for a matching method based on the argument types,
then if a QVariant can be converted to that type then it should give a
better score for that method. This is so that it can see it as being
more viable a choice when calling the method instead of potentially
not being able to find a matching one.
Change-Id: Ief7e11feacd1d0b0959330af2576c2d01affbc54
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit a056cb9595ea4a41c93f4c912719f9523b943d3b)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp')
-rw-r--r-- | tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index 4b0cbfa1aa..1e10841430 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -381,6 +381,7 @@ private slots: void getThisObject(); void semicolonAfterProperty(); void hugeStack(); + void variantConversionMethod(); void gcCrashRegressionTest(); @@ -9292,6 +9293,19 @@ void tst_qqmlecmascript::gcCrashRegressionTest() QCOMPARE(process.exitCode(), 0); } +void tst_qqmlecmascript::variantConversionMethod() +{ + QQmlEngine qmlengine; + + VariantConvertObject obj; + qmlengine.rootContext()->setContextProperty("variantObject", &obj); + + QQmlComponent component(&qmlengine, testFileUrl("variantConvert.qml")); + QScopedPointer<QObject> o(component.create()); + QVERIFY(o != nullptr); + QCOMPARE(obj.funcCalled, QLatin1String("QModelIndex")); +} + QTEST_MAIN(tst_qqmlecmascript) #include "tst_qqmlecmascript.moc" |