aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-11-10 15:42:20 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2017-11-10 16:14:35 +0000
commit2e4d332924e17225d08ac11891828e6fefc3529b (patch)
tree6a819421acf5ae2bf33375624e23570308225cdc /tests
parent9c1aa4ece11a8481772b340123a232b70d16858d (diff)
Fix the outer value for Properties items
The outerItem we created contained just one property and was quite fragile when the 'outer' source code contained references to other properties, especially whenever item inheritance was involved. We now directly obtain the value of outer as soon an alternative requests it. Task-number: QBS-1239 Change-Id: I07f9ff85f33b445515b97f7c6f3d4f917fe3ccc8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/language/testdata/propertiesblocks.qbs23
-rw-r--r--tests/auto/language/testdata/propertiesblocks_base.qbs2
-rw-r--r--tests/auto/language/tst_language.cpp12
3 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/language/testdata/propertiesblocks.qbs b/tests/auto/language/testdata/propertiesblocks.qbs
index c67612b28..d6a8dee23 100644
--- a/tests/auto/language/testdata/propertiesblocks.qbs
+++ b/tests/auto/language/testdata/propertiesblocks.qbs
@@ -46,6 +46,29 @@ Project {
dummy.defines: outer.concat(["TWO"])
}
}
+ ProductBase {
+ name: "property_append_to_indirect_derived_outer1"
+ Properties {
+ condition: true
+ dummy.cFlags: outer.concat("PROPS")
+ }
+ }
+ ProductBase {
+ name: "property_append_to_indirect_derived_outer2"
+ Properties {
+ condition: true
+ dummy.cFlags: outer.concat("PROPS")
+ }
+ dummy.cFlags: ["PRODUCT"]
+ }
+ ProductBase {
+ name: "property_append_to_indirect_derived_outer3"
+ Properties {
+ condition: true
+ dummy.cFlags: outer.concat("PROPS")
+ }
+ dummy.cFlags: base.concat("PRODUCT")
+ }
Product {
name: "property_append_to_indirect_merged_outer"
Depends { name: "dummy" }
diff --git a/tests/auto/language/testdata/propertiesblocks_base.qbs b/tests/auto/language/testdata/propertiesblocks_base.qbs
index 71b09a3da..d68c5127f 100644
--- a/tests/auto/language/testdata/propertiesblocks_base.qbs
+++ b/tests/auto/language/testdata/propertiesblocks_base.qbs
@@ -8,4 +8,6 @@ Product {
dummy.defines: ["BASE"]
}
dummy.defines: ["SOMETHING"]
+ property stringList myCFlags: ["BASE"]
+ dummy.cFlags: myCFlags
}
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index 694c5d0c4..cb3c79c4e 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -2113,6 +2113,18 @@ void TestLanguage::propertiesBlocks_data()
<< QString("dummy.defines")
<< QVariant(QStringList() << QString("ONE") << QString("TWO"))
<< QString();
+ QTest::newRow("property_append_to_indirect_derived_outer1")
+ << QString("dummy.cFlags")
+ << QVariant(QStringList() << QString("BASE") << QString("PROPS"))
+ << QString();
+ QTest::newRow("property_append_to_indirect_derived_outer2")
+ << QString("dummy.cFlags")
+ << QVariant(QStringList() << QString("PRODUCT") << QString("PROPS"))
+ << QString();
+ QTest::newRow("property_append_to_indirect_derived_outer3")
+ << QString("dummy.cFlags")
+ << QVariant(QStringList() << QString("BASE") << QString("PRODUCT") << QString("PROPS"))
+ << QString();
QTest::newRow("property_append_to_indirect_merged_outer")
<< QString("dummy.rpaths")
<< QVariant(QStringList() << QString("ONE") << QString("TWO") << QString("$ORIGIN"))