From 782c0196dc2f515383c2578f4cf44579da8dc4c0 Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Tue, 5 Jun 2018 22:18:06 +0100 Subject: [PATCH] build: Enable qunit/no-early-return,no-negated-ok and enforce Change-Id: Ief1911517ae06545f842cbcbfd0cf3e815ac2b5b --- tests/qunit/.eslintrc.json | 2 ++ .../mediawiki.api/mediawiki.api.test.js | 6 +++--- .../dm.FiltersViewModel.test.js | 14 +++++++------ .../dm.SavedQueryItemModel.test.js | 21 ++++++++++++------- .../mediawiki.widgets.APIResultsQueue.test.js | 20 +++++++++--------- 5 files changed, 36 insertions(+), 27 deletions(-) diff --git a/tests/qunit/.eslintrc.json b/tests/qunit/.eslintrc.json index d3aea5e501..b7412044a6 100644 --- a/tests/qunit/.eslintrc.json +++ b/tests/qunit/.eslintrc.json @@ -14,6 +14,8 @@ "operator-linebreak": 0, "quote-props": [ "error", "as-needed" ], "valid-jsdoc": 0, + "qunit/no-early-return": "error", + "qunit/no-negated-ok": "error", "qunit/require-expect": 0, "qunit/resolve-async": 0 }, diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js index 1d9a8294af..28799e9bf4 100644 --- a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js +++ b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js @@ -83,10 +83,10 @@ this.server.respond( function ( request ) { if ( window.FormData ) { - assert.ok( !request.url.match( /action=/ ), 'Request has no query string' ); + assert.notOk( request.url.match( /action=/ ), 'Request has no query string' ); assert.ok( request.requestBody instanceof FormData, 'Request uses FormData body' ); } else { - assert.ok( !request.url.match( /action=test/ ), 'Request has no query string' ); + assert.notOk( request.url.match( /action=test/ ), 'Request has no query string' ); assert.equal( request.requestBody, 'action=test&format=json', 'Request uses query string body' ); } request.respond( 200, { 'Content-Type': 'application/json' }, '[]' ); @@ -133,7 +133,7 @@ var api = new mw.Api(); this.server.respond( function ( request ) { - assert.ok( !request.url.match( /foo/ ), 'foo query parameter is not present' ); + assert.notOk( request.url.match( /foo/ ), 'foo query parameter is not present' ); assert.ok( request.url.match( /bar=true/ ), 'bar query parameter is present with value true' ); request.respond( 200, { 'Content-Type': 'application/json' }, '[]' ); } ); diff --git a/tests/qunit/suites/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js b/tests/qunit/suites/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js index 2b42b5ab83..65ef43c87c 100644 --- a/tests/qunit/suites/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js +++ b/tests/qunit/suites/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js @@ -1426,14 +1426,16 @@ model.initializeFilters( definition ); - assert.ok( - !model.isHighlightEnabled(), + assert.equal( + model.isHighlightEnabled(), + false, 'Initially, highlight is disabled.' ); model.toggleHighlight( true ); - assert.ok( + assert.equal( model.isHighlightEnabled(), + true, 'Highlight is enabled on toggle.' ); @@ -1547,16 +1549,16 @@ model.initializeFilters( shortFilterDefinition, null ); model.emptyAllFilters(); - assert.ok( model.areVisibleFiltersEmpty() ); + assert.equal( model.areVisibleFiltersEmpty(), true ); model.toggleFiltersSelected( { group3__filter5: true // sticky } ); - assert.ok( model.areVisibleFiltersEmpty() ); + assert.equal( model.areVisibleFiltersEmpty(), true ); model.toggleFiltersSelected( { group1__filter1: true } ); - assert.notOk( model.areVisibleFiltersEmpty() ); + assert.equal( model.areVisibleFiltersEmpty(), false ); } ); }( mediaWiki, jQuery ) ); diff --git a/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js b/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js index 181e9925dc..ee3be94b73 100644 --- a/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js +++ b/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js @@ -41,8 +41,9 @@ 'Item data is retained' ); - assert.ok( - !model.isDefault(), + assert.equal( + model.isDefault(), + false, 'Item default state is retained.' ); } ); @@ -56,20 +57,23 @@ $.extend( true, {}, itemData ) ); - assert.ok( - !model.isDefault(), + assert.equal( + model.isDefault(), + false, 'Default state represented when item initialized with default:false.' ); model.toggleDefault( true ); - assert.ok( + assert.equal( model.isDefault(), + true, 'Default state toggles to true successfully' ); model.toggleDefault( false ); - assert.ok( - !model.isDefault(), + assert.equal( + model.isDefault(), + false, 'Default state toggles to false successfully' ); @@ -81,8 +85,9 @@ { default: true } ); - assert.ok( + assert.equal( model.isDefault(), + true, 'Default state represented when item initialized with default:true.' ); } ); diff --git a/tests/qunit/suites/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js b/tests/qunit/suites/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js index 92970bbe91..74ffe6507f 100644 --- a/tests/qunit/suites/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js +++ b/tests/qunit/suites/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js @@ -116,9 +116,9 @@ QUnit.module( 'mediawiki.widgets.APIResultsQueue' ); assert.equal( queue.getQueueSize(), 3, 'Query 1: Remaining queue size.' ); // Check if sources are depleted - assert.ok( !providers[ 0 ].isDepleted(), 'Query 1: Full provider not depleted.' ); - assert.ok( providers[ 1 ].isDepleted(), 'Query 1: Empty provider is depleted.' ); - assert.ok( providers[ 2 ].isDepleted(), 'Query 1: Single result provider is depleted.' ); + assert.equal( providers[ 0 ].isDepleted(), false, 'Query 1: Full provider not depleted.' ); + assert.equal( providers[ 1 ].isDepleted(), true, 'Query 1: Empty provider is depleted.' ); + assert.equal( providers[ 2 ].isDepleted(), true, 'Query 1: Single result provider is depleted.' ); // Ask for more results return queue.get( 10 ); @@ -137,9 +137,9 @@ QUnit.module( 'mediawiki.widgets.APIResultsQueue' ); // Change the query queue.setParams( { foo: 'baz' } ); // Check if sources are depleted - assert.ok( !providers[ 0 ].isDepleted(), 'Query 2: Full provider not depleted.' ); - assert.ok( !providers[ 1 ].isDepleted(), 'Query 2: Empty provider not depleted.' ); - assert.ok( !providers[ 2 ].isDepleted(), 'Query 2: Single result provider not depleted.' ); + assert.equal( providers[ 0 ].isDepleted(), false, 'Query 2: Full provider not depleted.' ); + assert.equal( providers[ 1 ].isDepleted(), false, 'Query 2: Empty provider not depleted.' ); + assert.equal( providers[ 2 ].isDepleted(), false, 'Query 2: Single result provider not depleted.' ); return queue.get( 10 ); } ) @@ -148,9 +148,9 @@ QUnit.module( 'mediawiki.widgets.APIResultsQueue' ); assert.equal( data2.length, 10, 'Query 2: Results received.' ); assert.equal( queue.getQueueSize(), 3, 'Query 2: Remaining queue size.' ); // Check if sources are depleted - assert.ok( !providers[ 0 ].isDepleted(), 'Query 2: Full provider not depleted.' ); - assert.ok( providers[ 1 ].isDepleted(), 'Query 2: Empty provider is not depleted.' ); - assert.ok( providers[ 2 ].isDepleted(), 'Query 2: Single result provider is not depleted.' ); + assert.equal( providers[ 0 ].isDepleted(), false, 'Query 2: Full provider not depleted.' ); + assert.equal( providers[ 1 ].isDepleted(), true, 'Query 2: Empty provider is not depleted.' ); + assert.equal( providers[ 2 ].isDepleted(), true, 'Query 2: Single result provider is not depleted.' ); } ) // Finish the async test .then( done ); @@ -189,7 +189,7 @@ QUnit.module( 'mediawiki.widgets.APIResultsQueue' ); biggerQueue.setParams( { foo: 'baz' } ); biggerQueue.get( 10 ) .then( function () { - assert.ok( !completed, 'Provider promises aborted.' ); + assert.equal( completed, false, 'Provider promises aborted.' ); } ) // Finish the async test .then( done ); -- 2.20.1