You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sg...@apache.org on 2016/01/05 06:55:48 UTC

cordova-plugin-geolocation git commit: CB-10286 Don't skip automatic tests on Android devices

Repository: cordova-plugin-geolocation
Updated Branches:
  refs/heads/master a818d6dcc -> ed5bfa42d


CB-10286 Don't skip automatic tests on Android devices

github close #65


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation/commit/ed5bfa42
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation/tree/ed5bfa42
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation/diff/ed5bfa42

Branch: refs/heads/master
Commit: ed5bfa42dbdd23dc7364b2ed3562ed1bb8d0a595
Parents: a818d6d
Author: Alexander Sorokin <al...@akvelon.com>
Authored: Thu Dec 31 14:26:33 2015 +0300
Committer: sgrebnov <v-...@microsoft.com>
Committed: Tue Jan 5 08:55:04 2016 +0300

----------------------------------------------------------------------
 tests/plugin.xml |  1 +
 tests/tests.js   | 36 +++++++++++++++---------------------
 2 files changed, 16 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation/blob/ed5bfa42/tests/plugin.xml
----------------------------------------------------------------------
diff --git a/tests/plugin.xml b/tests/plugin.xml
index 592eec9..de76b83 100644
--- a/tests/plugin.xml
+++ b/tests/plugin.xml
@@ -26,6 +26,7 @@
     <name>Cordova Geolocation Plugin Tests</name>
     <license>Apache 2.0</license>
 
+    <dependency id="cordova-plugin-device" url="https://github.com/apache/cordova-plugin-device" />
     <js-module src="tests.js" name="tests">
     </js-module>
 </plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation/blob/ed5bfa42/tests/tests.js
----------------------------------------------------------------------
diff --git a/tests/tests.js b/tests/tests.js
index 3566211..65a9c69 100644
--- a/tests/tests.js
+++ b/tests/tests.js
@@ -55,8 +55,16 @@ exports.defineAutoTests = function () {
         });
     };
 
+    // On Windows, some tests prompt user for permission to use geolocation and interrupt autotests run
     var isWindowsStore = (cordova.platformId == "windows8") || (cordova.platformId == "windows" && !WinJS.Utilities.isPhone);
-    var isAndroid = cordova.platformId == "android";
+    var majorDeviceVersion = null;
+    var versionRegex = /(\d)\..+/.exec(device.version);
+    if (versionRegex !== null) {
+        majorDeviceVersion = Number(versionRegex[1]);
+    }
+    // Starting from Android 6.0 there are confirmation dialog which prevents us from running auto tests in silent mode (user interaction needed)
+    // Also, Android emulator doesn't provide geo fix without manual interactions or mocks
+    var skipAndroid = cordova.platformId == "android" && (device.isVirtual || majorDeviceVersion >= 6);
     var isIOSSim = false; // if iOS simulator does not have a location set, it will fail.
 
 
@@ -88,10 +96,7 @@ exports.defineAutoTests = function () {
         describe('error callback', function () {
 
             it("geolocation.spec.5 should be called if we set timeout to 0 and maximumAge to a very small number", function (done) {
-                // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running.
-                // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect
-                // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually.
-                if (isWindowsStore || isAndroid) {
+                if (isWindowsStore || skipAndroid) {
                     pending();
                 }
 
@@ -105,8 +110,7 @@ exports.defineAutoTests = function () {
             });
 
             it("geolocation.spec.9 on failure should return PositionError object with error code constants", function (done) {
-                // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running.
-                if (isWindowsStore) {
+                if (isWindowsStore || skipAndroid) {
                     pending();
                 }
 
@@ -130,10 +134,7 @@ exports.defineAutoTests = function () {
         describe('success callback', function () {
 
             it("geolocation.spec.6 should be called with a Position object", function (done) {
-                // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running.
-                // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect
-                // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually.
-                if (isWindowsStore || isAndroid) {
+                if (isWindowsStore || skipAndroid) {
                     pending();
                 }
 
@@ -178,10 +179,7 @@ exports.defineAutoTests = function () {
             });
 
             it("geolocation.spec.7 should be called if we set timeout to 0 and maximumAge to a very small number", function (done) {
-                // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running.
-                // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect
-                // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually.
-                if (isWindowsStore || isAndroid) {
+                if (isWindowsStore || skipAndroid) {
                     pending();
                 }
 
@@ -196,8 +194,7 @@ exports.defineAutoTests = function () {
             });
 
             it("geolocation.spec.10 on failure should return PositionError object with error code constants", function (done) {
-                // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running.
-                if (isWindowsStore) {
+                if (isWindowsStore || skipAndroid) {
                     pending();
                 }
 
@@ -231,10 +228,7 @@ exports.defineAutoTests = function () {
             });
 
             it("geolocation.spec.8 should be called with a Position object", function (done) {
-                // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running.
-                // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect
-                // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually.
-                if (isWindowsStore || isAndroid || isIOSSim) {
+                if (isWindowsStore || skipAndroid || isIOSSim) {
                     pending();
                 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org