Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/318483

Change subject: Update eslint config to 0.2 and make a pass
......................................................................

Update eslint config to 0.2 and make a pass

Change-Id: I382ea63049dfef76610edf46c2c8c3e5b7f8b3ff
---
M demos/ve/ve.demo.init.js
M package.json
M src/ce/nodes/ve.ce.TableNode.js
M src/ce/nodes/ve.ce.TableRowNode.js
M src/dm/ve.dm.Converter.js
M src/dm/ve.dm.InternalList.js
M src/ui/actions/ve.ui.TableAction.js
M src/ui/dialogs/ve.ui.FindAndReplaceDialog.js
M src/ui/dialogs/ve.ui.LanguageSearchDialog.js
M src/ui/ve.ui.DebugBar.js
M src/ve.Filibuster.js
M src/ve.utils.js
M tests/ce/imetests/input-ie11-win8.1-korean.js
M tests/ce/ve.ce.Surface.test.js
M tests/dm/lineardata/ve.dm.ElementLinearData.test.js
M tests/dm/ve.dm.Transaction.test.js
M tests/dm/ve.dm.TransactionProcessor.test.js
M tests/ve.qunit.js
M tests/ve.test.js
19 files changed, 62 insertions(+), 62 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor 
refs/changes/83/318483/1

diff --git a/demos/ve/ve.demo.init.js b/demos/ve/ve.demo.init.js
index 82c229f..cb5038c 100644
--- a/demos/ve/ve.demo.init.js
+++ b/demos/ve/ve.demo.init.js
@@ -8,6 +8,7 @@
 
        var $toolbar = $( '.ve-demo-targetToolbar' ),
                $editor = $( '.ve-demo-editor' ),
+               // eslint-disable-next-line new-cap
                target = new ve.demo.target(),
                hashChanging = false,
 
diff --git a/package.json b/package.json
index a2c3354..b8eaff5 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
     }
   ],
   "devDependencies": {
-    "eslint-config-wikimedia": "0.1.0",
+    "eslint-config-wikimedia": "0.2.0",
     "grunt": "1.0.1",
     "grunt-banana-checker": "0.5.0",
     "grunt-contrib-clean": "1.0.0",
diff --git a/src/ce/nodes/ve.ce.TableNode.js b/src/ce/nodes/ve.ce.TableNode.js
index 0a2a0fe..484b629 100644
--- a/src/ce/nodes/ve.ce.TableNode.js
+++ b/src/ce/nodes/ve.ce.TableNode.js
@@ -375,7 +375,7 @@
                }
                // Ignore update the overlay if the table selection changed, 
i.e. not an in-cell selection change
                if ( selection instanceof ve.dm.TableSelection ) {
-                       this.updateOverlayDebounced( true  );
+                       this.updateOverlayDebounced( true );
                }
        } else if ( !active && this.active ) {
                this.$overlay.addClass( 'oo-ui-element-hidden' );
diff --git a/src/ce/nodes/ve.ce.TableRowNode.js 
b/src/ce/nodes/ve.ce.TableRowNode.js
index 8df7ac1..2e0f989 100644
--- a/src/ce/nodes/ve.ce.TableRowNode.js
+++ b/src/ce/nodes/ve.ce.TableRowNode.js
@@ -90,7 +90,7 @@
 ve.ce.TableRowNode.prototype.onMissingCellClick = function () {
        var row, col,
                surfaceModel = this.getRoot().getSurface().getModel(),
-               documentModel =  surfaceModel.getDocument(),
+               documentModel = surfaceModel.getDocument(),
                tableModel = this.findParent( ve.ce.TableNode ).getModel(),
                matrix = tableModel.getMatrix();
 
diff --git a/src/dm/ve.dm.Converter.js b/src/dm/ve.dm.Converter.js
index f74c158..23acaa7 100644
--- a/src/dm/ve.dm.Converter.js
+++ b/src/dm/ve.dm.Converter.js
@@ -1226,7 +1226,7 @@
                                }
                                endOffset = findEndOfNode( i );
                                // Remove this node's data from dataCopy
-                               dataCopy.splice( i - ( dataLen - 
dataCopy.length ),  endOffset - i );
+                               dataCopy.splice( i - ( dataLen - 
dataCopy.length ), endOffset - i );
                                // Move i such that it will be at endOffset in 
the next iteration
                                i = endOffset - 1;
                        }
