selenium: Replace ES5 one-var assignments with const/let per line
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 1 Oct 2019 01:36:15 +0000 (02:36 +0100)
committerKrinkle <krinklemail@gmail.com>
Tue, 1 Oct 2019 02:18:19 +0000 (02:18 +0000)
The one-var rule only applies to 'var' where it matters that we
don't let the engine implicitly hoist variables leading to
confusing code that may be unsafe to refactor in a straight-forward
manner.

This doesn't apply to ES6 const and let. While I updated the
rule in 1955a8aa5 to allow ES6, I did not enforce it. Fixed now.
When assigning a value, each assignment should be its own
statement (disallow awkward comma separated assignments).
When not assigning a value, and the lines are next to each other,
they should be in one statement. This makes sense for this small
directory and might make sense to propose for the wikimedia preset
at some point.

Note that the rule I added was not required to make the build
pass. The changes I made are allowed by default by the wikimedia
preset for es6+. The rule I added disallows the previous way.

Change-Id: I26cda095a8a4589084e36273038877f2dd1fc50b

tests/selenium/.eslintrc.json
tests/selenium/pageobjects/history.page.js
tests/selenium/specs/page.js
tests/selenium/specs/rollback.js
tests/selenium/specs/specialrecentchanges.js
tests/selenium/specs/specialwatchlist.js
tests/selenium/specs/user.js
tests/selenium/wdio-mediawiki/RunJobs.js
tests/selenium/wdio-mediawiki/specs/BlankPage.js
tests/selenium/wdio.conf.js

index 93ac558..2a66b4e 100644 (file)
@@ -14,7 +14,7 @@
                "mw": false
        },
        "rules": {
-               "no-console": "off",
-               "prefer-template": "off"
+               "prefer-template": "off",
+               "one-var": [ "error", { "initialized": "never", "uninitialized": "always" } ]
        }
 }
