You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by au...@apache.org on 2017/08/01 16:40:16 UTC

cordova-plugin-test-framework git commit: CB-12895 : replaced jshint with eslint

Repository: cordova-plugin-test-framework
Updated Branches:
  refs/heads/master d0d3af99c -> 37acdf607


CB-12895 : replaced jshint with eslint


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/commit/37acdf60
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/tree/37acdf60
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/diff/37acdf60

Branch: refs/heads/master
Commit: 37acdf6074e05a27768e02ab892782f97fedee24
Parents: d0d3af9
Author: Audrey So <au...@apache.org>
Authored: Mon Jul 31 17:00:17 2017 -0700
Committer: Audrey So <au...@apache.org>
Committed: Mon Jul 31 17:09:13 2017 -0700

----------------------------------------------------------------------
 .eslintignore                |   2 +
 .eslintrc.yml                |  10 +
 package.json                 |  12 +-
 www/assets/jasmine-medic.js  | 212 +++++++-------
 www/assets/main-bootstrap.js |   6 +-
 www/jasmine_helpers.js       |  26 +-
 www/main.js                  | 564 +++++++++++++++++++-------------------
 www/medic.js                 |  39 ++-
 www/tests.js                 | 175 ++++++------
 9 files changed, 528 insertions(+), 518 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/.eslintignore
----------------------------------------------------------------------
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..85182f7
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,2 @@
+www/assets/jasmine-2.4.1
+www/assets/topcoat-0.7.5
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/.eslintrc.yml
----------------------------------------------------------------------
diff --git a/.eslintrc.yml b/.eslintrc.yml
new file mode 100644
index 0000000..0cccb8c
--- /dev/null
+++ b/.eslintrc.yml
@@ -0,0 +1,10 @@
+root: true
+extends: semistandard
+rules:
+  indent:
+    - error
+    - 4
+  camelcase: off
+  padded-blocks: off
+  operator-linebreak: off
+  no-throw-literal: off
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 44a7693..0c8a0df 100644
--- a/package.json
+++ b/package.json
@@ -19,12 +19,18 @@
     "ecosystem:cordova"
   ],
   "scripts": {
-    "test": "npm run jshint",
-    "jshint": "jshint www"
+    "test": "npm run eslint",
+    "eslint": "eslint www"
   },
   "author": "Apache Software Foundation",
   "license": "Apache-2.0",
   "devDependencies": {
-    "jshint": "^2.6.0"
+    "eslint": "^4.2.0",
+    "eslint-config-semistandard": "^11.0.0",
+    "eslint-config-standard": "^10.2.1",
+    "eslint-plugin-import": "^2.7.0",
+    "eslint-plugin-node": "^5.1.1",
+    "eslint-plugin-promise": "^3.5.0",
+    "eslint-plugin-standard": "^3.0.1"
   }
 }

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/www/assets/jasmine-medic.js
----------------------------------------------------------------------
diff --git a/www/assets/jasmine-medic.js b/www/assets/jasmine-medic.js
index e2738e3..8cd69ce 100644
--- a/www/assets/jasmine-medic.js
+++ b/www/assets/jasmine-medic.js
@@ -20,117 +20,117 @@
 */
 
 /* global device */
+/* eslint no-undef : 0 */
 
