You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2014/08/19 02:50:10 UTC

[2/3] git commit: merged with new tests folder

merged with new tests folder


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

Branch: refs/heads/master
Commit: c95343e22a60882d01caa41abf4e77f65243e923
Parents: 6be1045 3fa78ab
Author: Edna Morales <ed...@ednas-mbp-2.raleigh.ibm.com>
Authored: Wed Aug 13 12:25:49 2014 -0400
Committer: Edna Morales <ed...@ednas-mbp-2.raleigh.ibm.com>
Committed: Wed Aug 13 12:25:49 2014 -0400

----------------------------------------------------------------------
 RELEASENOTES.md  |  11 +-
 doc/pl/index.md  |   2 +-
 plugin.xml       |   2 +-
 test/tests.js    | 505 --------------------------------------------------
 tests/plugin.xml |  31 ++++
 tests/tests.js   | 505 ++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 543 insertions(+), 513 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/c95343e2/tests/tests.js
----------------------------------------------------------------------
diff --cc tests/tests.js
index 0000000,bafbf06..91da2d9
mode 000000,100644..100644
--- a/tests/tests.js
+++ b/tests/tests.js
@@@ -1,0 -1,547 +1,505 @@@
+ /*
+  *
+  * Licensed to the Apache Software Foundation (ASF) under one
+  * or more contributor license agreements.  See the NOTICE file
+  * distributed with this work for additional information
+  * regarding copyright ownership.  The ASF licenses this file
+  * to you under the Apache License, Version 2.0 (the
+  * "License"); you may not use this file except in compliance
+  * with the License.  You may obtain a copy of the License at
+  *
+  *   http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing,
+  * software distributed under the License is distributed on an
+  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  * KIND, either express or implied.  See the License for the
+  * specific language governing permissions and limitations
+  * under the License.
+  *
+  */
+ 
+ exports.defineAutoTests = function () {
+ 
+     describe('Battery (navigator.battery)', function () {
+ 
+         it("battery.spec.1 should exist", function () {
+             expect(navigator.battery).toBeDefined();
+         });
+     });
+ 
+     describe('Battery Events', function () {
+         // BatteryStatus
+         beforeEach(function () {
+             // Custom Matcher
+             jasmine.Expectation.addMatchers({
+                 toBatteryStatus : function () {
+                     return {
+                         compare : function (status, message) {
+                             var pass = status;
+                             return {
+                                 pass : pass,
+                                 message : message
+                             };
+                         }
+                     };
+                 }
+             });
+         });
+ 
+         it("battery.spec.2 should fire batterystatus events", function (done) {
+             var onEvent = function () {
+                 window.removeEventListener("batterystatus", onEvent, false);
+                 onEventFlag = true;
+             },
+             onEventFlag = false;
+             // batterystatus -> 30
+             window.addEventListener("batterystatus", onEvent, false);
+ 
+             navigator.battery._status({
+                 level : 30,
+                 isPlugged : false
+             });
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterystatus" event, it did not fire');
+                 done();
+             }, 100);
+ 
+         });
+ 
+         it("battery.spec.3 should fire batterylow event (30 -> 20)", function (done) {
+ 
+             var onEvent = function () {
+                 window.removeEventListener("batterylow", onEvent, false);
+                 onEventFlag = true;
+             },
+             onEventFlag = false;
+             // batterylow 30 -> 20
+             navigator.battery._status({
+                 level : 30,
+                 isPlugged : false
+             });
+             window.addEventListener("batterylow", onEvent, false);
+             navigator.battery._status({
+                 level : 20,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterylow" event (30 -> 20), it did not fire');
+                 done();
+             }, 100);
+ 
+         });
+ 
+         it("battery.spec.3.1 should fire batterylow event (30 -> 19)", function (done) {
+ 
+             var onEvent = function () {
+                 window.removeEventListener("batterylow", onEvent, false);
+                 onEventFlag = true;
+             },
+             onEventFlag = false;
+ 
+             // batterylow 30 -> 19
+ 
+             navigator.battery._status({
+                 level : 30,
+                 isPlugged : false
+             });
+             window.addEventListener("batterylow", onEvent, false);
+             navigator.battery._status({
+                 level : 19,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterylow" event (30 -> 19), it did not fire');
+                 done();
+             }, 100);
+         });
+ 
+         it("battery.spec.3.2 should not fire batterylow event (5 -> 20)", function (done) {
+ 
+             var onEvent = function () {
+                 window.removeEventListener("batterylow", onEvent, false);
+                 onEventFlag = false;
+             },
+             onEventFlag = true;
+ 
+             // batterylow should not fire when level increases (5->20) ( CB-4519 )
+ 
+             navigator.battery._status({
+                 level : 5,
+                 isPlugged : false
+             });
+             window.addEventListener("batterylow", onEvent, false);
+             navigator.battery._status({
+                 level : 20,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterylow" event (5 -> 20), should not be fired');
+                 done();
+             }, 100);
+         });
+ 
+         it("battery.spec.3.3 batterylow event(21 -> 20) should not fire if charging", function (done) {
+ 
+             var onEvent = function () {
+                 window.removeEventListener("batterylow", onEvent, false);
+                 onEventFlag = false;
+             },
+             onEventFlag = true;
+ 
+             // batterylow should NOT fire if we are charging   ( CB-4520 )
+ 
+             navigator.battery._status({
+                 level : 21,
+                 isPlugged : true
+             });
+             window.addEventListener("batterylow", onEvent, false);
+             navigator.battery._status({
+                 level : 20,
+                 isPlugged : true
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterylow" event (21 -> 20), should not be fired if charging');
+                 done();
+             }, 100);
+         });
+ 
+         it("battery.spec.4 should fire batterycritical events (19 -> 5)", function (done) {
+             var onEvent = function () {
+                 window.removeEventListener("batterycritical", onEvent, false);
+                 onEventFlag = true;
+             },
+             onEventFlag = false;
+ 
+             // batterycritical 19->5
+             navigator.battery._status({
+                 level : 19,
+                 isPlugged : false
+             });
+             window.addEventListener("batterycritical", onEvent, false);
+             navigator.battery._status({
+                 level : 5,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterycritical" event (19 -> 5), it did not fire');
+                 done();
+             }, 100);
+ 
+         });
+ 
+         it("battery.spec.4.1 should fire batterycritical (19 -> 4) events", function (done) {
+             var onEvent = function () {
+                 window.removeEventListener("batterycritical", onEvent, false);
+                 onEventFlag = true;
+             },
+             onEventFlag = false;
+ 
+             // batterycritical 19->4
+             navigator.battery._status({
+                 level : 19,
+                 isPlugged : false
+             });
+             window.addEventListener("batterycritical", onEvent, false);
+             navigator.battery._status({
+                 level : 4,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterycritical" event (19 -> 4), it did not fire');
+                 done();
+             }, 100);
+ 
+         });
+ 
+         it("battery.spec.4.2 should fire batterycritical event (100 -> 4) when decreases", function (done) {
+             var onEvent = function () {
+                 window.removeEventListener("batterycritical", onEvent, false);
+                 onEventFlag = true;
+             },
+             onEventFlag = false;
+ 
+             // setup: batterycritical should fire when level decreases (100->4) ( CB-4519 )
+             navigator.battery._status({
+                 level : 100,
+                 isPlugged : false
+             });
+             window.addEventListener("batterycritical", onEvent, false);
+             navigator.battery._status({
+                 level : 4,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterycritical" event (100 -> 4), it did not fire');
+                 done();
+             }, 100);
+         });
+ 
+         it("battery.spec.4.3 should not fire batterycritical event (4 -> 5) when increasing", function (done) {
+             var onEvent = function () {
+                 window.removeEventListener("batterycritical", onEvent, false);
+                 onEventFlag = false;
+             },
+             onEventFlag = true;
+ 
+             // batterycritical should not fire when level increases (4->5)( CB-4519 )
+             navigator.battery._status({
+                 level : 4,
+                 isPlugged : false
+             });
+             window.addEventListener("batterycritical", onEvent, false);
+             navigator.battery._status({
+                 level : 5,
+                 isPlugged : false
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterycritical" event (4 -> 5), should not be fired');
+                 done();
+             }, 100);
+         });
+ 
+         it("battery.spec.4.4 should not fire batterycritical event (6 -> 5) if charging", function (done) {
+             var onEvent = function () {
+                 window.removeEventListener("batterycritical", onEvent, false);
+                 onEventFlag = false;
+             },
+             onEventFlag = true;
+ 
+             // batterycritical should NOT fire if we are charging   ( CB-4520 )
+             navigator.battery._status({
+                 level : 6,
+                 isPlugged : true
+             });
+             window.addEventListener("batterycritical", onEvent, false);
+             navigator.battery._status({
+                 level : 5,
+                 isPlugged : true
+             });
+ 
+             setTimeout(function () {
+                 expect(onEventFlag).toBatteryStatus('Listener: "batterycritical" event (6 -> 5), should not be fired if charging');
+                 done();
+             }, 100);
+         });
+ 
+     });
+ };
+ 
+ //******************************************************************************************
+ //***************************************Manual Tests***************************************
+ //******************************************************************************************
+ 
+ exports.defineManualTests = function (contentEl, createActionButton) {
+ 
+     /* Battery */
+     function updateInfo(info) {
+         document.getElementById('levelValue').innerText = info.level;
+         document.getElementById('pluggedValue').innerText = info.isPlugged;
+         if (info.level > 5) {
+             document.getElementById('criticalValue').innerText = "false";
+         }
+         if (info.level > 20) {
+             document.getElementById('lowValue').innerText = "false";
+         }
+     }
+ 
+     function batteryLow(info) {
+         document.getElementById('lowValue').innerText = "true";
+     }
+ 
+     function batteryCritical(info) {
+         document.getElementById('criticalValue').innerText = "true";
+     }
+ 
+     function addBattery() {
+         window.addEventListener("batterystatus", updateInfo, false);
+     }
+ 
+     function removeBattery() {
+         window.removeEventListener("batterystatus", updateInfo, false);
+     }
+ 
+     function addLow() {
+         window.addEventListener("batterylow", batteryLow, false);
+     }
+ 
+     function removeLow() {
+         window.removeEventListener("batterylow", batteryLow, false);
+     }
+ 
+     function addCritical() {
+         window.addEventListener("batterycritical", batteryCritical, false);
+     }
+ 
+     function removeCritical() {
+         window.removeEventListener("batterycritical", batteryCritical, false);
+     }
+     
+     //Generate Dynamic Table
+     function generateTable(tableId, rows, cells, elements) {
+         var table = document.createElement('table');
+         for (var r = 0; r < rows; r++) {
+             var row = table.insertRow(r);
+             for (var c = 0; c < cells; c++) {
+                 var cell = row.insertCell(c);
+                 cell.setAttribute("align", "center");
+                 for (var e in elements) {
+                     if (elements[e].position.row == r && elements[e].position.cell == c) {
+                         var htmlElement = document.createElement(elements[e].tag);
+                         var content;
+ 
+                         if (elements[e].content !== "") {
+                             content = document.createTextNode(elements[e].content);
+                             htmlElement.appendChild(content);
+                         }
+                         if (elements[e].type) {
+                             htmlElement.type = elements[e].type;
+                         }
+                         htmlElement.setAttribute("id", elements[e].id);
+                         cell.appendChild(htmlElement);
+                     }
+                 }
+             }
+         }
+         table.setAttribute("align", "center");
+         table.setAttribute("id", tableId);
+         return table;
+     }
+     // Battery Elements
+     var batteryElements =
+         [{
+             id : "statusTag",
+             content : "Status:",
+             tag : "div",
+             position : {
+                 row : 0,
+                 cell : 0
+             }
+         }, {
+             id : "statusValue",
+             content : "",
+             tag : "div",
+             position : {
+                 row : 0,
+                 cell : 1
+             }
+         }, {
+             id : "levelTag",
+             content : "Level:",
+             tag : "div",
+             position : {
+                 row : 1,
+                 cell : 0
+             }
+         }, {
+             id : "levelValue",
+             content : "",
+             tag : "div",
+             position : {
+                 row : 1,
+                 cell : 1
+             }
+         }, {
+             id : "pluggedTag",
+             content : "Plugged:",
+             tag : "div",
+             position : {
+                 row : 2,
+                 cell : 0
+             }
+         }, {
+             id : "pluggedValue",
+             content : "",
+             tag : "div",
+             position : {
+                 row : 2,
+                 cell : 1
+             }
+         }, {
+             id : "lowTag",
+             content : "Low:",
+             tag : "div",
+             position : {
+                 row : 3,
+                 cell : 0
+             }
+         }, {
+             id : "lowValue",
+             content : "",
+             tag : "div",
+             position : {
+                 row : 3,
+                 cell : 1
+             }
+         }, {
+             id : "criticalTag",
+             content : "Critical:",
+             tag : "div",
+             position : {
+                 row : 4,
+                 cell : 0
+             }
+         }, {
+             id : "criticalValue",
+             content : "",
+             tag : "div",
+             position : {
+                 row : 4,
+                 cell : 1
+             }
+         }
 -    ],
 -    batteryActions = [{
 -            id : "addBS",
 -            content : "",
 -            tag : "div",
 -            position : {
 -                row : 0,
 -                cell : 0
 -            }
 -        }, {
 -            id : "remBs",
 -            content : "",
 -            tag : "div",
 -            position : {
 -                row : 1,
 -                cell : 0
 -            }
 -        }, {
 -            id : "addBl",
 -            content : "",
 -            tag : "div",
 -            position : {
 -                row : 2,
 -                cell : 0
 -            }
 -        }, {
 -            id : "remBl",
 -            content : "",
 -            tag : "div",
 -            position : {
 -                row : 3,
 -                cell : 0
 -            }
 -        }, {
 -            id : "addBc",
 -            content : "",
 -            tag : "div",
 -            position : {
 -                row : 4,
 -                cell : 0
 -            }
 -        }, {
 -            id : "remBc",
 -            content : "",
 -            tag : "div",
 -            position : {
 -                row : 5,
 -                cell : 0
 -            }
 -        }];
++    ];
+     
+     //Title audio results
+     var div = document.createElement('h2');
+     div.appendChild(document.createTextNode('Battery Status'));
+     div.setAttribute("align", "center");
+     contentEl.appendChild(div);
+ 
 -    var batteryTable = generateTable('info', 5, 3, batteryElements);
