jenkins-bot has submitted this change and it was merged.
Change subject: Fix jenkins test failing for js
......................................................................
Fix jenkins test failing for js
Add npm and composer test support.
Adjust .gitignore
The i18n banana checker is not included since the repository lacks some
messages.
Bug: T63596
Change-Id: I6846cb7df24fbf2dff4116131361eee3c3c01413
---
M .gitignore
A .jshintignore
A .jshintrc
M Configure.js
A Gruntfile.js
A composer.json
A package.json
7 files changed, 107 insertions(+), 21 deletions(-)
Approvals:
Hashar: Looks good to me, approved
jenkins-bot: Verified
diff --git a/.gitignore b/.gitignore
index 98b092a..63a643a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
-.svn
*~
*.kate-swp
.*.swp
+/node_modules/
+/vendor/
+/composer.lock
diff --git a/.jshintignore b/.jshintignore
new file mode 100644
index 0000000..022b988
--- /dev/null
+++ b/.jshintignore
@@ -0,0 +1,2 @@
+node_modules
+vendor
diff --git a/.jshintrc b/.jshintrc
new file mode 100644
index 0000000..8a2a10c
--- /dev/null
+++ b/.jshintrc
@@ -0,0 +1,23 @@
+{
+ // Enforcing
+ "bitwise": true,
+ "eqeqeq": true,
+ "freeze": true,
+ "latedef": true,
+ "noarg": true,
+ "nonew": true,
+ "undef": true,
+ "unused": true,
+ "strict": false,
+
+ // Relaxing
+ "es5": false,
+
+ // Environment
+ "browser": true,
+ "jquery": true,
+
+ "globals": {
+ "mediaWiki": false
+ }
+}
diff --git a/Configure.js b/Configure.js
index 913303f..91ce060 100644
--- a/Configure.js
+++ b/Configure.js
@@ -3,7 +3,10 @@
* create JavaScript buttons to allow to modify the form to have more
* flexibility
*/
-jQuery( document ).ready( function ( $ ) {
+
+/*jshint -W083 */
+
+jQuery( document ).ready( function ( $, mw ) {
"use strict";
// Tabs and TOC
// ------------
@@ -89,12 +92,12 @@
item.prepend( $( '<a></a>' )
.text( '[+]' )
.addClass( 'toggle' )
- .attr( 'href', 'javascript:' )
+ .attr( 'href', '#' )
.mousedown( function( e ) {
e.preventDefault();
return false;
} )
- .click( function( e ) {
+ .click( function() {
if ( sub.css( 'display' ) ===
'none' ) {
sub.show();
$(this).text( '[−]' );
@@ -108,10 +111,11 @@
$( '#configtoc' ).append( item );
} );
+ var stylepath;
$( '.config-col-toc' ).prepend(
$( '<a></a>' )
.css( 'align', 'right' )
- .attr( 'href', 'javascript:;' )
+ .attr( 'href', '#' )
.append( $( '<img />' )
.attr( {'src': stylepath +
'/common/images/Arr_l.png', 'title': 'hide TOC' } )
)
@@ -159,6 +163,7 @@
$( '#configure table.assoc' ).each( function() {
var table = $( this );
+ var fixAssocTable;
if ( table.hasClass( 'disabled' ) ) {
return;
@@ -283,6 +288,7 @@
.attr( 'type', 'button' )
.attr( 'value', mediaWiki.msg(
'configure-js-add' ) )
.click( function() {
+ var prompt;
var groupname = prompt( mediaWiki.msg(
'configure-js-prompt-group' ) );
if( groupname === null ) {
return;
@@ -302,6 +308,7 @@
function( obj ) {
if ( obj.configure.ajax
) {
var resp =
obj.configure.ajax;
+ var error;
error = false;
table.append(
$(
'<tr></tr>' )
@@ -314,7 +321,7 @@
.append(
$( '<input></input>' )
.attr( 'type', 'button' )
-
.attr( 'value', mediaWiki.msg(
'configure-js-remove-row' ) )
+
.attr( 'value', mw.msg(
'configure-js-remove-row' ) )
.click( function() {
$( this ).parent().parent().remove();
} )
@@ -322,7 +329,7 @@
)
);
} else {
- alert(
mediaWiki.msg( 'configure-js-group-exists' ) );
+ window.alert(
mw.msg( 'configure-js-group-exists' ) );
}
}
);
@@ -430,25 +437,26 @@
}
};
- $( '.configure-biglist' ).each( function( l ) {
+ $( '.configure-biglist' ).each( function() {
var list = $( this );
+ var summariseSetting;
var summary = $( '<div></div>' )
.addClass( 'configure-biglist-summary' )
.html( summariseSetting( list ) );
- var header = $( '<span></span>' ).text( mediaWiki.msg(
'configure-js-biglist-hidden' ) );
+ var header = $( '<span></span>' ).text( mw.msg(
'configure-js-biglist-hidden' ) );
var toogle = $( '<a></a>' )
.addClass( 'configure-biglist-toggle-link' )
- .attr( 'href', 'javascript:' )
- .text( mediaWiki.msg( 'configure-js-biglist-show' ) )
+ .attr( 'href', '#' )
+ .text( mw.msg( 'configure-js-biglist-show' ) )
.click( function() {
if ( list.css( 'display' ) === 'none' ) {
- toogle.text( mediaWiki.msg(
'configure-js-biglist-hide' ) );
- header.text( mediaWiki.msg(
'configure-js-biglist-shown' ) );
+ toogle.text( mw.msg(
'configure-js-biglist-hide' ) );
+ header.text( mw.msg(
'configure-js-biglist-shown' ) );
list.show();
summary.hide();
} else {
- toogle.text( mediaWiki.msg(
'configure-js-biglist-show' ) );
- header.text( mediaWiki.msg(
'configure-js-biglist-hidden' ) );
+ toogle.text( mw.msg(
'configure-js-biglist-show' ) );
+ header.text( mw.msg(
'configure-js-biglist-hidden' ) );
list.hide();
summary.html( summariseSetting( list )
).show();
}
@@ -472,6 +480,7 @@
window.allSettings = undefined;
( function() {
+ var allSettings;
allSettings = [];
// For each section...
@@ -480,7 +489,8 @@
for( var fid=0; fid<fieldsets.length; ++fid ) {
// For each subsection...
var fieldset = fieldsets[fid];
- var fieldset_title = window.getInnerText(
fieldset.getElementsByTagName( 'legend' )[0] );
+ // var fieldset_title = window.getInnerText(
fieldset.getElementsByTagName( 'legend' )[0] );
+ var getElementsByClassName;
var subsections = getElementsByClassName( fieldset,
'table', 'configure-table' );
for( var sid=0; sid<subsections.length; ++sid ) {
var subsection;
@@ -489,15 +499,16 @@
} else {
subsection = subsections[sid];
}
- var heading = document.getElementById(
subsection.parentNode.id.replace( 'config-table', 'config-head' ) );
+ // var heading = document.getElementById(
subsection.parentNode.id.replace( 'config-table', 'config-head' ) );
// For each setting...
for( var i=0;
i<subsection.childNodes.length;++i ) {
var row = subsection.childNodes[i];
- if( typeof row.ELEMENT_NODE ===
"undefined" ){
- var wantedType = 1; //
ELEMENT_NODE
+ var wantedType;
+ if ( typeof row.ELEMENT_NODE ===
"undefined" ) {
+ wantedType = 1; // ELEMENT_NODE
} else {
- var wantedType =
row.ELEMENT_NODE;
+ wantedType = row.ELEMENT_NODE;
}
if ( row.nodeType !== wantedType || (
row.tagName !== 'tr' && row.tagName !== 'TR' ) ) {
continue;
@@ -533,6 +544,7 @@
}
var isMatch = function( element ) { return
element.description.indexOf( query ) !== -1; };
+ var allSettings;
for( var i=0; i<allSettings.length; ++i ) {
var data = allSettings[i];
if ( isMatch( data ) ) {
@@ -552,4 +564,4 @@
}
}
} );
-} );
+}( jQuery, mediaWiki ) );
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..f294c83
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,26 @@
+/*jshint node:true */
+module.exports = function ( grunt ) {
+ grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+
+ grunt.initConfig( {
+ jshint: {
+ options: {
+ jshintrc: true
+ },
+ all: [
+ '**/*.js',
+ '!node_modules/**'
+ ]
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**'
+ ]
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'jshint', 'jsonlint' ] );
+ grunt.registerTask( 'default', 'test' );
+};
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..3d55a97
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,10 @@
+{
+ "require-dev": {
+ "jakub-onderka/php-parallel-lint": "0.9.*"
+ },
+ "scripts": {
+ "test": [
+ "parallel-lint . --exclude vendor"
+ ]
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..8c4ea18
--- /dev/null
+++ b/package.json
@@ -0,0 +1,11 @@
+{
+ "scripts": {
+ "test": "grunt test"
+ },
+ "devDependencies": {
+ "grunt": "0.4.5",
+ "grunt-cli": "0.1.13",
+ "grunt-contrib-jshint": "0.11.3",
+ "grunt-jsonlint": "1.0.7"
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/262934
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6846cb7df24fbf2dff4116131361eee3c3c01413
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Configure
Gerrit-Branch: master
Gerrit-Owner: Paladox <[email protected]>
Gerrit-Reviewer: Florianschmidtwelzow <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Paladox <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: Waldir <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits