summaryrefslogtreecommitdiff
path: root/tests/auto/language/tst_language.cpp
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/tst_language.cpp
parentd8a5edfb8c5bb0556d33d8eac512be41472585fb (diff)
downloadqbs-1d732c3d2064916abbeeff54efe262a5c58a7753.tar.gz
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/tst_language.cpp')
-rw-r--r--tests/auto/language/tst_language.cpp20
1 files changed, 20 insertions, 0 deletions
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;