++    batteryTable = generateTable('info', 5, 3, batteryElements);
+     contentEl.appendChild(batteryTable);
+     
+     div = document.createElement('h2');
+     div.appendChild(document.createTextNode('Actions'));
+     div.setAttribute("align", "center");
+     contentEl.appendChild(div);
 -    
 -    var batteryActionsTable = generateTable('batteryContent', 6, 2, batteryActions);
 -    contentEl.appendChild(batteryActionsTable);
++
++    contentEl.innerHTML += '<h3>Battery Status Tests</h3>' +
++        'Will update values for level and plugged when they change. If battery low and critical values are false, they will get updated in status box, but only once' +
++        '<div id="addBS"></div><div id="remBs"></div>' +
++        '<h3>Battery Low Tests</h3>' +
++        '</p> Will update value for battery low to true when battery is below 20%' +
++        '<div id="addBl"></div><div id="remBl"></div>' +
++        '<h3>Battery Critical Tests</h3>' +
++        '</p> Will update value for battery critical to true when battery is below 5%' +
++        '<div id="addBc"></div><div id="remBc"></div>';
+ 
+     createActionButton('Add "batterystatus" listener', function () {
+         addBattery();
+     }, 'addBS');
+     createActionButton('Remove "batterystatus" listener', function () {
+         removeBattery();
+     }, 'remBs');
+     createActionButton('Add "batterylow" listener', function () {
+         addLow();
+     }, 'addBl');
+     createActionButton('Remove "batterylow" listener', function () {
+         removeLow();
+     }, 'remBl');
+     createActionButton('Add "batterycritical" listener', function () {
+         addCritical();
+     }, 'addBc');
+     createActionButton('Remove "batterycritical" listener', function () {
+         removeCritical();
+     }, 'remBc');
+ };