CB-10636 Add JSHint for plugins
diff --git a/.gitignore b/.gitignore
index 52b558e..6964ea0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,7 +12,7 @@
*.swp
*.user
-
+node_modules
diff --git a/.jshintrc b/.jshintrc
new file mode 100644
index 0000000..df32482
--- /dev/null
+++ b/.jshintrc
@@ -0,0 +1,17 @@
+{
+ "browser": true
+ , "devel": true
+ , "bitwise": true
+ , "undef": true
+ , "trailing": true
+ , "quotmark": false
+ , "indent": 4
+ , "unused": "vars"
+ , "latedef": "nofunc"
+ , "globals": {
+ "module": false,
+ "exports": false,
+ "require": false,
+ "cordova": true
+ }
+}
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..b9af4c5
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+sudo: false
+node_js:
+ - "4.2"
diff --git a/README.md b/README.md
index fccf9b6..e4ac8c0 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,8 @@
# under the License.
-->
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-battery-status.svg?branch=master)](https://travis-ci.org/apache/cordova-plugin-battery-status)
+
# cordova-plugin-battery-status
diff --git a/package.json b/package.json
index 05823bd..165ee95 100644
--- a/package.json
+++ b/package.json
@@ -34,6 +34,13 @@
"cordova-tizen",
"cordova-firefoxos"
],
+ "scripts": {
+ "test": "npm run jshint",
+ "jshint": "node node_modules/jshint/bin/jshint www && node node_modules/jshint/bin/jshint src && node node_modules/jshint/bin/jshint tests"
+ },
"author": "Apache Software Foundation",
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "devDependencies": {
+ "jshint": "^2.6.0"
+ }
}
diff --git a/src/blackberry10/index.js b/src/blackberry10/index.js
index f757ee7..a105f60 100644
--- a/src/blackberry10/index.js
+++ b/src/blackberry10/index.js
@@ -19,8 +19,10 @@
*
*/
- var _clientListeners = {},
- _webkitBattery = navigator.webkitBattery || navigator.battery;
+/* global PluginResult */
+
+var _clientListeners = {},
+ _webkitBattery = navigator.webkitBattery || navigator.battery;
module.exports = {
start: function (success, fail, args, env) {
@@ -35,8 +37,8 @@
//put data from webkitBattery into a format cordova expects
//webkitBattery seems to return level as a decimal pre 10.2
- resultInfo.level = info.level <= 1 ? info.level * 100 : info.level,
- resultInfo.isPlugged = info.charging
+ resultInfo.level = info.level <= 1 ? info.level * 100 : info.level;
+ resultInfo.isPlugged = info.charging;
}
result.callbackOk(resultInfo, true);
diff --git a/src/browser/BatteryProxy.js b/src/browser/BatteryProxy.js
index d9bc059..d36c567 100644
--- a/src/browser/BatteryProxy.js
+++ b/src/browser/BatteryProxy.js
@@ -42,7 +42,7 @@
w3cBattery.onlevelchange = success;
w3cBattery.onchargingchange = success;
}
- }
+ };
if (typeof navigator.getBattery === 'function') {
navigator.getBattery().then(function(battery) {
@@ -59,7 +59,7 @@
}
} catch(e) {
fail(e);
- };
+ }
},
stop: function() {
@@ -73,7 +73,7 @@
}
} catch(e) {
console.warn('Error occured while trying to stop battery: ' + JSON.stringify(e));
- };
+ }
}
};
diff --git a/src/tizen/BatteryStatusProxy.js b/src/tizen/BatteryStatusProxy.js
index 44dad00..5149f54 100644
--- a/src/tizen/BatteryStatusProxy.js
+++ b/src/tizen/BatteryStatusProxy.js
@@ -19,7 +19,7 @@
*
*/
-var cordova = require('cordova');
+/* global tizen */
var batteryListenerId = null;
diff --git a/src/windows/BatteryProxy.js b/src/windows/BatteryProxy.js
index 4c7e101..ed91bcb 100644
--- a/src/windows/BatteryProxy.js
+++ b/src/windows/BatteryProxy.js
@@ -19,6 +19,8 @@
*
*/
+/* global WinJS, BatteryStatus */
+
var stopped;
function handleResponse(successCb, errorCb, jsonResponse) {
@@ -34,6 +36,24 @@
var Battery = {
start: function (win, fail, args, env) {
+ function getBatteryStatus(success, error) {
+ handleResponse(success, error, BatteryStatus.BatteryStatus.start());
+ }
+
+ function getBatteryStatusLevelChangeEvent(success, error) {
+ return BatteryStatus.BatteryStatus.getBatteryStatusChangeEvent().done(function (result) {
+ if (stopped) {
+ return;
+ }
+
+ handleResponse(success, error, result);
+
+ setTimeout(function() { getBatteryStatusLevelChangeEvent(success, error); }, 0);
+ }, function(err) {
+ fail(err);
+ });
+ }
+
// Battery API supported on Phone devices only so in case of
// desktop/tablet the only one choice is to fail with appropriate message.
if (!WinJS.Utilities.isPhone) {
@@ -43,30 +63,11 @@
stopped = false;
try {
- function getBatteryStatus(success, error) {
- handleResponse(success, error, BatteryStatus.BatteryStatus.start());
- }
-
- function getBatteryStatusLevelChangeEvent(success, error) {
- return BatteryStatus.BatteryStatus.getBatteryStatusChangeEvent().done(function (result) {
- if (stopped) {
- return;
- }
-
- handleResponse(success, error, result);
-
- setTimeout(function() { getBatteryStatusLevelChangeEvent(success, error); }, 0);
- }, function(err) {
- fail(err);
- });
- }
-
getBatteryStatus(win, fail);
-
getBatteryStatusLevelChangeEvent(win, fail);
} catch(e) {
fail(e);
- }
+ }
},
stop: function () {
diff --git a/tests/tests.js b/tests/tests.js
index fa06ead..ad21d3b 100644
--- a/tests/tests.js
+++ b/tests/tests.js
@@ -19,6 +19,9 @@
*
*/
+/* jshint jasmine: true */
+/* global WinJS */
+
exports.defineAutoTests = function () {
var isWindowsStore = (cordova.platformId == "windows8") || (cordova.platformId == "windows" && !WinJS.Utilities.isPhone),
onEvent;
@@ -44,7 +47,7 @@
window.removeEventListener("batterystatus", onEvent, false);
}
catch (e) {
- console.err('Error removing batterystatus event listener: ' + e)
+ console.err('Error removing batterystatus event listener: ' + e);
}
}
});
@@ -80,7 +83,7 @@
window.removeEventListener("batterylow", onEvent, false);
}
catch (e) {
- console.err('Error removing batterylow event listener: ' + e)
+ console.err('Error removing batterylow event listener: ' + e);
}
}
});
@@ -199,7 +202,7 @@
window.removeEventListener("batterycritical", onEvent, false);
}
catch (e) {
- console.err('Error removing batterycritical event listener: ' + e)
+ console.err('Error removing batterycritical event listener: ' + e);
}
}
});
diff --git a/www/battery.js b/www/battery.js
index 1c6c6ab..242503d 100644
--- a/www/battery.js
+++ b/www/battery.js
@@ -26,12 +26,6 @@
var cordova = require('cordova'),
exec = require('cordova/exec');
-function handlers() {
- return battery.channels.batterystatus.numHandlers +
- battery.channels.batterylow.numHandlers +
- battery.channels.batterycritical.numHandlers;
-}
-
var STATUS_CRITICAL = 5;
var STATUS_LOW = 20;
@@ -48,6 +42,13 @@
this.channels[key].onHasSubscribersChange = Battery.onHasSubscribersChange;
}
};
+
+function handlers() {
+ return battery.channels.batterystatus.numHandlers +
+ battery.channels.batterylow.numHandlers +
+ battery.channels.batterycritical.numHandlers;
+}
+
/**
* Event handlers for when callbacks get registered for the battery.
* Keep track of how many handlers we have so we can start and stop the native battery listener
@@ -72,7 +73,7 @@
if (info) {
if (battery._level !== info.level || battery._isPlugged !== info.isPlugged) {
- if(info.level == null && battery._level != null) {
+ if(info.level === null && battery._level !== null) {
return; // special case where callback is called because we stopped listening to the native side.
}
@@ -104,7 +105,6 @@
console.log("Error initializing Battery: " + e);
};
-var battery = new Battery();
+var battery = new Battery(); // jshint ignore:line
module.exports = battery;
-