index e68c015..8525384 100644 (file)
@@ -1,6 +1,6 @@
-const Page = require( 'wdio-mediawiki/Page' ),
-       Api = require( 'wdio-mediawiki/Api' ),
-       Util = require( 'wdio-mediawiki/Util' );
+const Page = require( 'wdio-mediawiki/Page' );
+const Api = require( 'wdio-mediawiki/Api' );
+const Util = require( 'wdio-mediawiki/Util' );
 
 class HistoryPage extends Page {
        get heading() { return $( '#firstHeading' ); }
index b04a578..464fbb2 100644 (file)
@@ -1,15 +1,15 @@
-const assert = require( 'assert' ),
-       Api = require( 'wdio-mediawiki/Api' ),
-       DeletePage = require( '../pageobjects/delete.page' ),
-       RestorePage = require( '../pageobjects/restore.page' ),
-       EditPage = require( '../pageobjects/edit.page' ),
-       HistoryPage = require( '../pageobjects/history.page' ),
-       UndoPage = require( '../pageobjects/undo.page' ),
-       UserLoginPage = require( 'wdio-mediawiki/LoginPage' ),
-       Util = require( 'wdio-mediawiki/Util' );
+const assert = require( 'assert' );
+const Api = require( 'wdio-mediawiki/Api' );
+const DeletePage = require( '../pageobjects/delete.page' );
+const RestorePage = require( '../pageobjects/restore.page' );
+const EditPage = require( '../pageobjects/edit.page' );
+const HistoryPage = require( '../pageobjects/history.page' );
+const UndoPage = require( '../pageobjects/undo.page' );
+const UserLoginPage = require( 'wdio-mediawiki/LoginPage' );
+const Util = require( 'wdio-mediawiki/Util' );
 
 describe( 'Page', function () {
-       var content, name, bot;
+       let content, name, bot;
 
        before( async function () {
                bot = await Api.bot();
index c980bc3..faf1d6c 100644 (file)
@@ -1,11 +1,10 @@
-const assert = require( 'assert' ),
-       HistoryPage = require( '../pageobjects/history.page' ),
-       UserLoginPage = require( 'wdio-mediawiki/LoginPage' ),
-       Util = require( 'wdio-mediawiki/Util' );
+const assert = require( 'assert' );
+const HistoryPage = require( '../pageobjects/history.page' );
+const UserLoginPage = require( 'wdio-mediawiki/LoginPage' );
+const Util = require( 'wdio-mediawiki/Util' );
 
 describe( 'Rollback with confirmation', function () {
-       var content,
-               name;
+       let content, name;
 
        before( function () {
                browser.deleteAllCookies();
@@ -64,7 +63,7 @@ describe( 'Rollback with confirmation', function () {
        } );
 
        it.skip( 'should verify rollbacks via GET requests are confirmed on a follow-up page', function () {
-               var rollbackActionUrl = HistoryPage.rollbackLink.getAttribute( 'href' );
+               const rollbackActionUrl = HistoryPage.rollbackLink.getAttribute( 'href' );
                browser.url( rollbackActionUrl );
 
                browser.waitUntil( function () {
@@ -81,8 +80,7 @@ describe( 'Rollback with confirmation', function () {
 } );
 
 describe( 'Rollback without confirmation', function () {
-       var content,
-               name;
+       let content, name;
 
        before( function () {
                browser.deleteAllCookies();
@@ -115,7 +113,7 @@ describe( 'Rollback without confirmation', function () {
        } );
 
        it.skip( 'should perform rollback via GET request without asking the user to confirm', function () {
-               var rollbackActionUrl = HistoryPage.rollbackLink.getAttribute( 'href' );
+               const rollbackActionUrl = HistoryPage.rollbackLink.getAttribute( 'href' );
                browser.url( rollbackActionUrl );
 
                browser.waitUntil( function () {
index 8720ee5..ca23509 100644 (file)
@@ -1,11 +1,10 @@
-const assert = require( 'assert' ),
-       Api = require( 'wdio-mediawiki/Api' ),
-       RecentChangesPage = require( '../pageobjects/recentchanges.page' ),
-       Util = require( 'wdio-mediawiki/Util' );
+const assert = require( 'assert' );
+const Api = require( 'wdio-mediawiki/Api' );
+const RecentChangesPage = require( '../pageobjects/recentchanges.page' );
+const Util = require( 'wdio-mediawiki/Util' );
 
 describe( 'Special:RecentChanges', function () {
-       let content,
-               name;
+       let content, name;
 
        beforeEach( function () {
                browser.deleteAllCookies();
index bfad3b8..57a0c96 100644 (file)
@@ -1,9 +1,9 @@
-const assert = require( 'assert' ),
-       Api = require( 'wdio-mediawiki/Api' ),
-       WatchlistPage = require( '../pageobjects/watchlist.page' ),
-       WatchablePage = require( '../pageobjects/watchable.page' ),
-       LoginPage = require( 'wdio-mediawiki/LoginPage' ),
-       Util = require( 'wdio-mediawiki/Util' );
+const assert = require( 'assert' );
+const Api = require( 'wdio-mediawiki/Api' );
+const WatchlistPage = require( '../pageobjects/watchlist.page' );
+const WatchablePage = require( '../pageobjects/watchable.page' );
+const LoginPage = require( 'wdio-mediawiki/LoginPage' );
+const Util = require( 'wdio-mediawiki/Util' );
 
 describe( 'Special:Watchlist', function () {
        let username, password;
index 2558881..e3eeb49 100644 (file)
@@ -1,13 +1,12 @@
-const assert = require( 'assert' ),
-       CreateAccountPage = require( '../pageobjects/createaccount.page' ),
-       PreferencesPage = require( '../pageobjects/preferences.page' ),
-       UserLoginPage = require( 'wdio-mediawiki/LoginPage' ),
-       Api = require( 'wdio-mediawiki/Api' ),
-       Util = require( 'wdio-mediawiki/Util' );
+const assert = require( 'assert' );
+const CreateAccountPage = require( '../pageobjects/createaccount.page' );
+const PreferencesPage = require( '../pageobjects/preferences.page' );
+const UserLoginPage = require( 'wdio-mediawiki/LoginPage' );
+const Api = require( 'wdio-mediawiki/Api' );
+const Util = require( 'wdio-mediawiki/Util' );
 
 describe( 'User', function () {
-       var password,
-               username;
+       let password, username;
 
        beforeEach( function () {
                browser.deleteAllCookies();
index f6a1542..daa7fbd 100644 (file)
@@ -1,6 +1,6 @@
-const MWBot = require( 'mwbot' ),
-       Page = require( './Page' ),
-       MAINPAGE_REQUESTS_MAX_RUNS = 10; // (arbitrary) safe-guard against endless execution
+const MWBot = require( 'mwbot' );
+const Page = require( './Page' );
+const MAINPAGE_REQUESTS_MAX_RUNS = 10; // (arbitrary) safe-guard against endless execution
 
 function getJobCount() {
        const bot = new MWBot( {
index 2977479..9fbee56 100644 (file)
@@ -1,5 +1,5 @@
-const assert = require( 'assert' ),
-       BlankPage = require( './../BlankPage' );
+const assert = require( 'assert' );
+const BlankPage = require( './../BlankPage' );
 
 describe( 'BlankPage', function () {
        it( 'should have its title @daily', function () {
index 932a8aa..fa65515 100644 (file)
@@ -1,7 +1,8 @@
-const fs = require( 'fs' ),
-       path = require( 'path' ),
-       startChromedriver = !process.argv.includes( '--skip-chromedriver' ),
-       logPath = process.env.LOG_DIR || path.join( __dirname, '/log' );
+/* eslint-disable no-console */
+const fs = require( 'fs' );
+const path = require( 'path' );
+const startChromedriver = !process.argv.includes( '--skip-chromedriver' );
+const logPath = process.env.LOG_DIR || path.join( __dirname, '/log' );
 
 let ffmpeg;