aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/corelib/language/evaluatorscriptclass.cpp2
-rw-r--r--tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs5
-rw-r--r--tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs10
-rw-r--r--tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs5
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp6
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
6 files changed, 28 insertions, 1 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp
index ecd7890db..8230d3990 100644
--- a/src/lib/corelib/language/evaluatorscriptclass.cpp
+++ b/src/lib/corelib/language/evaluatorscriptclass.cpp
@@ -177,7 +177,7 @@ private:
? data->item->scope() : data->item;
conditionScope = data->evaluator->scriptValue(conditionScopeItem);
QBS_ASSERT(conditionScope.isObject(), return);
- conditionFileScope = data->evaluator->fileScope(conditionScopeItem->file());
+ conditionFileScope = data->evaluator->fileScope(value->file());
}
engine->currentContext()->pushScope(conditionFileScope);
pushItemScopes(conditionScopeItem);
diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs
new file mode 100644
index 000000000..32b8d2a03
--- /dev/null
+++ b/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs
@@ -0,0 +1,5 @@
+import qbs
+
+Product {
+ Depends { name: "amodule" }
+}
diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs
new file mode 100644
index 000000000..92ea2cd45
--- /dev/null
+++ b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs
@@ -0,0 +1,10 @@
+import qbs
+import qbs.File
+
+Module {
+ Depends { name: "depmodule" }
+ Properties {
+ condition: File.exists("blubb")
+ depmodule.prop: "blubb"
+ }
+}
diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs
new file mode 100644
index 000000000..4c2f9281d
--- /dev/null
+++ b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs
@@ -0,0 +1,5 @@
+import qbs
+
+Module {
+ property string prop
+}
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 784477986..60fe58d20 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -4187,6 +4187,12 @@ void TestBlackbox::iconsetApp()
QVERIFY(regularFileExists(relativeProductBuildDir("iconsetapp") + "/iconsetapp.app/Contents/Resources/white.icns"));
}
+void TestBlackbox::importInPropertiesCondition()
+{
+ QDir::setCurrent(testDataDir + "/import-in-properties-condition");
+ QCOMPARE(runQbs(), 0);
+}
+
void TestBlackbox::importingProduct()
{
QDir::setCurrent(testDataDir + "/importing-product");
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 5d70b8dc0..64e3b0770 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -137,6 +137,7 @@ private slots:
void groupsInModules();
void iconset();
void iconsetApp();
+ void importInPropertiesCondition();
void importingProduct();
void infoPlist();
void inputsFromDependencies();