diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-11-10 15:42:20 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-10 16:14:35 +0000 |
commit | 2e4d332924e17225d08ac11891828e6fefc3529b (patch) | |
tree | 6a819421acf5ae2bf33375624e23570308225cdc /tests | |
parent | 9c1aa4ece11a8481772b340123a232b70d16858d (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.qbs | 23 | ||||
-rw-r--r-- | tests/auto/language/testdata/propertiesblocks_base.qbs | 2 | ||||
-rw-r--r-- | tests/auto/language/tst_language.cpp | 12 |
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")) |