diff --git a/build/run-testsapp.grunt.js b/build/run-testsapp.grunt.js
index 3c9204ffd..238ab99a2 100644
--- a/build/run-testsapp.grunt.js
+++ b/build/run-testsapp.grunt.js
@@ -13,7 +13,7 @@ module.exports = {
emulatorProcessIdentifier: grunt.option("emuPId"),
emuAvdName: grunt.option("avd"),
outFile: grunt.option("logFilePath"),
- androidRuntimePath: grunt.option("androidRuntimePath"),
+ runtimePath: grunt.option("runtimePath"),
showEmu: grunt.option("showEmu")
};
@@ -38,7 +38,7 @@ module.exports = {
modulesPath: args.modulesPath || "./bin/dist/tns-core-modules-" + modulesPackageConfig.version + ".tgz",
emuAvdName: args.emuAvdName,
outfile: args.outFile || "./TestRunResult.txt",
- androidFrameworkArgument: args.androidRuntimePath ? " --frameworkPath=" + args.androidRuntimePath : "",
+ frameworkArgument: args.runtimePath ? " --frameworkPath=" + args.runtimePath : "",
showEmu: args.showEmu || false,
workingDir:".testsapprun",
@@ -112,6 +112,27 @@ module.exports = {
return newContent;
}
}
+ },
+ addiOSPermissions: {
+ src: localCfg.testsAppName + "-Info.plist",
+ dest: pathModule.join(localCfg.applicationDir,"/platforms/ios/", localCfg.testsAppName) + "/",
+ cwd: pathModule.join(localCfg.applicationDir,"/platforms/ios/", localCfg.testsAppName),
+ expand: true,
+ options: {
+ process: function(content, srcPath) {
+ var newContent = content;
+
+ var lastDictLocator = /(<\/dict>\s*<\/plist>)$/gm;
+
+ if (!/NSAppTransportSecurity/.test(content)) {
+ newContent = newContent.replace(lastDictLocator, "NSAppTransportSecurity\n$1");
+ }
+ if (!/NSAllowsArbitraryLoads/.test(content)) {
+ newContent = newContent.replace(lastDictLocator, "\nNSAllowsArbitraryLoads\n\n\n$1");
+ }
+ return newContent;
+ }
+ }
}
},
exec: {
@@ -127,12 +148,8 @@ module.exports = {
cmd: localCfg.tnsPath + " create " + localCfg.testsAppName,
cwd: localCfg.workingDir
},
- addAndroidPlatform: {
- cmd: "tns platform add android " + localCfg.androidFrameworkArgument,
- cwd: localCfg.applicationDir
- },
- buildAndroidApp: {
- cmd: "tns build android",
+ addPlatform: {
+ cmd: "tns platform add " + localCfg.platform.toLowerCase() + " " + localCfg.frameworkArgument,
cwd: localCfg.applicationDir
},
restartAdb: {
@@ -163,7 +180,16 @@ module.exports = {
maxBuffer: Infinity
}
}
- }
+ },
+ buildApp: {
+ command: "tns build " + localCfg.platform.toLowerCase(),
+ options: {
+ execOptions: {
+ maxBuffer: Infinity,
+ cwd: localCfg.applicationDir
+ }
+ }
+ },
}
});
@@ -178,15 +204,17 @@ module.exports = {
return templatedTaskName.replace(/\{platform\}/, localCfg.platform);
}
- grunt.registerTask("doPostPlatformAdd", [
+ grunt.registerTask("doPostPlatformAddAndroid", [
"exec:restartAdb"
]);
+ grunt.registerTask("doPostPlatformAddiOS", [
+ ]);
grunt.registerTask("testsapp", [
"clean:workingDir",
"mkdir:workingDir",
- getPlatformSpecificTask("exec:kill{platform}Emulator"),
- getPlatformSpecificTask("exec:start{platform}Emulator"),
+// getPlatformSpecificTask("exec:kill{platform}Emulator"),
+// getPlatformSpecificTask("exec:start{platform}Emulator"),
"exec:createApp",
"clean:originalAppDir",
@@ -196,10 +224,10 @@ module.exports = {
"copy:modulesToDir",
"clean:tempExtractedModules",
- getPlatformSpecificTask("exec:add{platform}Platform"),
+ "exec:addPlatform",
getPlatformSpecificTask("copy:add{platform}Permissions"),
- getPlatformSpecificTask("exec:build{platform}App"),
- "doPostPlatformAdd",
+ "shell:buildApp",
+ getPlatformSpecificTask("doPostPlatformAdd{platform}"),
getPlatformSpecificTask("exec:uninstallExisting{platform}App"),
getPlatformSpecificTask("exec:installNew{platform}App"),
diff --git a/running-tests.md b/running-tests.md
index 63a56ead4..4cce032b6 100644
--- a/running-tests.md
+++ b/running-tests.md
@@ -46,9 +46,11 @@ emulator process, as the emulator sometimes hangs.
tests.
- `logFilePath`: [Optional] The path to the file, which the test app run
log will get saved to. Defaults to "./TestRunResult.txt".
-- `androidRuntimePath`: [Optional] The path to a custom Android Runtime
+- `runtimePath`: [Optional] The path to a custom iOS or Android Runtime
package to have the tests run onto. If not specified, the newest available
-build on [npmjs.com](http://npmjs.com).
+build on [npmjs.com](http://npmjs.com) -
+[tns-ios](https://www.npmjs.com/package/tns-ios) or
+[tns-android](https://www.npmjs.com/package/tns-android).
# Sample run:
```