summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-11-19 15:27:07 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2013-11-21 15:20:34 +0100
commit146a9377c2cfb1ba26f6243509a4db40342be927 (patch)
tree85e6afc20b252f3971c95d3ca5cac5cdd6190ed8 /tests
parent823b16071b85b7e2f8f340f64fbf4ddabeb7db41 (diff)
downloadqbs-146a9377c2cfb1ba26f6243509a4db40342be927.tar.gz
API: Allow adding files to a group with a directory prefix.
This case is not problematic. Change-Id: I388df6180b231364a8e185eb85aee5adff417965 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/api/testdata/project-editing/project.qbs10
-rw-r--r--tests/auto/api/testdata/project-editing/subdir/file.txt0
-rw-r--r--tests/auto/api/tst_api.cpp25
3 files changed, 32 insertions, 3 deletions
diff --git a/tests/auto/api/testdata/project-editing/project.qbs b/tests/auto/api/testdata/project-editing/project.qbs
index 1d7704fe6..9190f846c 100644
--- a/tests/auto/api/testdata/project-editing/project.qbs
+++ b/tests/auto/api/testdata/project-editing/project.qbs
@@ -17,5 +17,15 @@ CppApplication {
return file;
}
}
+ Group {
+ name: "Existing Group 4"
+ prefix: "subdir/"
+ files: []
+ }
+ Group {
+ name: "Existing Group 5"
+ prefix: "blubb"
+ files: []
+ }
files: "main.cpp"
}
diff --git a/tests/auto/api/testdata/project-editing/subdir/file.txt b/tests/auto/api/testdata/project-editing/subdir/file.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/api/testdata/project-editing/subdir/file.txt
diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp
index c33f88010..536603d7d 100644
--- a/tests/auto/api/tst_api.cpp
+++ b/tests/auto/api/tst_api.cpp
@@ -130,7 +130,7 @@ void TestApi::changeContent()
qbs::ProjectData projectData = project.projectData();
QCOMPARE(projectData.allProducts().count(), 1);
qbs::ProductData product = projectData.allProducts().first();
- QCOMPARE(product.groups().count(), 4);
+ QCOMPARE(product.groups().count(), 6);
// Error handling: Invalid product.
qbs::ErrorInfo errorInfo = project.addGroup(qbs::ProductData(), "blubb");
@@ -163,7 +163,7 @@ void TestApi::changeContent()
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
product = projectData.products().first();
- QCOMPARE(product.groups().count(), 6);
+ QCOMPARE(product.groups().count(), 8);
qbs::GroupData group = findGroup(product, "New Group 1");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "file.h" << "file.cpp");
@@ -173,7 +173,7 @@ void TestApi::changeContent()
projectData = project.projectData();
QVERIFY(projectData.products().count() == 1);
product = projectData.products().first();
- QCOMPARE(product.groups().count(), 6);
+ QCOMPARE(product.groups().count(), 8);
group = findGroup(product, "New Group 1");
QVERIFY(group.isValid());
errorInfo = project.addFiles(product, group, QStringList() << "file.cpp");
@@ -215,6 +215,25 @@ void TestApi::changeContent()
QVERIFY(errorInfo.hasError());
QVERIFY2(errorInfo.toString().contains("complex"), qPrintable(errorInfo.toString()));
+ // Add file to group with directory prefix.
+ projectData = project.projectData();
+ QVERIFY(projectData.products().count() == 1);
+ product = projectData.products().first();
+ group = findGroup(product, "Existing Group 4");
+ QVERIFY(group.isValid());
+ errorInfo = project.addFiles(product, group, QStringList() << "file.txt");
+ QVERIFY2(!errorInfo.hasError(), qPrintable(errorInfo.toString()));
+
+ // Error handling: Add file to group with non-directory prefix.
+ projectData = project.projectData();
+ QVERIFY(projectData.products().count() == 1);
+ product = projectData.products().first();
+ group = findGroup(product, "Existing Group 5");
+ QVERIFY(group.isValid());
+ errorInfo = project.addFiles(product, group, QStringList() << "newfile1.txt");
+ QVERIFY(errorInfo.hasError());
+ QVERIFY2(errorInfo.toString().contains("prefix"), qPrintable(errorInfo.toString()));
+
// Check whether building will take the newly added cpp file into account.
// This must not be moved below the re-resolving test!!!
qbs::BuildOptions buildOptions;