Repository: cordova-plugin-contacts
Updated Branches:
  refs/heads/master 1c6668ef1 -> 8a08f75ca


CB-10881 Add extra logging to gather more information about tests behavior


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

Branch: refs/heads/master
Commit: 8a08f75cad9e6b127884e9e5e2fae3e44225c702
Parents: 1c6668e
Author: Omar Mefire <omef...@gmail.com>
Authored: Tue Mar 29 12:51:46 2016 -0700
Committer: Omar Mefire <omef...@gmail.com>
Committed: Tue Mar 29 14:39:38 2016 -0700

----------------------------------------------------------------------
 tests/tests.js | 100 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 92 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/blob/8a08f75c/tests/tests.js
----------------------------------------------------------------------
diff --git a/tests/tests.js b/tests/tests.js
index 951a284..18def3a 100644
--- a/tests/tests.js
+++ b/tests/tests.js
@@ -49,7 +49,7 @@ exports.defineAutoTests = function() {
         };
 
     var MEDIUM_TIMEOUT = 30000;
-
+    
     var removeContact = function(done) {
         if (!gContactObj) {
             done();
@@ -116,6 +116,24 @@ exports.defineAutoTests = function() {
             removeNext(nextToRemove);
         }, done, obj);
     }
+    
+    // Convert seconds to HH:MM:SS format: 
http://stackoverflow.com/a/6313008/91607
+    function toHHMMSS(secs) {
+        var sec_num = parseInt(secs, 10); // don't forget the second param
+        var hours   = Math.floor(sec_num / 3600);
+        var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
+        var seconds = sec_num - (hours * 3600) - (minutes * 60);
+
+        if (hours   < 10) {hours   = "0" + hours;}
+        if (minutes < 10) {minutes = "0" + minutes;}
+        if (seconds < 10) {seconds = "0" + seconds;}
+        var time = hours + ':' + minutes  + ':' + seconds;
+        return time;
+    }
+    
+    function getTimeInHHMMSS(date) {
+        return date.getHours() + ":" + date.getMinutes() + ":" + 
date.getSeconds();
+    }
 
     describe("Contacts (navigator.contacts)", function() {
         it("contacts.spec.1 should exist", function() {
@@ -198,7 +216,7 @@ exports.defineAutoTests = function() {
             });
 
             describe("with newly-created contact", function() {
-
+                
                 afterEach(function (done) {
                     removeContact(done);
                 });
@@ -452,6 +470,10 @@ exports.defineAutoTests = function() {
             });
 
             it("contacts.spec.22 update a contact", function(done) {
+
+                var startTime = new Date();
+                console.log("Spec22 - Start Time: " + 
getTimeInHHMMSS(startTime));
+                
                 // Save method is not supported on Windows platform
                 if (isWindows || isWindowsPhone8 || isIOSPermissionBlocked) {
                     pending();
@@ -477,7 +499,12 @@ exports.defineAutoTests = function() {
                     "birthday": aDay
                 };
 
-                var saveFail = fail.bind(null, done);
+                var saveFail = function() {
+                    var endTime = new Date();
+                    console.log("Spec22 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                    console.log("Time Elapsed: " + toHHMMSS( 
(startTime.getTime() / 1000) - (endTime.getTime() / 1000) ));
+                    fail.bind(null, done);
+                };
 
                 function updateSuccess(obj) {
                     expect(obj).toBeDefined();
@@ -486,6 +513,11 @@ exports.defineAutoTests = function() {
                     
expect(obj.birthday.toDateString()).toBe(bDay.toDateString());
                     expect(obj.emails.length).toBe(1);
                     expect(obj.emails[0].value).toBe('h...@there.com');
+                    
+                    var endTime = new Date();
+                    console.log("Spec22 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                    console.log("Time Elapsed: " + toHHMMSS( 
(startTime.getTime() / 1000) - (endTime.getTime() / 1000) ));
+                    
                     done();
                 }
 
@@ -511,13 +543,28 @@ exports.defineAutoTests = function() {
             });
 
             it("contacts.spec.23 calling remove on a contact that has an id of 
null should return ContactError.UNKNOWN_ERROR", function(done) {
+                var startTime = new Date();
+                console.log("Spec23 - Start Time: " + 
getTimeInHHMMSS(startTime));
+                
+                var unexpectedSuccess = function() {
+                    var endTime = new Date();
+                    console.log("Spec23 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                    console.log("Time Elapsed: " + toHHMMSS( (startTime / 
1000) - (endTime / 1000) ));
+                    
+                    fail.bind(null, done);
+                };
                 var expectedFail = function(result) {
                     expect(result.code).toBe(ContactError.UNKNOWN_ERROR);
+                    
+                    var endTime = new Date();
+                    console.log("Spec23 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                    console.log("Time Elapsed: " + toHHMMSS( (startTime / 
1000) - (endTime / 1000) ));
+                    
                     done();
                 };
 
                 var rmContact = new Contact();
-                rmContact.remove(fail.bind(null, done), expectedFail);
+                rmContact.remove(unexpectedSuccess, expectedFail);
             });
 
             it("contacts.spec.24 calling remove on a contact that does not 
exist should return ContactError.UNKNOWN_ERROR", function(done) {
@@ -574,6 +621,10 @@ exports.defineAutoTests = function() {
             }, MEDIUM_TIMEOUT);
 
             it("contacts.spec.26 Creating, saving, finding a contact should 
work, removing it should work", function(done) {
+                
+                var startTime = new Date();
+                console.log("Spec26 - Start Time: " + 
getTimeInHHMMSS(startTime));
+                
                 // Save method is not supported on Windows platform
                 if (isWindows || isWindowsPhone8 || isIOSPermissionBlocked) {
                     pending();
@@ -586,14 +637,28 @@ exports.defineAutoTests = function() {
                 saveAndFindBy(contact, ["displayName", "name"], contactName, 
function() {
                     contact.remove(function() {
                         contact = null;
+                        
+                        var endTime = new Date();
+                        console.log("Spec26 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                        console.log("Time Elapsed: " + toHHMMSS( (startTime / 
1000) - (endTime / 1000) ));
+                    
                         done();
                     }, function(e) {
-                        throw ("Newly created contact's remove function 
invoked error callback. Test failed.");
+                        
+                        var endTime = new Date();
+                        console.log("Spec26 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                        console.log("Time Elapsed: " + toHHMMSS( (startTime / 
1000) - (endTime / 1000) ));
+                        
+                        throw ("Newly created contact's remove function 
invoked error callback. Test failed: " + JSON.stringify(e));
                     });
                 });
             }, MEDIUM_TIMEOUT);
 
             it("contacts.spec.27 Should not be able to delete the same contact 
twice", function(done) {
+                
+                var startTime = new Date();
+                console.log("Spec27 - Start Time: " + 
getTimeInHHMMSS(startTime));
+                
                 // Save method is not supported on Windows platform
                 if (isWindows || isWindowsPhone8 || isIOSPermissionBlocked) {
                     pending();
@@ -603,14 +668,33 @@ exports.defineAutoTests = function() {
                 contact.name = new ContactName();
                 contact.name.familyName = contactName;
                 contact.note = "DeleteMe2";
+                
+                var failureHandler = function() {
+                    console.log("Inside failureHandler");
+                    var endTime = new Date();
+                    console.log("Spec27 - EndTime: " + endTime);
+                    console.log("Time Elapsed: " + toHHMMSS( (startTime / 
1000) - (endTime / 1000) ));
+                };
+                
                 saveAndFindBy(contact, ["displayName", "name"], contactName, 
function() {
                     contact.remove(function() {
                         var findWin = function(seas) {
                             expect(seas.length).toBe(0);
-                            contact.remove(function() {
-                                throw ("Success callback called after 
non-existent Contact object called remove(). Test failed.");
+                            contact.remove(function(e) {
+                                
+                                var endTime = new Date();
+                                console.log("Spec27 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                                console.log("Time Elapsed: " + toHHMMSS( 
(startTime / 1000) - (endTime / 1000) ));
+                                
+                                throw ("Success callback called after 
non-existent Contact object called remove(). Test failed: " + 
JSON.stringify(e));
                             }, function(e) {
                                 contact = null;
+                                
+                                console.log("Inside contact.remove() failure 
callback");
+                                var endTime = new Date();
+                                console.log("Spec27 - EndTime: " + 
getTimeInHHMMSS(endTime));
+                                console.log("Time Elapsed: " + toHHMMSS( 
(startTime / 1000) - (endTime / 1000) ));
+                        
                                 
expect(e.code).toBe(ContactError.UNKNOWN_ERROR);
                                 done();
                             });
@@ -619,7 +703,7 @@ exports.defineAutoTests = function() {
                         obj.filter = contactName;
                         obj.multiple = true;
                         navigator.contacts.find(["displayName", "name", 
"phoneNumbers", "emails"], findWin, fail, obj);
-                    }, fail);
+                    }, failureHandler);
                 });
             }, MEDIUM_TIMEOUT);
 


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

Reply via email to