aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/language
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-01-07 14:52:14 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2019-01-07 15:39:44 +0000
commit1d732c3d2064916abbeeff54efe262a5c58a7753 (patch)
treed572a4e147edb985982a786532fc5a55bb9eb439 /tests/auto/language
parentd8a5edfb8c5bb0556d33d8eac512be41472585fb (diff)
SetupProjectParameters: Remove invalid assertion
It prevented users from overriding variant properties. Change-Id: I37c3e0a127048d7a6c6d396b20b424003ac25903 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'tests/auto/language')
-rw-r--r--tests/auto/language/testdata/overridden-variant-property.qbs4
-rw-r--r--tests/auto/language/tst_language.cpp20
-rw-r--r--tests/auto/language/tst_language.h1
3 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/language/testdata/overridden-variant-property.qbs b/tests/auto/language/testdata/overridden-variant-property.qbs
new file mode 100644
index 000000000..09636d330
--- /dev/null
+++ b/tests/auto/language/testdata/overridden-variant-property.qbs
@@ -0,0 +1,4 @@
+Product {
+ name: "p"
+ property var myObject
+}
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index 2bd5b5de8..be9dfb932 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -2342,6 +2342,26 @@ void TestLanguage::overriddenPropertiesAndPrototypes_data()
QTest::newRow("second backend") << "os2" << "backend 2";
}
+void TestLanguage::overriddenVariantProperty()
+{
+ bool exceptionCaught = false;
+ try {
+ SetupProjectParameters params = defaultParameters;
+ const QVariantMap objectValue{std::make_pair("x", 1), std::make_pair("y", 2)};
+ params.setOverriddenValues({std::make_pair("products.p.myObject", objectValue)});
+ params.setProjectFilePath(testProject("overridden-variant-property.qbs"));
+ TopLevelProjectConstPtr project = loader->loadProject(params);
+ QVERIFY(!!project);
+ QCOMPARE(project->products.size(), size_t(1));
+ QCOMPARE(project->products.front()->productProperties.value("myObject").toMap(),
+ objectValue);
+ } catch (const ErrorInfo &e) {
+ exceptionCaught = true;
+ qDebug() << e.toString();
+ }
+ QCOMPARE(exceptionCaught, false);
+}
+
void TestLanguage::parameterTypes()
{
bool exceptionCaught = false;
diff --git a/tests/auto/language/tst_language.h b/tests/auto/language/tst_language.h
index b2d242bfb..0fa44afe4 100644
--- a/tests/auto/language/tst_language.h
+++ b/tests/auto/language/tst_language.h
@@ -147,6 +147,7 @@ private slots:
void outerInGroup();
void overriddenPropertiesAndPrototypes();
void overriddenPropertiesAndPrototypes_data();
+ void overriddenVariantProperty();
void parameterTypes();
void pathProperties();
void productConditions();