diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2014-07-11 16:45:34 -0400 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-07-22 14:41:07 +0200 |
commit | 496707ce5ae88e124617553e8e24d887a750777c (patch) | |
tree | 9b4c9b43d6d7e226e9aeb77e873c81edf285af41 /tests/auto/blackbox | |
parent | 8c0a975afacc10f0f2c9defffc95b8ae22e8da63 (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')
-rw-r--r-- | tests/auto/blackbox/testdata/ib/assetcatalog/assetcatalogempty.qbs | 15 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16.png | bin | 0 -> 3303 bytes | |||
-rw-r--r-- | tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16@2x.png | bin | 0 -> 3336 bytes | |||
-rw-r--r-- | tests/auto/blackbox/testdata/ib/assetcatalog/main.c | 4 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 37 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.h | 1 |
6 files changed, 57 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/ib/assetcatalog/assetcatalogempty.qbs b/tests/auto/blackbox/testdata/ib/assetcatalog/assetcatalogempty.qbs new file mode 100644 index 000000000..bdd45fede --- /dev/null +++ b/tests/auto/blackbox/testdata/ib/assetcatalog/assetcatalogempty.qbs @@ -0,0 +1,15 @@ +import qbs + +Project { + property bool includeIconset + + CppApplication { + Depends { name: "ib" } + files: { + var filez = ["main.c", "empty.xcassets"]; + if (project.includeIconset) + filez.push("empty.xcassets/empty.iconset"); + return filez; + } + } +} diff --git a/tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16.png b/tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16.png Binary files differnew file mode 100644 index 000000000..65ff1ff57 --- /dev/null +++ b/tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16.png diff --git a/tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16@2x.png b/tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16@2x.png Binary files differnew file mode 100644 index 000000000..a5c69bccd --- /dev/null +++ b/tests/auto/blackbox/testdata/ib/assetcatalog/empty.xcassets/empty.iconset/icon_16x16@2x.png diff --git a/tests/auto/blackbox/testdata/ib/assetcatalog/main.c b/tests/auto/blackbox/testdata/ib/assetcatalog/main.c new file mode 100644 index 000000000..905869dfa --- /dev/null +++ b/tests/auto/blackbox/testdata/ib/assetcatalog/main.c @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} 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; diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h index 0ac522d76..320039713 100644 --- a/tests/auto/blackbox/tst_blackbox.h +++ b/tests/auto/blackbox/tst_blackbox.h @@ -187,6 +187,7 @@ private slots: void testTypeScript(); void testIconset(); void testIconsetApp(); + void testAssetCatalog(); private: QString uniqueProductName(const QString &productName) const; |