-jasmineRequire.medic = function(j$) {
-  j$.MedicReporter = jasmineRequire.MedicReporter(j$);
+jasmineRequire.medic = function (j$) {
+    j$.MedicReporter = jasmineRequire.MedicReporter(j$);
 };
 
-jasmineRequire.MedicReporter = function(j$) {
-  var noopTimer = {
-    start: function() {},
-    elapsed: function() { return 0; }
-  };
-
-  var platformMap = {
-    'ipod touch':'ios',
-    'iphone':'ios'
-  };
-
-  function MedicReporter(options) {
-    var logoptions = options.log || { logurl: 'http://127.0.0.1:5984/' }, // TODO: http://localhost:6800
-    timer = options.timer || noopTimer,
-    results = [],
-    specsExecuted = 0,
-    failureCount = 0,
-    pendingSpecCount = 0;
-
-
-    var serverurl = logoptions.logurl;
-
-    this.initialize = function() {
-    };
-
-    var totalSpecsDefined;
-    this.jasmineStarted = function(options) {
-      totalSpecsDefined = options.totalSpecsDefined || 0;
-      timer.start();
-    };
-
-    this.suiteStarted = function(result) {
-    };
-
-    this.suiteDone = function(result) {
-
-    };
-
-    this.specStarted = function(result) {
-       console.log('>>>>> Spec started: ' + result.description);
-    };
-
-    this.specDone = function(result) {
-      if (result.status != "disabled") {
-        specsExecuted++;
-      }
-      if (result.status == "failed") {
-        failureCount++;
-        results.push(result);
-      }
-      if (result.status == "pending") {
-        pendingSpecCount++;
-      }
-       console.log('>>>>> Spec completed: ' + result.description);
-    };
-
-    var buildResults = function(){
-      var json ={specs:specsExecuted, failures:failureCount, results: results};
-      return json;
-    };
-
-    this.jasmineDone = function() {
-      var p = 'Desktop';
-      var devmodel='none';
-      var version = cordova.version;
-      if(typeof device != 'undefined') {
-        p = device.platform.toLowerCase();
-        devmodel=device.model || device.name;
-        version = device.version.toLowerCase();
-      }
-
-      this.postTests({
-          mobilespec:buildResults(),
-          platform:(platformMap.hasOwnProperty(p) ? platformMap[p] : p),
-          version:version,
-          sha: options.sha,
-          timestamp:Math.round(Math.floor((new Date()).getTime() / 1000)),
-          model:devmodel
-          });
-
+jasmineRequire.MedicReporter = function (j$) {
+    var noopTimer = {
+        start: function () {},
+        elapsed: function () { return 0; }
     };
 
-    this.postTests = function(json) {
-      console.log('posting tests');
-
-      var xhr = new XMLHttpRequest();
-      var doc_id = [options.sha, json.version, json.model].map(encodeURIComponent).join('__');
-      var doc_url = serverurl + '/mobilespec_results/' + doc_id;
-      xhr.open("PUT", doc_url, true);
-      xhr.onload = function (e) {
-        if (xhr.readyState === 4) {
-          if (xhr.status === 200) {
-            console.log("Posting results to CouchDB succeeded: " + xhr.responseText);
-          } else {
-            console.log("Error posting to CouchDB: " + xhr.statusText);
-          }
-        }
-      };
-      xhr.onerror = function (e) {
-        console.log("Error posting to CouchDB: " + xhr.statusText);
-      };
-      xhr.setRequestHeader("Content-Type","application/json");
-      xhr.send(JSON.stringify(json));
+    var platformMap = {
+        'ipod touch': 'ios',
+        'iphone': 'ios'
     };
-    return this;
-  }
 
-  return MedicReporter;
+    function MedicReporter (options) {
+        var logoptions = options.log || { logurl: 'http://127.0.0.1:5984/' }; // TODO: http://localhost:6800
+        var timer = options.timer || noopTimer;
+        var results = [];
+        var specsExecuted = 0;
+        var failureCount = 0; // eslint-disable-line no-unused-vars
+        var pendingSpecCount = 0; // eslint-disable-line no-unused-vars
+
+        var serverurl = logoptions.logurl;
+
+        this.initialize = function () {
+        };
+
+        var totalSpecsDefined; // eslint-disable-line no-unused-vars
+        this.jasmineStarted = function (options) {
+            totalSpecsDefined = options.totalSpecsDefined || 0;
+            timer.start();
+        };
+
+        this.suiteStarted = function (result) {
+        };
+
+        this.suiteDone = function (result) {
+
+        };
+
+        this.specStarted = function (result) {
+            console.log('>>>>> Spec started: ' + result.description);
+        };
+
+        this.specDone = function (result) {
+            if (result.status !== 'disabled') {
+                specsExecuted++;
+            }
+            if (result.status === 'failed') {
+                failureCount++;
+                results.push(result);
+            }
+            if (result.status === 'pending') {
+                pendingSpecCount++;
+            }
+            console.log('>>>>> Spec completed: ' + result.description);
+        };
+
+        var buildResults = function () {
+            var json = {specs: specsExecuted, failures: failureCount, results: results};
+            return json;
+        };
+
+        this.jasmineDone = function () {
+            var p = 'Desktop';
+            var devmodel = 'none';
+            var version = cordova.version;
+            if (typeof device !== 'undefined') {
+                p = device.platform.toLowerCase();
+                devmodel = device.model || device.name;
+                version = device.version.toLowerCase();
+            }
+
+            this.postTests({
+                mobilespec: buildResults(),
+                platform: (platformMap.hasOwnProperty(p) ? platformMap[p] : p),
+                version: version,
+                sha: options.sha,
+                timestamp: Math.round(Math.floor((new Date()).getTime() / 1000)),
+                model: devmodel
+            });
+
+        };
+
+        this.postTests = function (json) {
+            console.log('posting tests');
+
+            var xhr = new XMLHttpRequest();
+            var doc_id = [options.sha, json.version, json.model].map(encodeURIComponent).join('__');
+            var doc_url = serverurl + '/mobilespec_results/' + doc_id;
+            xhr.open('PUT', doc_url, true);
+            xhr.onload = function (e) {
+                if (xhr.readyState === 4) {
+                    if (xhr.status === 200) {
+                        console.log('Posting results to CouchDB succeeded: ' + xhr.responseText);
+                    } else {
+                        console.log('Error posting to CouchDB: ' + xhr.statusText);
+                    }
+                }
+            };
+            xhr.onerror = function (e) {
+                console.log('Error posting to CouchDB: ' + xhr.statusText);
+            };
+            xhr.setRequestHeader('Content-Type', 'application/json');
+            xhr.send(JSON.stringify(json));
+        };
+        return this;
+    }
+
+    return MedicReporter;
 };

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/www/assets/main-bootstrap.js
----------------------------------------------------------------------
diff --git a/www/assets/main-bootstrap.js b/www/assets/main-bootstrap.js
index 58624b7..90b0d88 100644
--- a/www/assets/main-bootstrap.js
+++ b/www/assets/main-bootstrap.js
@@ -19,8 +19,8 @@
  *
 */
 
-document.addEventListener("deviceready", function() {
-  'use strict';
+document.addEventListener('deviceready', function () {
+    'use strict';
 
-  cordova.require('cordova-plugin-test-framework.main').init();
+    cordova.require('cordova-plugin-test-framework.main').init(); // eslint-disable-line no-undef
 });

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/www/jasmine_helpers.js
----------------------------------------------------------------------
diff --git a/www/jasmine_helpers.js b/www/jasmine_helpers.js
index fe9e06d..53f7bbe 100644
--- a/www/jasmine_helpers.js
+++ b/www/jasmine_helpers.js
@@ -19,10 +19,10 @@
  *
 */
 
-/* jshint -W097 */
+/* eslint no-undef : 0 */
 'use strict';
 
-exports.setUpJasmine = function() {
+exports.setUpJasmine = function () {
     // Set up jasmine
     var jasmine = jasmineRequire.core(jasmineRequire);
     jasmineRequire.html(jasmine);
@@ -38,31 +38,31 @@ exports.setUpJasmine = function() {
     addJasmineReporters(jasmineInterface, jasmineEnv);
 
     // Add Spec Filter
-    jasmineEnv.specFilter = function(spec) {
-        //console.log(spec.getFullName());
+    jasmineEnv.specFilter = function (spec) {
+        // console.log(spec.getFullName());
         return true;
     };
 
     // Jasmine 2.2.0 moved this symbol, so we add a shim here.
-    jasmine.Expectation.addMatchers = jasmine.Expectation.addMatchers || function() {
+    jasmine.Expectation.addMatchers = jasmine.Expectation.addMatchers || function () {
         return jasmine.addMatchers.apply(this, arguments);
     };
 
     return jasmineInterface;
 };
 
-function addJasmineReporters(jasmineInterface, jasmineEnv) {
+function addJasmineReporters (jasmineInterface, jasmineEnv) {
     jasmineInterface.jsApiReporter = new jasmineInterface.jasmine.JsApiReporter({ timer: new jasmineInterface.jasmine.Timer() });
     jasmineEnv.addReporter(jasmineInterface.jsApiReporter);
 
     jasmineInterface.htmlReporter = new jasmineInterface.jasmine.HtmlReporter({
         env: jasmineEnv,
-        queryString: function() { return null; },
-        onRaiseExceptionsClick: function() { },
-        onThrowExpectationsClick: function() { },
-        getContainer: function() { return document.getElementById('content'); },
-        createElement: function() { return document.createElement.apply(document, arguments); },
-        createTextNode: function() { return document.createTextNode.apply(document, arguments); },
+        queryString: function () { return null; },
+        onRaiseExceptionsClick: function () { },
+        onThrowExpectationsClick: function () { },
+        getContainer: function () { return document.getElementById('content'); },
+        createElement: function () { return document.createElement.apply(document, arguments); },
+        createTextNode: function () { return document.createTextNode.apply(document, arguments); },
         timer: new jasmineInterface.jasmine.Timer()
     });
     jasmineInterface.htmlReporter.initialize();
@@ -80,5 +80,5 @@ function addJasmineReporters(jasmineInterface, jasmineEnv) {
         jasmineInterface.MedicReporter.initialize();
         jasmineEnv.addReporter(jasmineInterface.MedicReporter);
     }
-    
+
 }

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/www/main.js
----------------------------------------------------------------------
diff --git a/www/main.js b/www/main.js
index 7e17efd..56d0897 100644
--- a/www/main.js
+++ b/www/main.js
@@ -20,80 +20,80 @@
 */
 
 /* global WinJS */
-/* jshint -W097 */
+/* eslint no-undef : 0 */
 'use strict';
 
-var LOG_HEADER_HEIGHT = 20,
-    CONTENT_TOP_OFFSET = 30;
+var LOG_HEADER_HEIGHT = 20;
+var CONTENT_TOP_OFFSET = 30;
 
-var isWin = cordova.platformId === "windows",
-    isWP8 = cordova.platformId === "windowsphone";
+var isWin = cordova.platformId === 'windows';
+var isWP8 = cordova.platformId === 'windowsphone';
 
 /******************************************************************************/
 
-function getMode(callback) {
-  var mode = localStorage.getItem('cdvtests-mode') || 'main';
-  callback(mode);
+function getMode (callback) {
+    var mode = localStorage.getItem('cdvtests-mode') || 'main';
+    callback(mode);
 }
 
-function setMode(mode) {
-  var handlers = {
-    'main': runMain,
-    'auto': runAutoTests,
-    'manual': runManualTests
-  };
-  if (!handlers.hasOwnProperty(mode)) {
-    console.error("Unsupported mode: " + mode);
-    console.error("Defaulting to 'main'");
-    mode = 'main';
-  }
-
-  localStorage.setItem('cdvtests-mode', mode);
-  clearContent();
-
-  handlers[mode]();
+function setMode (mode) {
+    var handlers = {
+        'main': runMain,
+        'auto': runAutoTests,
+        'manual': runManualTests
+    };
+    if (!handlers.hasOwnProperty(mode)) {
+        console.error('Unsupported mode: ' + mode);
+        console.error("Defaulting to 'main'");
+        mode = 'main';
+    }
+
+    localStorage.setItem('cdvtests-mode', mode);
+    clearContent();
+
+    handlers[mode]();
 }
 
 /******************************************************************************/
 
-function clearContent() {
-  var content = document.getElementById('content');
-  content.innerHTML = '';
-  var log = document.getElementById('log--content');
-  log.innerHTML = '';
-  var buttons = document.getElementById('buttons');
-  buttons.innerHTML = '';
+function clearContent () {
+    var content = document.getElementById('content');
+    content.innerHTML = '';
+    var log = document.getElementById('log--content');
+    log.innerHTML = '';
+    var buttons = document.getElementById('buttons');
+    buttons.innerHTML = '';
 
-  setLogVisibility(false);
+    setLogVisibility(false);
 }
 
 /******************************************************************************/
 
-function setTitle(title) {
-  var el = document.getElementById('title');
-  el.textContent = title;
+function setTitle (title) {
+    var el = document.getElementById('title');
+    el.textContent = title;
 }
 
 /******************************************************************************/
 
-function setLogVisibility(visible) {
+function setLogVisibility (visible) {
     if (visible) {
         document.querySelector('body').classList.add('expanded-log');
 
         if (isWin || isWP8) {
             var h = document.querySelector('body').offsetHeight;
 
-            document.getElementById('middle').style.height = (h * 0.6 - LOG_HEADER_HEIGHT - CONTENT_TOP_OFFSET) + "px";
-            document.getElementById('middle').style.marginBottom = (h * 0.4) + "px";
-            document.getElementById('middle').style.paddingBottom = (h * 0.4) + "px";
+            document.getElementById('middle').style.height = (h * 0.6 - LOG_HEADER_HEIGHT - CONTENT_TOP_OFFSET) + 'px';
+            document.getElementById('middle').style.marginBottom = (h * 0.4) + 'px';
+            document.getElementById('middle').style.paddingBottom = (h * 0.4) + 'px';
         }
     } else {
         document.querySelector('body').classList.remove('expanded-log');
 
         if (isWin || isWP8) {
-            document.getElementById('middle').style.height = "";
-            document.getElementById('middle').style.marginBottom = "";
-            document.getElementById('middle').style.paddingBottom = "";
+            document.getElementById('middle').style.height = '';
+            document.getElementById('middle').style.marginBottom = '';
+            document.getElementById('middle').style.paddingBottom = '';
         }
     }
 }
@@ -105,339 +105,339 @@ window.onresize = function (event) {
     }
 };
 
-function getLogVisibility() {
-  var e = document.querySelector('body');
-  return e.classList.contains('expanded-log');
+function getLogVisibility () {
+    var e = document.querySelector('body');
+    return e.classList.contains('expanded-log');
 }
 
-function toggleLogVisibility() {
-  if (getLogVisibility()) {
-    setLogVisibility(false);
-  } else {
-    setLogVisibility(true);
-  }
+function toggleLogVisibility () {
+    if (getLogVisibility()) {
+        setLogVisibility(false);
+    } else {
+        setLogVisibility(true);
+    }
 }
 
 /******************************************************************************/
 
-function attachEvents() {
-  document.getElementById('log--title').addEventListener('click', toggleLogVisibility);
+function attachEvents () {
+    document.getElementById('log--title').addEventListener('click', toggleLogVisibility);
 }
 
 /******************************************************************************/
 
 var origConsole = window.console;
 
-exports.wrapConsole = function() {
-  function appendToOnscreenLog(type, args) {
-    var el = document.getElementById('log--content');
-    var div = document.createElement('div');
-    div.classList.add('log--content--line');
-    div.classList.add('log--content--line--' + type);
-    div.textContent = Array.prototype.slice.apply(args).map(function(arg) {
-        return (typeof arg === 'string') ? arg : JSON.stringify(arg);
-      }).join(' ');
-    el.appendChild(div);
-    // scroll to bottom
-    el.scrollTop = el.scrollHeight;
-  }
-
-  function createCustomLogger(type) {
-    return function() {
-      origConsole[type].apply(origConsole, arguments);
-      appendToOnscreenLog(type, arguments);
-      setLogVisibility(true);
-    };
-  }
+exports.wrapConsole = function () {
+    function appendToOnscreenLog (type, args) {
+        var el = document.getElementById('log--content');
+        var div = document.createElement('div');
+        div.classList.add('log--content--line');
+        div.classList.add('log--content--line--' + type);
+        div.textContent = Array.prototype.slice.apply(args).map(function (arg) {
+            return (typeof arg === 'string') ? arg : JSON.stringify(arg);
+        }).join(' ');
+        el.appendChild(div);
+        // scroll to bottom
+        el.scrollTop = el.scrollHeight;
+    }
+
+    function createCustomLogger (type) {
+        return function () {
+            origConsole[type].apply(origConsole, arguments);
+            appendToOnscreenLog(type, arguments);
+            setLogVisibility(true);
+        };
+    }
 
-  window.console = {
-    log: createCustomLogger('log'),
-    warn: createCustomLogger('warn'),
-    error: createCustomLogger('error'),
-  };
+    window.console = {
+        log: createCustomLogger('log'),
+        warn: createCustomLogger('warn'),
+        error: createCustomLogger('error')
+    };
 };
 
-exports.unwrapConsole = function() {
-  window.console = origConsole;
+exports.unwrapConsole = function () {
+    window.console = origConsole;
 };
 
 /******************************************************************************/
 
-function createActionButton(title, callback, appendTo) {
-  appendTo = appendTo ? appendTo : 'buttons';
-  var buttons = document.getElementById(appendTo);
-  var div = document.createElement('div');
-  var button = document.createElement('a');
-  button.textContent = title;
-  button.onclick = function(e) {
-    e.preventDefault();
-    callback();
-  };
-  button.classList.add('topcoat-button');
-  div.appendChild(button);
-  buttons.appendChild(div);
+function createActionButton (title, callback, appendTo) {
+    appendTo = appendTo || 'buttons';
+    var buttons = document.getElementById(appendTo);
+    var div = document.createElement('div');
+    var button = document.createElement('a');
+    button.textContent = title;
+    button.onclick = function (e) {
+        e.preventDefault();
+        callback();
+    };
+    button.classList.add('topcoat-button');
+    div.appendChild(button);
+    buttons.appendChild(div);
 }
 
 /******************************************************************************/
 
-function setupAutoTestsEnablers(cdvtests) {
-  var enablerList = createEnablerList();
+function setupAutoTestsEnablers (cdvtests) {
+    var enablerList = createEnablerList();
 
-  // Iterate over all the registered test modules
-  iterateAutoTests(cdvtests, function(api, testModule) {
-    // For "standard" plugins remove the common/repetitive bits of
-    // the api key, for use as the title.  For third-party plugins, the full
-    // api will be used as the title
-    var title = api.replace(/org\.apache\.cordova\./i, '').replace(/\.tests.tests/i, '');
+    // Iterate over all the registered test modules
+    iterateAutoTests(cdvtests, function (api, testModule) {
+        // For "standard" plugins remove the common/repetitive bits of
+        // the api key, for use as the title.  For third-party plugins, the full
+        // api will be used as the title
+        var title = api.replace(/org\.apache\.cordova\./i, '').replace(/\.tests.tests/i, '');
 
-    createEnablerCheckbox(api, title, testModule.getEnabled(), enablerList.id, toggleTestHandler);
-  });
+        createEnablerCheckbox(api, title, testModule.getEnabled(), enablerList.id, toggleTestHandler);
+    });
 
-  updateEnabledTestCount();
+    updateEnabledTestCount();
 }
 
 /******************************************************************************/
 
-function createEnablerList() {
-  var buttons = document.getElementById('buttons');
-
-  var enablerContainer = document.createElement('div');
-  enablerContainer.id = 'test-enablers-container';
-
-  // Create header to show count of enabled/total tests
-  var header = document.createElement('h3');
-  header.id = 'tests-enabled';
-
-  // Create widget to show/hide list
-  var expander = document.createElement('span');
-  expander.id = 'test-expander';
-  expander.innerText = 'Show/hide tests to be run';
-  expander.onclick = toggleEnablerVisibility;
-
-  // Create list to contain checkboxes for each test
-  var enablerList = document.createElement('div');
-  enablerList.id = "test-list";
-
-  // Create select/deselect all buttons (in button bar)
-  var checkButtonBar = document.createElement('ul');
-  checkButtonBar.classList.add('topcoat-button-bar');
-
-  function createSelectToggleButton(title, selected) {
-    var barItem = document.createElement('li');
-    barItem.classList.add('topcoat-button-bar__item');
-
-    var link = document.createElement('a');
-    link.classList.add('topcoat-button-bar__button');
-    link.innerText = title;
-    link.href = null;
-    link.onclick = function(e) {
-      e.preventDefault();
-      toggleSelected(enablerList.id, selected);
-      return false;
-    };
-
-    barItem.appendChild(link);
-    checkButtonBar.appendChild(barItem);
-  }
-  createSelectToggleButton('Check all', true);
-  createSelectToggleButton('Uncheck all', false);
-  enablerList.appendChild(checkButtonBar);
+function createEnablerList () {
+    var buttons = document.getElementById('buttons');
+
+    var enablerContainer = document.createElement('div');
+    enablerContainer.id = 'test-enablers-container';
+
+    // Create header to show count of enabled/total tests
+    var header = document.createElement('h3');
+    header.id = 'tests-enabled';
+
+    // Create widget to show/hide list
+    var expander = document.createElement('span');
+    expander.id = 'test-expander';
+    expander.innerText = 'Show/hide tests to be run';
+    expander.onclick = toggleEnablerVisibility;
+
+    // Create list to contain checkboxes for each test
+    var enablerList = document.createElement('div');
+    enablerList.id = 'test-list';
+
+    // Create select/deselect all buttons (in button bar)
+    var checkButtonBar = document.createElement('ul');
+    checkButtonBar.classList.add('topcoat-button-bar');
+
+    function createSelectToggleButton (title, selected) {
+        var barItem = document.createElement('li');
+        barItem.classList.add('topcoat-button-bar__item');
+
+        var link = document.createElement('a');
+        link.classList.add('topcoat-button-bar__button');
+        link.innerText = title;
+        link.href = null;
+        link.onclick = function (e) {
+            e.preventDefault();
+            toggleSelected(enablerList.id, selected);
+            return false;
+        };
+
+        barItem.appendChild(link);
+        checkButtonBar.appendChild(barItem);
+    }
+    createSelectToggleButton('Check all', true);
+    createSelectToggleButton('Uncheck all', false);
+    enablerList.appendChild(checkButtonBar);
 
-  enablerContainer.appendChild(header);
-  enablerContainer.appendChild(expander);
-  enablerContainer.appendChild(enablerList);
+    enablerContainer.appendChild(header);
+    enablerContainer.appendChild(expander);
+    enablerContainer.appendChild(enablerList);
 
-  buttons.appendChild(enablerContainer);
+    buttons.appendChild(enablerContainer);
 
-  return enablerList;
+    return enablerList;
 }
 
 /******************************************************************************/
 
-function updateEnabledTestCount() {
-  var enabledLabel = document.getElementById('tests-enabled');
-
-  // Determine how many tests are currently enabled
-  var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
-  var total = 0;
-  var enabled = 0;
-  iterateAutoTests(cdvtests, function(api, testModule) {
-    total++;
-    if (testModule.getEnabled()) {
-      enabled++;
-    }
-  });
+function updateEnabledTestCount () {
+    var enabledLabel = document.getElementById('tests-enabled');
+
+    // Determine how many tests are currently enabled
+    var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
+    var total = 0;
+    var enabled = 0;
+    iterateAutoTests(cdvtests, function (api, testModule) {
+        total++;
+        if (testModule.getEnabled()) {
+            enabled++;
+        }
+    });
 
-  if (enabled == total) {
-    enabledLabel.innerText = 'Running All Tests.';
-  } else {
-    enabledLabel.innerText = 'Running ' + enabled + ' of ' + total + ' Tests.';
-  }
+    if (enabled === total) {
+        enabledLabel.innerText = 'Running All Tests.';
+    } else {
+        enabledLabel.innerText = 'Running ' + enabled + ' of ' + total + ' Tests.';
+    }
 }
 
 /******************************************************************************/
 
-function toggleSelected(containerId, newCheckedValue) {
-  [].forEach.call(document.getElementById(containerId).getElementsByTagName('input'), function(input) {
-    if (input.type !== 'checkbox') return;
-    input.checked = newCheckedValue;
-    toggleTestEnabled(input);
-  });
-  updateEnabledTestCount();
+function toggleSelected (containerId, newCheckedValue) {
+    [].forEach.call(document.getElementById(containerId).getElementsByTagName('input'), function (input) {
+        if (input.type !== 'checkbox') return;
+        input.checked = newCheckedValue;
+        toggleTestEnabled(input);
+    });
+    updateEnabledTestCount();
 }
 
 /******************************************************************************/
 
-function toggleEnablerVisibility() {
-  var enablerList = document.getElementById('test-list');
-  if (enablerList.classList.contains('expanded')) {
-    enablerList.classList.remove('expanded');
-  } else {
-    enablerList.classList.add('expanded');
-  }
+function toggleEnablerVisibility () {
+    var enablerList = document.getElementById('test-list');
+    if (enablerList.classList.contains('expanded')) {
+        enablerList.classList.remove('expanded');
+    } else {
+        enablerList.classList.add('expanded');
+    }
 }
 
 /******************************************************************************/
 
-function createEnablerCheckbox(api, title, isEnabled, appendTo, callback) {
-  var container = document.getElementById(appendTo);
+function createEnablerCheckbox (api, title, isEnabled, appendTo, callback) {
+    var container = document.getElementById(appendTo);
 
-  var label = document.createElement('label');
-  label.classList.add('topcoat-checkbox');
+    var label = document.createElement('label');
+    label.classList.add('topcoat-checkbox');
 
-  var checkbox = document.createElement('input');
-  checkbox.type = "checkbox";
-  checkbox.value = api;
-  checkbox.checked = isEnabled;
-  label.htmlFor = checkbox.id = 'enable_' + api;
+    var checkbox = document.createElement('input');
+    checkbox.type = 'checkbox';
+    checkbox.value = api;
+    checkbox.checked = isEnabled;
+    label.htmlFor = checkbox.id = 'enable_' + api;
 
-  checkbox.onchange = function(e) {
-    e.preventDefault();
-    callback(e);
-  };
+    checkbox.onchange = function (e) {
+        e.preventDefault();
+        callback(e);
+    };
 
-  var div = document.createElement('div');
-  div.classList.add('topcoat-checkbox__checkmark');
+    var div = document.createElement('div');
+    div.classList.add('topcoat-checkbox__checkmark');
 
-  var text = document.createElement('span');
-  text.innerText = title;
+    var text = document.createElement('span');
+    text.innerText = title;
 
-  label.appendChild(checkbox);
-  label.appendChild(div);
-  label.appendChild(text);
+    label.appendChild(checkbox);
+    label.appendChild(div);
+    label.appendChild(text);
 
-  container.appendChild(label);
+    container.appendChild(label);
 }
 
 /******************************************************************************/
 
-function toggleTestHandler(event) {
-  var checkbox = event.target;
+function toggleTestHandler (event) {
+    var checkbox = event.target;
 
-  toggleTestEnabled(checkbox);
-  updateEnabledTestCount();
+    toggleTestEnabled(checkbox);
+    updateEnabledTestCount();
 }
 
 /******************************************************************************/
 
-function toggleTestEnabled(checkbox) {
-  var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
-  cdvtests.tests[checkbox.value].setEnabled(checkbox.checked);
+function toggleTestEnabled (checkbox) {
+    var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
+    cdvtests.tests[checkbox.value].setEnabled(checkbox.checked);
 }
 
 /******************************************************************************/
 
-function iterateAutoTests(cdvtests, callback) {
-  Object.keys(cdvtests.tests).forEach(function(api) {
-    var testModule = cdvtests.tests[api];
-    if (!testModule.hasOwnProperty('defineAutoTests')) {
-      return;
-    }
-    callback(api, testModule);
-  });
+function iterateAutoTests (cdvtests, callback) {
+    Object.keys(cdvtests.tests).forEach(function (api) {
+        var testModule = cdvtests.tests[api];
+        if (!testModule.hasOwnProperty('defineAutoTests')) {
+            return;
+        }
+        callback(api, testModule);
+    });
 }
 
 /******************************************************************************/
 
-function runAutoTests() {
-  setTitle('Auto Tests');
+function runAutoTests () {
+    setTitle('Auto Tests');
 
-  createActionButton('Run', setMode.bind(null, 'auto'));
-  createActionButton('Reset App', location.reload.bind(location));
-  createActionButton('Back', setMode.bind(null, 'main'));
+    createActionButton('Run', setMode.bind(null, 'auto'));
+    createActionButton('Reset App', location.reload.bind(location));
+    createActionButton('Back', setMode.bind(null, 'main'));
 
-  var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
-  cdvtests.init();
-  setupAutoTestsEnablers(cdvtests);
+    var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
+    cdvtests.init();
+    setupAutoTestsEnablers(cdvtests);
 
-  cdvtests.defineAutoTests();
+    cdvtests.defineAutoTests();
 
-  // Run the tests!
-  var jasmineEnv = window.jasmine.getEnv();
+    // Run the tests!
+    var jasmineEnv = window.jasmine.getEnv();
 
-  jasmineEnv.execute();
+    jasmineEnv.execute();
 }
 
 /******************************************************************************/
 
-function runManualTests() {
-  setTitle('Manual Tests');
-
-  createActionButton('Reset App', location.reload.bind(location));
-  createActionButton('Back', setMode.bind(null, 'main'));
+function runManualTests () {
+    setTitle('Manual Tests');
 
-  var contentEl = document.getElementById('content');
-  var beforeEach = function(title) {
-    clearContent();
-    setTitle(title || 'Manual Tests');
     createActionButton('Reset App', location.reload.bind(location));
-    createActionButton('Back', setMode.bind(null, 'manual'));
-  };
-  var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
-  cdvtests.defineManualTests(contentEl, beforeEach, createActionButton);
+    createActionButton('Back', setMode.bind(null, 'main'));
+
+    var contentEl = document.getElementById('content');
+    var beforeEach = function (title) {
+        clearContent();
+        setTitle(title || 'Manual Tests');
+        createActionButton('Reset App', location.reload.bind(location));
+        createActionButton('Back', setMode.bind(null, 'manual'));
+    };
+    var cdvtests = cordova.require('cordova-plugin-test-framework.cdvtests');
+    cdvtests.defineManualTests(contentEl, beforeEach, createActionButton);
 }
 
 /******************************************************************************/
 
-function runMain() {
-  setTitle('Apache Cordova Plugin Tests');
-
-  createActionButton('Auto Tests', setMode.bind(null, 'auto'));
-  createActionButton('Manual Tests', setMode.bind(null, 'manual'));
-  createActionButton('Reset App', location.reload.bind(location));
-  if (/showBack/.exec(location.hash)) {
-      createActionButton('Back', function() {
-          history.go(-1);
-      });
-  }
-
-  if (isWin && typeof WinJS !== 'undefined') {
-    var app = WinJS.Application;
-    app.addEventListener("error", function (err) {
-        // We do not want an unhandled exception to crash the test app
-        // Returning true marks it as being handled
-        return true;
-      });
-  }
+function runMain () {
+    setTitle('Apache Cordova Plugin Tests');
+
+    createActionButton('Auto Tests', setMode.bind(null, 'auto'));
+    createActionButton('Manual Tests', setMode.bind(null, 'manual'));
+    createActionButton('Reset App', location.reload.bind(location));
+    if (/showBack/.exec(location.hash)) {
+        createActionButton('Back', function () {
+            history.go(-1);
+        });
+    }
+
+    if (isWin && typeof WinJS !== 'undefined') {
+        var app = WinJS.Application;
+        app.addEventListener('error', function (err) { // eslint-disable-line handle-callback-err
+            // We do not want an unhandled exception to crash the test app
+            // Returning true marks it as being handled
+            return true;
+        });
+    }
 }
 
 /******************************************************************************/
 
-exports.init = function() {
-  // TODO: have a way to opt-out of console wrapping in case line numbers are important.
-  // ...Or find a custom way to print line numbers using stack or something.
-  // make sure to always wrap when using medic.
-  attachEvents();
-  exports.wrapConsole();
-
-  var medic = require('cordova-plugin-test-framework.medic');
-  medic.load(function() {
-    if (medic.enabled) {
-      setMode('auto');
-    } else {
-      getMode(setMode);
-    }
-  });
+exports.init = function () {
+    // TODO: have a way to opt-out of console wrapping in case line numbers are important.
+    // ...Or find a custom way to print line numbers using stack or something.
+    // make sure to always wrap when using medic.
+    attachEvents();
+    exports.wrapConsole();
+
+    var medic = require('cordova-plugin-test-framework.medic');
+    medic.load(function () {
+        if (medic.enabled) {
+            setMode('auto');
+        } else {
+            getMode(setMode);
+        }
+    });
 };
 
 /******************************************************************************/

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/www/medic.js
----------------------------------------------------------------------
diff --git a/www/medic.js b/www/medic.js
index f656bc7..89141e6 100644
--- a/www/medic.js
+++ b/www/medic.js
@@ -19,7 +19,6 @@
  *
 */
 
-/* jshint -W097 */
 'use strict';
 
 exports.logurl = 'http://127.0.0.1:7800';
@@ -27,28 +26,28 @@ exports.logurl = 'http://127.0.0.1:7800';
 exports.enabled = false;
 
 exports.load = function (callback) {
-  var cfg = null;
+    var cfg = null;
 
-  try {
+    try {
     // attempt to synchronously load medic config
-    var xhr = new XMLHttpRequest();
-    xhr.open("GET", "../medic.json", false);
-    xhr.send(null);
-    cfg = JSON.parse(xhr.responseText);
-  } catch (ex) { }
+        var xhr = new XMLHttpRequest(); // eslint-disable-line no-undef
+        xhr.open('GET', '../medic.json', false);
+        xhr.send(null);
+        cfg = JSON.parse(xhr.responseText);
+    } catch (ex) { }
 
-  // config is available
-  if (cfg) {
-    exports.logurl = cfg.couchdb || cfg.logurl;
-    exports.sha = cfg.sha;
-    exports.enabled = true;
-    console.log('Loaded Medic Config: logurl=' + exports.logurl);
-  } else {
+    // config is available
+    if (cfg) {
+        exports.logurl = cfg.couchdb || cfg.logurl;
+        exports.sha = cfg.sha;
+        exports.enabled = true;
+        console.log('Loaded Medic Config: logurl=' + exports.logurl);
+    } else {
     // config does not exist
-    console.log('Did not find medic config file');
-  }
+        console.log('Did not find medic config file');
+    }
 
-  setTimeout(function () {
-      callback();
-  }, 0);
+    setTimeout(function () {
+        callback();
+    }, 0);
 };

http://git-wip-us.apache.org/repos/asf/cordova-plugin-test-framework/blob/37acdf60/www/tests.js
----------------------------------------------------------------------
diff --git a/www/tests.js b/www/tests.js
index cea8898..655c108 100644
--- a/www/tests.js
+++ b/www/tests.js
@@ -19,117 +19,110 @@
  *
 */
 
-/* jshint jasmine: true */
-/* jshint -W097 */
 'use strict';
 
 exports.tests = Object.create(null);
 
-function TestModule(api) {
-  var name = api;
-  var enabled = true;
-
-  var enabledPref = localStorage.getItem('cordova-tests-enabled-' + name);
-  if (enabledPref)
-  {
-    enabled = (enabledPref == true.toString());
-  }
-  
-  this.getEnabled = function () {
-    return enabled;
-  };
-  
-  this.setEnabled = function (isEnabled) {
-    enabled = isEnabled;
-    localStorage.setItem('cordova-tests-enabled-' + name, enabled);
-  };
+function TestModule (api) {
+    var name = api;
+    var enabled = true;
+
+    var enabledPref = localStorage.getItem('cordova-tests-enabled-' + name); // eslint-disable-line no-undef
+    if (enabledPref) {
+        enabled = (enabledPref === true.toString());
+    }
+
+    this.getEnabled = function () {
+        return enabled;
+    };
+
+    this.setEnabled = function (isEnabled) {
+        enabled = isEnabled;
+        localStorage.setItem('cordova-tests-enabled-' + name, enabled); // eslint-disable-line no-undef
+    };
 }
 
-function getTestsObject(api) {
-  exports.tests[api] = exports.tests[api] || new TestModule(api);
-  return exports.tests[api];
+function getTestsObject (api) {
+    exports.tests[api] = exports.tests[api] || new TestModule(api);
+    return exports.tests[api];
 }
 
-function requireAllTestModules() {
-  // This finds all js-modules named "tests" (regardless of plugins they came from)
-  var test_modules = cordova.require('cordova/plugin_list')
-    .map(function(jsmodule) {
-      return jsmodule.id;
-    })
-    .filter(function(id) {
-      return /\.tests$/.test(id);
+function requireAllTestModules () {
+    // This finds all js-modules named "tests" (regardless of plugins they came from)
+    var test_modules = cordova.require('cordova/plugin_list') // eslint-disable-line no-undef
+        .map(function (jsmodule) {
+            return jsmodule.id;
+        })
+        .filter(function (id) {
+            return /\.tests$/.test(id);
+        });
+
+    // Map auto / manual test definitions for each, but without actually running the handlers
+    test_modules.forEach(function (id) {
+        try {
+            var plugintests = cordova.require(id); // eslint-disable-line no-undef
+
+            if (plugintests.hasOwnProperty('defineAutoTests')) {
+                getTestsObject(id).defineAutoTests = function () {
+                    describe(id + ' >>', plugintests.defineAutoTests.bind(plugintests)); // eslint-disable-line no-undef
+                };
+            }
+
+            if (plugintests.hasOwnProperty('defineManualTests')) {
+                getTestsObject(id).defineManualTests = plugintests.defineManualTests.bind(plugintests);
+            }
+        } catch (ex) {
+            console.warn('Failed to load tests: ', id);
+
+        }
     });
-
-  // Map auto / manual test definitions for each, but without actually running the handlers
-  test_modules.forEach(function(id) {
-    try {
-      var plugintests = cordova.require(id);
-
-      if (plugintests.hasOwnProperty('defineAutoTests')) {
-        getTestsObject(id).defineAutoTests = function() {
-          describe(id + ' >>', plugintests.defineAutoTests.bind(plugintests));
-        };
-      }
-
-      if (plugintests.hasOwnProperty('defineManualTests')) {
-        getTestsObject(id).defineManualTests = plugintests.defineManualTests.bind(plugintests);
-      }
-    } catch(ex) {
-      console.warn('Failed to load tests: ', id);
-      return;
-    }
-  });
 }
 
-function createJasmineInterface() {
-  var jasmine_helpers = require('cordova-plugin-test-framework.jasmine_helpers');
-  var jasmineInterface = jasmine_helpers.setUpJasmine();
-  return jasmineInterface;
+function createJasmineInterface () {
+    var jasmine_helpers = require('cordova-plugin-test-framework.jasmine_helpers');
+    var jasmineInterface = jasmine_helpers.setUpJasmine();
+    return jasmineInterface;
 }
 
-function attachJasmineInterfaceToGlobal() {
-  var jasmineInterface = createJasmineInterface();
-  for (var property in jasmineInterface) {
-    window[property] = jasmineInterface[property];
-  }
+function attachJasmineInterfaceToGlobal () {
+    var jasmineInterface = createJasmineInterface();
+    for (var property in jasmineInterface) {
+        window[property] = jasmineInterface[property];
+    }
 }
 
-function detachJasmineInterfaceFromGlobal() {
-  var jasmineInterface = createJasmineInterface();
-  for (var property in jasmineInterface) {
-    delete window[property];
-  }
+function detachJasmineInterfaceFromGlobal () {
+    var jasmineInterface = createJasmineInterface();
+    for (var property in jasmineInterface) {
+        delete window[property];
+    }
 }
 
-exports.defineAutoTests = function() {
-  requireAllTestModules();
-  attachJasmineInterfaceToGlobal();
-
-  Object.keys(exports.tests).forEach(function(key) {
-    if (!exports.tests[key].getEnabled())
-      return;
-    if (!exports.tests[key].hasOwnProperty('defineAutoTests'))
-      return;
-    exports.tests[key].defineAutoTests();
-  });
+exports.defineAutoTests = function () {
+    requireAllTestModules();
+    attachJasmineInterfaceToGlobal();
+
+    Object.keys(exports.tests).forEach(function (key) {
+        if (!exports.tests[key].getEnabled()) { return; }
+        if (!exports.tests[key].hasOwnProperty('defineAutoTests')) { return; }
+        exports.tests[key].defineAutoTests();
+    });
 };
 
-exports.defineManualTests = function(contentEl, beforeEach, createActionButton) {
-  requireAllTestModules();
-  detachJasmineInterfaceFromGlobal();
-
-  Object.keys(exports.tests).forEach(function(key) {
-    if (!exports.tests[key].getEnabled())
-      return;
-    if (!exports.tests[key].hasOwnProperty('defineManualTests'))
-      return;
-    createActionButton(key, function() {
-      beforeEach(key);
-      exports.tests[key].defineManualTests(contentEl, createActionButton);
+exports.defineManualTests = function (contentEl, beforeEach, createActionButton) {
+    requireAllTestModules();
+    detachJasmineInterfaceFromGlobal();
+
+    Object.keys(exports.tests).forEach(function (key) {
+        if (!exports.tests[key].getEnabled()) { return; }
+        if (!exports.tests[key].hasOwnProperty('defineManualTests')) { return; }
+        createActionButton(key, function () {
+            beforeEach(key);
+            exports.tests[key].defineManualTests(contentEl, createActionButton);
+        });
     });
-  });
 };
 
-exports.init = function() {
-  requireAllTestModules();
+exports.init = function () {
+    requireAllTestModules();
 };


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