You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2012/05/07 22:52:06 UTC

[6/8] js commit: laid out last getCurrentPosition tests

laid out last getCurrentPosition tests


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/commit/ee713bbc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/tree/ee713bbc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/diff/ee713bbc

Branch: refs/heads/master
Commit: ee713bbc962a9d9d096e051f91b9885ae0d33641
Parents: 95d979d
Author: Fil Maj <ma...@gmail.com>
Authored: Thu Mar 22 23:47:49 2012 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Mon May 7 13:51:05 2012 -0700

----------------------------------------------------------------------
 test/test.geolocation.js |   80 ++++++++++++++++++++++++-----------------
 1 files changed, 47 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/ee713bbc/test/test.geolocation.js
----------------------------------------------------------------------
diff --git a/test/test.geolocation.js b/test/test.geolocation.js
index e5fe4f2..87b1b24 100644
--- a/test/test.geolocation.js
+++ b/test/test.geolocation.js
@@ -11,44 +11,58 @@ describe("geolocation", function () {
         exec.reset();
     });
 
-    describe("when getting the current position", function () {
-        beforeEach(function() {
-            geo.lastPosition = null; // reset the cached position
-        });
+    describe("getCurrentPosition", function() {
+        describe("arguments", function () {
+            beforeEach(function() {
+                geo.lastPosition = null; // reset the cached position
+            });
 
-        it("uses default PositionOptions if none are specified", function () {
-            geo.getCurrentPosition(s, e);
-            expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [false, Infinity, 0]);
-        });
+            it("uses default PositionOptions if none are specified", function () {
+                geo.getCurrentPosition(s, e);
+                expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [false, Infinity, 0]);
+            });
 
-        it("uses the maximumAge option if specified", function () {
-            geo.getCurrentPosition(s, e, {maximumAge: 10});
-            expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [false, Infinity, 10]);
-        });
+            it("uses the maximumAge option if specified", function () {
+                geo.getCurrentPosition(s, e, {maximumAge: 10});
+                expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [false, Infinity, 10]);
+            });
 
-        it("uses the enableHighAccuracy option if specified", function () {
-            geo.getCurrentPosition(s, e, {enableHighAccuracy: true, maximumAge: 100});
-            expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [true, Infinity, 100]);
-        });
+            it("uses the enableHighAccuracy option if specified", function () {
+                geo.getCurrentPosition(s, e, {enableHighAccuracy: true, maximumAge: 100});
+                expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [true, Infinity, 100]);
+            });
 
-        it("uses the timeout option if specified and positive", function () {
-            geo.getCurrentPosition(s, e, {timeout: 1000});
-            expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [false, 1000, 0]);
-        });
-        it("uses a timeout value of 0 if specified and negative, which should call the error callback immediately (since we have no cached position)", function () {
-            geo.getCurrentPosition(s, e, {timeout: -1000});
-            expect(e).toHaveBeenCalledWith({
-                code:PositionError.TIMEOUT,
-                message:"timeout value in PositionOptions set to 0 and no cached Position object available, or cached Position object's age exceed's provided PositionOptions' maximumAge parameter."
+            it("uses the timeout option if specified and positive", function () {
+                geo.getCurrentPosition(s, e, {timeout: 1000});
+                expect(exec).toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function), "Geolocation", "getLocation", [false, 1000, 0]);
+            });
+            it("uses a timeout value of 0 if specified and negative, which should call the error callback immediately (since we have no cached position)", function () {
+                geo.getCurrentPosition(s, e, {timeout: -1000});
+                expect(e).toHaveBeenCalledWith({
+                    code:PositionError.TIMEOUT,
+                    message:"timeout value in PositionOptions set to 0 and no cached Position object available, or cached Position object's age exceed's provided PositionOptions' maximumAge parameter."
+                });
+            });
+            it("can be used with one, two or three arguments", function() {
+                expect(function() { geo.getCurrentPosition(s); }).not.toThrow();
+                expect(function() { geo.getCurrentPosition(s,e); }).not.toThrow();
+                expect(function() { geo.getCurrentPosition(s,e,{}); }).not.toThrow();
+            });
+            it("should throw an exception if used with no arguments", function() {
+                expect(function() { geo.getCurrentPosition();}).toThrow("getCurrentPosition must be called with at least one argument.");
+            });
+        })
+        describe("position acquisition", function() {
+            it("should provide a cached position if one exists and has a timestamp value conforming with passed in maximumAge", function() {
+            });
+            it("should fire error callback with TIMEOUT code after timeout period has elapsed and no position is available", function() {
+            });
+            it("should not fire error callback with TIMEOUT if a position is obtained within the timeout period", function() {
+            });
+            it("should fire error callback with POSITION_UNAVAILABLE if error occurs during acquisition before timeout expires", function() {
+            });
+            it("should not fire error callback with TIMEOUT if error occurs during acquisition before timeout expires", function() {
             });
-        });
-        it("can be used with one, two or three arguments", function() {
-            expect(function() { geo.getCurrentPosition(s); }).not.toThrow();
-            expect(function() { geo.getCurrentPosition(s,e); }).not.toThrow();
-            expect(function() { geo.getCurrentPosition(s,e,{}); }).not.toThrow();
-        });
-        it("should throw an exception if used with no arguments", function() {
-            expect(function() { geo.getCurrentPosition();}).toThrow("getCurrentPosition must be called with at least one argument.");
         });
     });