build: Enable altered jscs rule 'disallowQuotedKeysInObjects' and make pass
authorJames D. Forrester <jforrester@wikimedia.org>
Thu, 3 Sep 2015 20:59:44 +0000 (13:59 -0700)
committerTimo Tijhof <krinklemail@gmail.com>
Mon, 7 Sep 2015 17:07:59 +0000 (18:07 +0100)
Change-Id: I172327cdf27adb77615cb6a2ea4c76020062a45a

19 files changed:
.jscsrc
resources/src/jquery/jquery.expandableField.js
resources/src/jquery/jquery.farbtastic.js
resources/src/jquery/jquery.placeholder.js
resources/src/jquery/jquery.spinner.js
resources/src/jquery/jquery.textSelection.js
resources/src/mediawiki.action/mediawiki.action.edit.preview.js
resources/src/mediawiki.action/mediawiki.action.view.postEdit.js
resources/src/mediawiki/mediawiki.jqueryMsg.js
tests/qunit/suites/resources/jquery/jquery.accessKeyLabel.test.js
tests/qunit/suites/resources/jquery/jquery.localize.test.js
tests/qunit/suites/resources/jquery/jquery.tablesorter.parsers.test.js
tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.Uri.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js

diff --git a/.jscsrc b/.jscsrc
index 70a404b..87cae78 100644 (file)
--- a/.jscsrc
+++ b/.jscsrc
@@ -1,10 +1,11 @@
 {
        "preset": "wikimedia",
+       "es3": true,
 
-       "disallowQuotedKeysInObjects": null,
        "requireVarDeclFirst": null,
        "jsDoc": null,
 
+       "disallowQuotedKeysInObjects": "allButReserved",
        "requireDotNotation": { "allExcept": [ "keywords" ] },
 
        "excludeFiles": [
index 10d814c..b9bb77a 100644 (file)
@@ -23,7 +23,7 @@
                expandField: function ( e, context ) {
                        context.config.beforeExpand.call( context.data.$field, context );
                        context.data.$field
-                               .animate( { 'width': context.data.expandedWidth }, 'fast', function () {
+                               .animate( { width: context.data.expandedWidth }, 'fast', function () {
                                        context.config.afterExpand.call( this, context );
                                } );
                },
@@ -33,7 +33,7 @@
                condenseField: function ( e, context ) {
                        context.config.beforeCondense.call( context.data.$field, context );
                        context.data.$field
-                               .animate( { 'width': context.data.condensedWidth }, 'fast', function () {
+                               .animate( { width: context.data.condensedWidth }, 'fast', function () {
                                        context.config.afterCondense.call( this, context );
                                } );
                },
index d7024cc..f70913f 100644 (file)
@@ -52,10 +52,10 @@ jQuery._farbtastic = function (container, callback) {
                        if (this.currentStyle.backgroundImage != 'none') {
                                var image = this.currentStyle.backgroundImage;
                                image = this.currentStyle.backgroundImage.slice(5, image.length - 2);
-                               $(this).css({
-                                       'backgroundImage': 'none',
-                                       'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
-                               });
+                               $(this).css( {
+                                       backgroundImage: 'none',
+                                       filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
+                               } );
                        }
                });
        }
index e385089..9c18a91 100644 (file)
@@ -74,9 +74,9 @@
                        if ( input.type === 'password' ) {
                                if ( !$input.data( 'placeholder-textinput' ) ) {
                                        try {
-                                               $replacement = $input.clone().attr( { 'type': 'text' } );
+                                               $replacement = $input.clone().attr( { type: 'text' } );
                                        } catch ( e ) {
-                                               $replacement = $( '<input>' ).attr( $.extend( args( this ), { 'type': 'text' } ) );
+                                               $replacement = $( '<input>' ).attr( $.extend( args( this ), { type: 'text' } ) );
                                        }
                                        $replacement
                                                        .removeAttr( 'name' )
                placeholder.textarea = isTextareaSupported;
 
                hooks = {
-                       'get': function ( element ) {
+                       get: function ( element ) {
                                var $element = $( element ),
                                        $passwordInput = $element.data( 'placeholder-password' );
                                if ( $passwordInput ) {
 
                                return $element.data( 'placeholder-enabled' ) && $element.hasClass( 'placeholder' ) ? '' : element.value;
                        },
-                       'set': function ( element, value ) {
+                       set: function ( element, value ) {
                                var $element = $( element ),
                                        $passwordInput = $element.data( 'placeholder-password' );
                                if ( $passwordInput ) {
index 361d3e0..41c555b 100644 (file)
@@ -67,7 +67,7 @@
 
                        opts = $.extend( {}, defaults, opts );
 
-                       var $spinner = $( '<div>', { 'class': 'mw-spinner', 'title': '...' } );
+                       var $spinner = $( '<div>', { 'class': 'mw-spinner', title: '...' } );
                        if ( opts.id !== undefined ) {
                                $spinner.attr( 'id', 'mw-spinner-' + opts.id );
                        }
index 367c78e..2573813 100644 (file)
                                                                context.fn.restoreCursorAndScrollTop();
                                                        }
                                                        if ( options.selectionStart !== undefined ) {
-                                                               $( this ).textSelection( 'setSelection', { 'start': options.selectionStart, 'end': options.selectionEnd } );
+                                                               $( this ).textSelection( 'setSelection', { start: options.selectionStart, end: options.selectionEnd } );
                                                        }
 
                                                        selText = $( this ).textSelection( 'getSelection' );
 
                                                        $( this ).focus();
                                                        if ( options.selectionStart !== undefined ) {
-                                                               $( this ).textSelection( 'setSelection', { 'start': options.selectionStart, 'end': options.selectionEnd } );
+                                                               $( this ).textSelection( 'setSelection', { start: options.selectionStart, end: options.selectionEnd } );
                                                        }
 
                                                        selText = $( this ).textSelection( 'getSelection' );
index ce627f5..0610643 100644 (file)
                                                li = $( '<li>' )
                                                        .append( $( '<a>' )
                                                                .attr( {
-                                                                       'href': mw.util.getUrl( template[ '*' ] ),
+                                                                       href: mw.util.getUrl( template[ '*' ] ),
                                                                        'class': ( template.exists !== undefined ? '' : 'new' )
                                                                } )
                                                                .text( template[ '*' ] )
                                                        .addClass( 'interlanguage-link interwiki-' + langlink.lang )
                                                        .append( $( '<a>' )
                                                                .attr( {
-                                                                       'href': langlink.url,
-                                                                       'title': langlink[ '*' ] + ' - ' + langlink.langname,
-                                                                       'lang': langlink.lang,
-                                                                       'hreflang': langlink.lang
+                                                                       href: langlink.url,
+                                                                       title: langlink[ '*' ] + ' - ' + langlink.langname,
+                                                                       lang: langlink.lang,
+                                                                       hreflang: langlink.lang
                                                                } )
                                                                .text( langlink.autonym )
                                                        );
                        $( '.portal:last' ).after(
                                $( '<div>' ).attr( {
                                        'class': 'portal',
-                                       'id': 'p-lang',
-                                       'role': 'navigation',
-                                       'title': mw.msg( 'tooltip-p-lang' ),
+                                       id: 'p-lang',
+                                       role: 'navigation',
+                                       title: mw.msg( 'tooltip-p-lang' ),
                                        'aria-labelledby': 'p-lang-label'
                                } )
                                .append( $( '<h3>' ).attr( 'id', 'p-lang-label' ).text( mw.msg( 'otherlanguages' ) ) )
index 31250c9..168a1c1 100644 (file)
@@ -68,7 +68,7 @@
                        // postedit-confirmation-saved
                        // postedit-confirmation-created
                        // postedit-confirmation-restored
-                       'message': mw.msg(
+                       message: mw.msg(
                                'postedit-confirmation-' + cookieVal,
                                mw.user
                        )
index bd9ad02..0502304 100644 (file)
@@ -15,7 +15,7 @@
                slice = Array.prototype.slice,
                parserDefaults = {
                        magic: {
-                               'SITENAME': mw.config.get( 'wgSiteName' )
+                               SITENAME: mw.config.get( 'wgSiteName' )
                        },
                        // Whitelist for allowed HTML elements in wikitext.
                        // Self-closing tags are not currently supported.
                }
 
                messageFunction = mw.jqueryMsg.getMessageFunction( {
-                       'messages': this.map,
+                       messages: this.map,
                        // For format 'escaped', escaping part is handled by mediawiki.js
-                       'format': this.format
+                       format: this.format
                } );
                return messageFunction( this.key, this.parameters );
        };
index bd622d9..cf34fc1 100644 (file)
@@ -1,7 +1,7 @@
 ( function ( $ ) {
        QUnit.module( 'jquery.accessKeyLabel', QUnit.newMwEnvironment( {
                messages: {
-                       'brackets': '[$1]',
+                       brackets: '[$1]',
                        'word-separator': ' '
                }
        } ) );
index 786b9f6..c503fc9 100644 (file)
@@ -76,8 +76,8 @@
                html = '<div><span title-msg="title"><html:msg key="label" /></span></div>';
                $lc = $( html ).localize( {
                        keys: {
-                               'title': 'foo-' + x + '-title',
-                               'label': 'foo-' + x + '-label'
+                               title: 'foo-' + x + '-title',
+                               label: 'foo-' + x + '-label'
                        }
                } ).find( 'span' );
 
                $lc = $( html ).localize( {
                        prefix: 'foo-',
                        keys: {
-                               'title': x + '-title',
-                               'label': x + '-label'
+                               title: x + '-title',
+                               label: x + '-label'
                        },
                        params: {
-                               'title': [ sitename, '3 minutes ago' ],
-                               'label': [ sitename, '3 minutes ago' ]
+                               title: [ sitename, '3 minutes ago' ],
+                               label: [ sitename, '3 minutes ago' ]
 
                        }
                } ).find( 'span' );
index c0da824..032551d 100644 (file)
                setup: function () {
                        this.liveMonths = mw.language.months;
                        mw.language.months = {
-                               'keys': {
-                                       'names': [ 'january', 'february', 'march', 'april', 'may_long', 'june',
+                               keys: {
+                                       names: [ 'january', 'february', 'march', 'april', 'may_long', 'june',
                                                'july', 'august', 'september', 'october', 'november', 'december' ],
-                                       'genitive': [ 'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
+                                       genitive: [ 'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
                                                'july-gen', 'august-gen', 'september-gen', 'october-gen', 'november-gen', 'december-gen' ],
-                                       'abbrev': [ 'jan', 'feb', 'mar', 'apr', 'may', 'jun',
+                                       abbrev: [ 'jan', 'feb', 'mar', 'apr', 'may', 'jun',
                                                'jul', 'aug', 'sep', 'oct', 'nov', 'dec' ]
                                },
-                               'names': [ 'January', 'February', 'March', 'April', 'May', 'June',
+                               names: [ 'January', 'February', 'March', 'April', 'May', 'June',
                                                'July', 'August', 'September', 'October', 'November', 'December' ],
-                               'genitive': [ 'January', 'February', 'March', 'April', 'May', 'June',
+                               genitive: [ 'January', 'February', 'March', 'April', 'May', 'June',
                                                'July', 'August', 'September', 'October', 'November', 'December' ],
-                               'abbrev': [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
+                               abbrev: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                                                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]
                        };
                },
        ];
        parserTest( 'MDY Dates using dmy content language', 'date', simpleMDYDatesInDMY, function () {
                mw.config.set( {
-                       'wgDefaultDateFormat': 'dmy',
-                       'wgPageContentLanguage': 'de'
+                       wgDefaultDateFormat: 'dmy',
+                       wgPageContentLanguage: 'de'
                } );
        } );
 
index e9ae8c0..be04b97 100644 (file)
                setup: function () {
                        this.liveMonths = mw.language.months;
                        mw.language.months = {
-                               'keys': {
-                                       'names': [ 'january', 'february', 'march', 'april', 'may_long', 'june',
+                               keys: {
+                                       names: [ 'january', 'february', 'march', 'april', 'may_long', 'june',
                                                'july', 'august', 'september', 'october', 'november', 'december' ],
-                                       'genitive': [ 'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
+                                       genitive: [ 'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
                                                'july-gen', 'august-gen', 'september-gen', 'october-gen', 'november-gen', 'december-gen' ],
-                                       'abbrev': [ 'jan', 'feb', 'mar', 'apr', 'may', 'jun',
+                                       abbrev: [ 'jan', 'feb', 'mar', 'apr', 'may', 'jun',
                                                'jul', 'aug', 'sep', 'oct', 'nov', 'dec' ]
                                },
-                               'names': [ 'January', 'February', 'March', 'April', 'May', 'June',
+                               names: [ 'January', 'February', 'March', 'April', 'May', 'June',
                                                'July', 'August', 'September', 'October', 'November', 'December' ],
-                               'genitive': [ 'January', 'February', 'March', 'April', 'May', 'June',
+                               genitive: [ 'January', 'February', 'March', 'April', 'May', 'June',
                                                'July', 'August', 'September', 'October', 'November', 'December' ],
-                               'abbrev': [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
+                               abbrev: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                                                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]
                        };
                },
                umlautWordsSorted,
                function ( $table ) {
                        mw.config.set( 'tableSorterCollation', {
-                               'ä': 'ae',
-                               'ö': 'oe',
-                               'ß': 'ss',
-                               'ü': 'ue'
+                               Ã¤: 'ae',
+                               Ã¶: 'oe',
+                               ÃŸ: 'ss',
+                               Ã¼: 'ue'
                        } );
 
                        $table.tablesorter();
index 225b5f1..d5425a1 100644 (file)
                                // testing custom / localized namespace
                                100: 'Penguins'
                        },
+                       // jscs: disable requireCamelCaseOrUpperCaseIdentifiers
                        wgNamespaceIds: {
-                               'media': -2,
-                               'special': -1,
+                               media: -2,
+                               special: -1,
                                '': 0,
-                               'talk': 1,
-                               'user': 2,
-                               'user_talk': 3,
-                               'wikipedia': 4,
-                               'wikipedia_talk': 5,
-                               'file': 6,
-                               'file_talk': 7,
-                               'mediawiki': 8,
-                               'mediawiki_talk': 9,
-                               'template': 10,
-                               'template_talk': 11,
-                               'help': 12,
-                               'help_talk': 13,
-                               'category': 14,
-                               'category_talk': 15,
-                               'image': 6,
-                               'image_talk': 7,
-                               'project': 4,
-                               'project_talk': 5,
+                               talk: 1,
+                               user: 2,
+                               user_talk: 3,
+                               wikipedia: 4,
+                               wikipedia_talk: 5,
+                               file: 6,
+                               file_talk: 7,
+                               mediawiki: 8,
+                               mediawiki_talk: 9,
+                               template: 10,
+                               template_talk: 11,
+                               help: 12,
+                               help_talk: 13,
+                               category: 14,
+                               category_talk: 15,
+                               image: 6,
+                               image_talk: 7,
+                               project: 4,
+                               project_talk: 5,
                                // Testing custom namespaces and aliases
-                               'penguins': 100,
-                               'antarctic_waterfowl': 100
+                               penguins: 100,
+                               antarctic_waterfowl: 100
                        },
+                       // jscs: enable requireCamelCaseOrUpperCaseIdentifiers
                        wgCaseSensitiveNamespaces: []
                }
        } ) );
index aa66907..51374bd 100644 (file)
 
                assert.deepEqual(
                        original.query,
-                       { 'one': '1', 'two': '2' },
+                       { one: '1', two: '2' },
                        'Properties is deep cloned (bug 37708)'
                );
        } );
                                host: 'example.com',
                                port: undefined,
                                path: '/wiki/Foo',
-                               query: { 'v': '2' },
+                               query: { v: '2' },
                                fragment: undefined
                        },
                        'basic object properties'
index a105022..1fc1b0e 100644 (file)
                        'curly-brace': '{{int:message}}',
                        'single-square-bracket': '[https://www.mediawiki.org/ MediaWiki]',
                        'double-square-bracket': '[[Some page]]',
-                       'regular': 'Other message'
+                       regular: 'Other message'
                } );
 
                oldGMF = mw.jqueryMsg.getMessageFunction;
index 6615bfa..399290c 100644 (file)
@@ -11,7 +11,7 @@
                },
                messages: {
                        // mw.language.listToText test
-                       'and': ' and',
+                       and: ' and',
                        'comma-separator': ', ',
                        'word-separator': ' '
                }
index fd3f990..f7ca45b 100644 (file)
 
                // Multiple values at once
                someValues = {
-                       'foo': 'bar',
-                       'lorem': 'ipsum',
-                       'MediaWiki': true
+                       foo: 'bar',
+                       lorem: 'ipsum',
+                       MediaWiki: true
                };
                assert.strictEqual( conf.set( someValues ), true, 'Map.set returns boolean true if multiple values were set by passing an object' );
                assert.deepEqual( conf.get( [ 'foo', 'lorem' ] ), {
-                       'foo': 'bar',
-                       'lorem': 'ipsum'
+                       foo: 'bar',
+                       lorem: 'ipsum'
                }, 'Map.get returns multiple values correctly as an object' );
 
                assert.deepEqual( conf, new mw.Map( conf.values ), 'new mw.Map maps over existing values-bearing object' );
 
                assert.deepEqual( conf.get( [ 'foo', 'notExist' ] ), {
-                       'foo': 'bar',
-                       'notExist': null
+                       foo: 'bar',
+                       notExist: null
                }, 'Map.get return includes keys that were not found as null values' );
 
                // Interacting with globals and accessing the values object
                                QUnit.start();
                        },
                        {
-                               'all': '.mw-test-implement-a { float: right; }'
+                               all: '.mw-test-implement-a { float: right; }'
                        }
                );
 
                                } );
                        },
                        {
-                               'url': {
-                                       'print': [ urlStyleTest( '.mw-test-implement-b1', 'text-align', 'center' ) ],
-                                       'screen': [
+                               url: {
+                                       print: [ urlStyleTest( '.mw-test-implement-b1', 'text-align', 'center' ) ],
+                                       screen: [
                                                // bug 40834: Make sure it actually works with more than 1 stylesheet reference
                                                urlStyleTest( '.mw-test-implement-b2', 'float', 'left' ),
                                                urlStyleTest( '.mw-test-implement-b3', 'float', 'right' )
                                QUnit.start();
                        },
                        {
-                               'all': '.mw-test-implement-c { float: right; }'
+                               all: '.mw-test-implement-c { float: right; }'
                        }
                );
 
                                } );
                        },
                        {
-                               'all': [ urlStyleTest( '.mw-test-implement-d', 'float', 'right' ) ],
-                               'print': [ urlStyleTest( '.mw-test-implement-d2', 'text-align', 'center' ) ]
+                               all: [ urlStyleTest( '.mw-test-implement-d', 'float', 'right' ) ],
+                               print: [ urlStyleTest( '.mw-test-implement-d2', 'text-align', 'center' ) ]
                        }
                );
 
                                } );
                        },
                        {
-                               'css': [
+                               css: [
                                        '@import url(\''
                                                + urlStyleTest( '.mw-test-implement-import', 'float', 'right' )
                                                + '\');\n'
                                QUnit.start();
                        },
                        {
-                               'all': '.mw-test-implement-e { float: right; }'
+                               all: '.mw-test-implement-e { float: right; }'
                        }
                );
 
                                );
                        },
                        {
-                               'all': '.mw-test-implement-e2 { float: left; }'
+                               all: '.mw-test-implement-e2 { float: left; }'
                        }
                );
 
        QUnit.asyncTest( 'mw.loader.implement( only messages )', 2, function ( assert ) {
                assert.assertFalse( mw.messages.exists( 'bug_29107' ), 'Verify that the test message doesn\'t exist yet' );
 
-               mw.loader.implement( 'test.implement.msgs', [], {}, { 'bug_29107': 'loaded' } );
+               // jscs: disable requireCamelCaseOrUpperCaseIdentifiers
+               mw.loader.implement( 'test.implement.msgs', [], {}, { bug_29107: 'loaded' } );
+               // jscs: enable requireCamelCaseOrUpperCaseIdentifiers
                mw.loader.using( 'test.implement.msgs', function () {
                        QUnit.start();
                        assert.ok( mw.messages.exists( 'bug_29107' ), 'Bug 29107: messages-only module should implement ok' );
index 450f0f5..c1f1484 100644 (file)
@@ -83,7 +83,7 @@
                },
                messages: {
                        // Used by accessKeyLabel in test for addPortletLink
-                       'brackets': '[$1]',
+                       brackets: '[$1]',
                        'word-separator': ' '
                }
        } ) );
 
        QUnit.test( 'wikiScript', 4, function ( assert ) {
                mw.config.set( {
-                       'wgScript': '/w/i.php', // customized wgScript for bug 39103
-                       'wgLoadScript': '/w/l.php', // customized wgLoadScript for bug 39103
-                       'wgScriptPath': '/w',
-                       'wgScriptExtension': '.php'
+                       wgScript: '/w/i.php', // customized wgScript for bug 39103
+                       wgLoadScript: '/w/l.php', // customized wgLoadScript for bug 39103
+                       wgScriptPath: '/w',
+                       wgScriptExtension: '.php'
                } );
 
                assert.equal( mw.util.wikiScript(), mw.config.get( 'wgScript' ),
                url = 'http://example.org/#&foo=bad';
                assert.strictEqual( mw.util.getParamValue( 'foo', url ), null, 'Ignore hash if param is not in querystring but in hash (bug 27427)' );
 
-               url = 'example.org?' + $.param( { 'TEST': 'a b+c' } );
+               url = 'example.org?' + $.param( { TEST: 'a b+c' } );
                assert.strictEqual( mw.util.getParamValue( 'TEST', url ), 'a b+c', 'Bug 30441: getParamValue must understand "+" encoding of space' );
 
-               url = 'example.org?' + $.param( { 'TEST': 'a b+c d' } ); // check for sloppy code from r95332 :)
+               url = 'example.org?' + $.param( { TEST: 'a b+c d' } ); // check for sloppy code from r95332 :)
                assert.strictEqual( mw.util.getParamValue( 'TEST', url ), 'a b+c d', 'Bug 30441: getParamValue must understand "+" encoding of space (multiple spaces)' );
        } );