diff --git a/src/dm/ve.dm.InternalList.js b/src/dm/ve.dm.InternalList.js
index 1f43ba1..f4b9b01 100644
--- a/src/dm/ve.dm.InternalList.js
+++ b/src/dm/ve.dm.InternalList.js
@@ -260,7 +260,7 @@
                index = this.getItemNodeCount();
                this.keyIndexes[ groupName + '/' + key ] = index;
 
-               itemData = [ { type: 'internalItem' } ].concat( data,  [ { 
type: '/internalItem' } ] );
+               itemData = [ { type: 'internalItem' } ].concat( data, [ { type: 
'/internalItem' } ] );
                tx = ve.dm.Transaction.newFromInsertion(
                        this.getDocument(),
                        this.getListNode().getRange().end,
diff --git a/src/ui/actions/ve.ui.TableAction.js 
b/src/ui/actions/ve.ui.TableAction.js
index 3cff02a..68b711f 100644
--- a/src/ui/actions/ve.ui.TableAction.js
+++ b/src/ui/actions/ve.ui.TableAction.js
@@ -798,7 +798,7 @@
                // Detect if the owner of a spanning cell gets deleted and
                // leaves orphaned placeholders
                span = cell.node.getSpans()[ mode ];
-               if ( cell[ mode ] + span - 1  > maxIndex ) {
+               if ( cell[ mode ] + span - 1 > maxIndex ) {
                        // add inserts for orphaned place holders
                        if ( mode === 'col' ) {
                                startRow = cell.row;
@@ -853,9 +853,9 @@
                        );
                        // Remove all but start and end tags
                        rowData.splice( 1, rowData.length - 2 );
-                       /* jshint loopfunc:true (awaiting eslint replacement; 
T149264) */
                        removedMatrix[ row - minIndex ] = {
                                row: rowData,
+                               // eslint-disable-next-line no-loop-func
                                cells: cells.map( function ( cell ) {
                                        if ( cell && !cell.isPlaceholder() ) {
                                                cell.data = 
documentModel.getData( cell.node.getOuterRange(), true );
diff --git a/src/ui/dialogs/ve.ui.FindAndReplaceDialog.js 
b/src/ui/dialogs/ve.ui.FindAndReplaceDialog.js
index c13171d..979a9c1 100644
--- a/src/ui/dialogs/ve.ui.FindAndReplaceDialog.js
+++ b/src/ui/dialogs/ve.ui.FindAndReplaceDialog.js
@@ -504,7 +504,7 @@
                windowScrollHeight = surfaceView.$window.height() - 
this.surface.toolbarHeight;
 
                if ( offset < windowScrollTop || offset > windowScrollTop + 
windowScrollHeight ) {
-                       $( 'body, html' ).animate( { scrollTop: offset - ( 
windowScrollHeight / 2  ) }, 'fast' );
+                       $( 'body, html' ).animate( { scrollTop: offset - ( 
windowScrollHeight / 2 ) }, 'fast' );
                }
        }
 };
diff --git a/src/ui/dialogs/ve.ui.LanguageSearchDialog.js 
b/src/ui/dialogs/ve.ui.LanguageSearchDialog.js
index 503f31f..0dcb9cd 100644
--- a/src/ui/dialogs/ve.ui.LanguageSearchDialog.js
+++ b/src/ui/dialogs/ve.ui.LanguageSearchDialog.js
@@ -55,6 +55,7 @@
 ve.ui.LanguageSearchDialog.prototype.initialize = function () {
        ve.ui.LanguageSearchDialog.super.prototype.initialize.apply( this, 
arguments );
 
+       // eslint-disable-next-line new-cap
        this.searchWidget = new this.constructor.static.languageSearchWidget();
        this.searchWidget.getResults().connect( this, { choose: 
'onSearchResultsChoose' } );
        this.$body.append( this.searchWidget.$element );
diff --git a/src/ui/ve.ui.DebugBar.js b/src/ui/ve.ui.DebugBar.js
index 0545047..12c391f 100644
--- a/src/ui/ve.ui.DebugBar.js
+++ b/src/ui/ve.ui.DebugBar.js
@@ -211,7 +211,7 @@
                        $label.html( ( text.match( /\S/ ) ? text : '&nbsp;' ) + 
' ' );
                        if ( annotations ) {
                                $label.append(
-                                       /* jshint loopfunc:true (awaiting 
eslint replacement; T149264) */
+                                       // eslint-disable-next-line no-loop-func
                                        $( '<span>' ).text(
                                                '[' + 
this.getSurface().getModel().getDocument().getStore().values( annotations 
).map( function ( ann ) {
                                                        return JSON.stringify( 
ann.getComparableObject() );
diff --git a/src/ve.Filibuster.js b/src/ve.Filibuster.js
index 6ccd6c1..89add2d 100644
--- a/src/ve.Filibuster.js
+++ b/src/ve.Filibuster.js
@@ -379,7 +379,7 @@
                return (
                        '<b>exit ' + ve.escapeHtml( frame.funcName ) + '</b>' +
                        '--->' +
-                       ( frame.thrown ?  'thrown' : showVal( frame.returned ) )
+                       ( frame.thrown ? 'thrown' : showVal( frame.returned ) )
                );
        }
 
diff --git a/src/ve.utils.js b/src/ve.utils.js
index 2bb0cd9..3ee9356 100644
--- a/src/ve.utils.js
+++ b/src/ve.utils.js
@@ -1182,7 +1182,7 @@
        for ( i = 0, len = maskAttrs.length; i < len; i++ ) {
                fromAttr = unmask ? 'data-ve-' + maskAttrs[ i ] : maskAttrs[ i 
];
                toAttr = unmask ? maskAttrs[ i ] : 'data-ve-' + maskAttrs[ i ];
-               /* jshint loopfunc:true (awaiting eslint replacement; T149264) 
*/
+               // eslint-disable-next-line no-loop-func
                $( xmlDoc ).find( '[' + fromAttr + ']' ).each( function () {
                        var toAttrValue, fromAttrNormalized,
                                fromAttrValue = this.getAttribute( fromAttr );
diff --git a/tests/ce/imetests/input-ie11-win8.1-korean.js 
b/tests/ce/imetests/input-ie11-win8.1-korean.js
index 2d35f3f..af7d512 100644
--- a/tests/ce/imetests/input-ie11-win8.1-korean.js
+++ b/tests/ce/imetests/input-ie11-win8.1-korean.js
@@ -5,42 +5,42 @@
  */
 
 ve.ce.imetests.push( [ 'input-ie11-win8.1-korean', [
-        { imeIdentifier: 'Korean', userAgent: 'Mozilla/5.0 (Windows NT 6.3; 
WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; 
.NET CLR 3.0.30729; GWX:QUALIFIED; MASMJS; rv:11.0) like Gecko', startDom: 'x' 
},
-        { seq: 0, time: 15.602, action: 'changeText', args: [ 'ㅎ' ] },
-        { seq: 1, time: 15.602, action: 'changeSel', args: [ 1, 1 ] },
-        { seq: 2, time: 15.602, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
-        { seq: 3, time: 15.629, action: 'sendEvent', args: [ 
'compositionstart', {  } ] },
-        { seq: 4, time: 15.648, action: 'changeSel', args: [ 0, 1 ] },
-        { seq: 5, time: 15.648, action: 'endLoop', args: [] },
-        { seq: 6, time: 15.698, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 71 } ] },
-        { seq: 7, time: 15.732, action: 'endLoop', args: [] },
-        { seq: 8, time: 16.18, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
-        { seq: 9, time: 16.213, action: 'changeText', args: [ '하' ] },
-        { seq: 10, time: 16.213, action: 'endLoop', args: [] },
-        { seq: 11, time: 16.295, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 75 } ] },
-        { seq: 12, time: 16.329, action: 'endLoop', args: [] },
-        { seq: 13, time: 16.82, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
-        { seq: 14, time: 16.848, action: 'changeText', args: [ '한' ] },
-        { seq: 15, time: 16.848, action: 'endLoop', args: [] },
-        { seq: 16, time: 16.93, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 83 } ] },
-        { seq: 17, time: 16.964, action: 'endLoop', args: [] },
-        { seq: 18, time: 17.65, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
-        { seq: 19, time: 17.657, action: 'changeText', args: [ '한ㄱ' ] },
-        { seq: 20, time: 17.657, action: 'changeSel', args: [ 2, 2 ] },
-        { seq: 21, time: 17.657, action: 'sendEvent', args: [ 
'compositionend', {  } ] },
-        { seq: 22, time: 17.665, action: 'sendEvent', args: [ 
'compositionstart', {  } ] },
-        { seq: 23, time: 17.697, action: 'changeSel', args: [ 1, 2 ] },
-        { seq: 24, time: 17.697, action: 'endLoop', args: [] },
-        { seq: 25, time: 17.856, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 82 } ] },
-        { seq: 26, time: 17.877, action: 'endLoop', args: [] },
-        { seq: 27, time: 18.063, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
-        { seq: 28, time: 18.094, action: 'changeText', args: [ '한그' ] },
-        { seq: 29, time: 18.094, action: 'endLoop', args: [] },
-        { seq: 30, time: 18.201, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 77 } ] },
-        { seq: 31, time: 18.227, action: 'endLoop', args: [] },
-        { seq: 32, time: 18.601, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
-        { seq: 33, time: 18.629, action: 'changeText', args: [ '한글' ] },
-        { seq: 34, time: 18.629, action: 'endLoop', args: [] },
-        { seq: 35, time: 18.711, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 70 } ] },
-        { seq: 36, time: 18.745, action: 'endLoop', args: [] }
+       { imeIdentifier: 'Korean', userAgent: 'Mozilla/5.0 (Windows NT 6.3; 
WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; 
.NET CLR 3.0.30729; GWX:QUALIFIED; MASMJS; rv:11.0) like Gecko', startDom: 'x' 
},
+       { seq: 0, time: 15.602, action: 'changeText', args: [ 'ㅎ' ] },
+       { seq: 1, time: 15.602, action: 'changeSel', args: [ 1, 1 ] },
+       { seq: 2, time: 15.602, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
+       { seq: 3, time: 15.629, action: 'sendEvent', args: [ 
'compositionstart', {} ] },
+       { seq: 4, time: 15.648, action: 'changeSel', args: [ 0, 1 ] },
+       { seq: 5, time: 15.648, action: 'endLoop', args: [] },
+       { seq: 6, time: 15.698, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 71 } ] },
+       { seq: 7, time: 15.732, action: 'endLoop', args: [] },
+       { seq: 8, time: 16.18, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
+       { seq: 9, time: 16.213, action: 'changeText', args: [ '하' ] },
+       { seq: 10, time: 16.213, action: 'endLoop', args: [] },
+       { seq: 11, time: 16.295, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 75 } ] },
+       { seq: 12, time: 16.329, action: 'endLoop', args: [] },
+       { seq: 13, time: 16.82, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
+       { seq: 14, time: 16.848, action: 'changeText', args: [ '한' ] },
+       { seq: 15, time: 16.848, action: 'endLoop', args: [] },
+       { seq: 16, time: 16.93, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 83 } ] },
+       { seq: 17, time: 16.964, action: 'endLoop', args: [] },
+       { seq: 18, time: 17.65, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
+       { seq: 19, time: 17.657, action: 'changeText', args: [ '한ㄱ' ] },
+       { seq: 20, time: 17.657, action: 'changeSel', args: [ 2, 2 ] },
+       { seq: 21, time: 17.657, action: 'sendEvent', args: [ 'compositionend', 
{} ] },
+       { seq: 22, time: 17.665, action: 'sendEvent', args: [ 
'compositionstart', {} ] },
+       { seq: 23, time: 17.697, action: 'changeSel', args: [ 1, 2 ] },
+       { seq: 24, time: 17.697, action: 'endLoop', args: [] },
+       { seq: 25, time: 17.856, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 82 } ] },
+       { seq: 26, time: 17.877, action: 'endLoop', args: [] },
+       { seq: 27, time: 18.063, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
+       { seq: 28, time: 18.094, action: 'changeText', args: [ '한그' ] },
+       { seq: 29, time: 18.094, action: 'endLoop', args: [] },
+       { seq: 30, time: 18.201, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 77 } ] },
+       { seq: 31, time: 18.227, action: 'endLoop', args: [] },
+       { seq: 32, time: 18.601, action: 'sendEvent', args: [ 'keydown', { 
keyCode: 229 } ] },
+       { seq: 33, time: 18.629, action: 'changeText', args: [ '한글' ] },
+       { seq: 34, time: 18.629, action: 'endLoop', args: [] },
+       { seq: 35, time: 18.711, action: 'sendEvent', args: [ 'keyup', { 
keyCode: 70 } ] },
+       { seq: 36, time: 18.745, action: 'endLoop', args: [] }
 ] ] );
diff --git a/tests/ce/ve.ce.Surface.test.js b/tests/ce/ve.ce.Surface.test.js
index f4fffc0..f6cb2b7 100644
--- a/tests/ce/ve.ce.Surface.test.js
+++ b/tests/ce/ve.ce.Surface.test.js
@@ -138,7 +138,7 @@
        }
        if ( expectedRangeOrSelection ) {
                expectedSelection = 
ve.test.utils.selectionFromRangeOrSelection( model.getDocument(), 
getLayoutSpecific( expectedRangeOrSelection ) );
-               assert.equalHash( model.getSelection(), expectedSelection, msg 
+  ': selection' );
+               assert.equalHash( model.getSelection(), expectedSelection, msg 
+ ': selection' );
        }
        if ( expectedHtml ) {
                htmlDoc = ve.dm.converter.getDomFromModel( doc );
@@ -1247,7 +1247,7 @@
 
 } );
 
-QUnit.test( 'handleDataTransfer/handleDataTransferItems', function ( assert )  
{
+QUnit.test( 'handleDataTransfer/handleDataTransferItems', function ( assert ) {
        var i,
                surface = ve.test.utils.createViewOnlySurfaceFromHtml( '' ),
                view = surface.getView(),
diff --git a/tests/dm/lineardata/ve.dm.ElementLinearData.test.js 
b/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
index eeac126..7e79bdb 100644
--- a/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
+++ b/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
@@ -915,7 +915,7 @@
                } else if ( 'exception' in cases[ i ] ) {
 
                        assert.throws(
-                               // jshint loopfunc:true
+                               // eslint-disable-next-line no-loop-func
                                function () {
                                        data.getRelativeOffset(
                                                cases[ i ].offset,
@@ -925,7 +925,6 @@
                                },
                                cases[ i ].exception,
                                cases[ i ].msg
-                               // jshint loopfunc:false
                        );
                }
        }
diff --git a/tests/dm/ve.dm.Transaction.test.js 
b/tests/dm/ve.dm.Transaction.test.js
index 6001f7e..733f147 100644
--- a/tests/dm/ve.dm.Transaction.test.js
+++ b/tests/dm/ve.dm.Transaction.test.js
@@ -35,7 +35,7 @@
                                );
                        }
                } else if ( cases[ msg ].exception ) {
-                       /* jshint loopfunc:true */
+                       // eslint-disable-next-line no-loop-func
                        assert.throws( function () {
                                constructor.apply( ve.dm.Transaction, args );
                        }, cases[ msg ].exception, msg + ': throw exception' );
diff --git a/tests/dm/ve.dm.TransactionProcessor.test.js 
b/tests/dm/ve.dm.TransactionProcessor.test.js
index bada3b7..ea2c440 100644
--- a/tests/dm/ve.dm.TransactionProcessor.test.js
+++ b/tests/dm/ve.dm.TransactionProcessor.test.js
@@ -597,8 +597,8 @@
                                        data.splice( 32, 1 ); // remove 
'/listItem'
                                        data.splice( 20, 1 ); // remove 
'listItem'
                                        data.splice( 17, 1 ); // remove 
'/listItem'
-                                       data.splice(  5, 1 ); // remove 
'listItem'
-                                       data.splice(  2, 1 ); // remove 'list'
+                                       data.splice( 5, 1 ); // remove 
'listItem'
+                                       data.splice( 2, 1 ); // remove 'list'
                                }
                        },
                        'inserting trailing metadata (1)': {
@@ -722,8 +722,8 @@
                                'rollback (tree): ' + msg
                        );
                } else if ( 'exception' in cases[ msg ] ) {
-                       /* jshint loopfunc:true */
                        assert.throws(
+                               // eslint-disable-next-line no-loop-func
                                function () {
                                        testDoc.commit( tx );
                                },
diff --git a/tests/ve.qunit.js b/tests/ve.qunit.js
index b8a8dd8..6b22c28 100644
--- a/tests/ve.qunit.js
+++ b/tests/ve.qunit.js
@@ -104,7 +104,7 @@
         */
        function unescapeText( s ) {
                return s.replace( /&(#039|quot|lt|gt|amp);/g, function ( match, 
seq ) {
-                       switch ( seq )  {
+                       switch ( seq ) {
                                case '#039':
                                        return '\'';
                                case 'quot':
diff --git a/tests/ve.test.js b/tests/ve.test.js
index 366017a..c8984f6 100644
--- a/tests/ve.test.js
+++ b/tests/ve.test.js
@@ -296,7 +296,7 @@
                );
        }
        tests = [
-               /* jshint elision:true (awaiting eslint replacement; T149262) */
+               /* eslint-disable no-sparse-arrays */
                // arr, offset, remove, data, expectedReturn, expectedArray, msg
                [ [], 0, 0, [ , 3 ], [], [ , 3 ], 'insert empty, leading hole' 
],
                [ [], 0, 0, [ 1, , 3 ], [], [ 1, , 3 ], 'insert empty, middle 
hole' ],
@@ -317,13 +317,12 @@
                [ [ 4, , 5, , 6 ], 0, 3, [ 1, , 3 ], [ 4, , 5 ], [ 1, , 3, , 6 
], 'diff=0 start' ],
                [ [ 4, , 5, , 6 ], 1, 3, [ 1, , 3 ], [ , 5, , ], [ 4, 1, , 3, 6 
], 'diff=0 mid' ],
                [ [ 4, , 5, , 6 ], 2, 3, [ 1, , 3 ], [ 5, , 6 ], [ 4, , 1, , 3 
], 'diff=0 end' ]
-               /* jshint elision:false */
+               /* eslint-enable no-sparse-arrays */
        ];
        QUnit.expect( 2 * tests.length + 1 );
        assert.notDeepEqual(
-               /* jshint elision:true (awaiting eslint replacement; T149262) */
+               // eslint-disable-next-line no-sparse-arrays
                mapToString( [ 1, , ] ),
-               /* jshint elision:false */
                mapToString( [ 1, undefined ] ),
                'holes look different to undefined'
        );

-- 
To view, visit https://gerrit.wikimedia.org/r/318483
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I382ea63049dfef76610edf46c2c8c3e5b7f8b3ff
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to