aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/tst_blackbox.cpp
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@petroules.com>2014-07-11 16:45:34 -0400
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-07-22 14:41:07 +0200
commit496707ce5ae88e124617553e8e24d887a750777c (patch)
tree9b4c9b43d6d7e226e9aeb77e873c81edf285af41 /tests/auto/blackbox/tst_blackbox.cpp
parent8c0a975afacc10f0f2c9defffc95b8ae22e8da63 (diff)
Add support for compiling Xcode asset catalogs.
Task-number: QBS-389 Change-Id: I2d93a55228c6ada801ed889404fac753182b82f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/blackbox/tst_blackbox.cpp')
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index c791a6993..8e0edef9e 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -2295,6 +2295,43 @@ void TestBlackbox::testIconsetApp()
QVERIFY(regularFileExists(productBuildDir("iconsetapp") + "/iconsetapp.app/Contents/Resources/white.icns"));
}
+void TestBlackbox::testAssetCatalog()
+{
+ if (!HostOsInfo::isOsxHost())
+ SKIP_TEST("only applies on OS X");
+
+ QDir::setCurrent(testDataDir + QLatin1String("/ib/assetcatalog"));
+
+ QbsRunParameters params;
+ params.arguments = QStringList() << "-f" << "assetcatalogempty.qbs";
+ QCOMPARE(runQbs(params), 0);
+
+ // empty asset catalogs must still produce output
+ QVERIFY((bool)m_qbsStdout.contains("actool"));
+
+ // should not produce a CAR since minimumOsxVersion will be < 10.9
+ QVERIFY(!regularFileExists(productBuildDir("assetcatalogempty") + "/assetcatalogempty.app/Contents/Resources/Assets.car"));
+
+ rmDirR(buildDir);
+ params.arguments.append("cpp.minimumOsxVersion:10.9"); // force CAR generation
+ QCOMPARE(runQbs(params), 0);
+
+ // empty asset catalogs must still produce output
+ QVERIFY((bool)m_qbsStdout.contains("actool"));
+ QVERIFY(regularFileExists(productBuildDir("assetcatalogempty") + "/assetcatalogempty.app/Contents/Resources/Assets.car"));
+
+ // this asset catalog happens to have an embedded icon set,
+ // but this should NOT be built since it is not in the files list
+ QVERIFY(!(bool)m_qbsStdout.contains("iconutil"));
+
+ // now we'll add the iconset
+ rmDirR(buildDir);
+ params.arguments.append("project.includeIconset:true");
+ QCOMPARE(runQbs(params), 0);
+ QVERIFY((bool)m_qbsStdout.contains("actool"));
+ QVERIFY((bool)m_qbsStdout.contains("iconutil"));
+}
+
QString TestBlackbox::uniqueProductName(const QString &productName) const
{
return productName + '.' + buildProfileName;