Yaron Koren has submitted this change and it was merged.
Change subject: Add npm and composer test support
......................................................................
Add npm and composer test support
Change-Id: I640b1bb2a2e5beb0c85741c672519df1c3218117
---
M .gitignore
A .jshintignore
A .jshintrc
A Gruntfile.js
A composer.json
M libs/SemanticDrilldown.js
A package.json
7 files changed, 97 insertions(+), 18 deletions(-)
Approvals:
Hashar: Looks good to me, but someone else must approve
Yaron Koren: Checked; Looks good to me, approved
jenkins-bot: Verified
diff --git a/.gitignore b/.gitignore
index 98b092a..dbcd3ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
-.svn
*~
*.kate-swp
.*.swp
+/node_modules/
+/vendor/
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/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..36b6671
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,30 @@
+/*jshint node:true */
+module.exports = function ( grunt ) {
+ grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+ grunt.loadNpmTasks( 'grunt-banana-checker' );
+
+ grunt.initConfig( {
+ jshint: {
+ options: {
+ jshintrc: true
+ },
+ all: [
+ '**/*.js',
+ '!node_modules/**'
+ ]
+ },
+ banana: {
+ all: 'i18n/'
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**'
+ ]
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'jshint', 'jsonlint', 'banana' ] );
+ grunt.registerTask( 'default', 'test' );
+};
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..1c63f9e
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,10 @@
+{
+ "require-dev": {
+ "jakub-onderka/php-parallel-lint": "0.9.2"
+ },
+ "scripts": {
+ "test": [
+ "parallel-lint . --exclude vendor"
+ ]
+ }
+}
diff --git a/libs/SemanticDrilldown.js b/libs/SemanticDrilldown.js
index c9a18cd..0a7913a 100644
--- a/libs/SemanticDrilldown.js
+++ b/libs/SemanticDrilldown.js
@@ -5,8 +5,8 @@
*
* @author Sanyam Goyal
*/
-(function(jQuery) {
- jQuery.ui.autocomplete.prototype._renderItem = function( ul, item) {
+( function ( $ ) {
+ $.ui.autocomplete.prototype._renderItem = function( ul, item) {
var re = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" +
this.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") +
")(?![^<>]*>)(?![^&;]+;)", "gi");
var loc = item.label.search(re);
var t;
@@ -15,25 +15,25 @@
} else {
t = item.label;
}
- return jQuery( "<li></li>" )
+ return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( " <a>" + t + "</a>" )
.appendTo( ul );
};
- jQuery.widget("ui.combobox", {
+ $.widget("ui.combobox", {
_create: function() {
var self = this;
var select = this.element.hide();
var inp_id = select[0].options[0].value;
var curval = select[0].name;
- var input = jQuery("<input id = \""+inp_id+"\"
type=\"text\" name=\""+inp_id+"\" value=\""+curval+"\">")
+ var input = $("<input id = \""+inp_id+"\" type=\"text\"
name=\""+inp_id+"\" value=\""+curval+"\">")
.insertAfter(select)
.autocomplete({
source: function(request, response) {
var matcher = new RegExp("\\b"
+ request.term, "i" );
response(select.children("option").map(function() {
- var text =
jQuery(this).text();
+ var text =
$(this).text();
if (this.value &&
(!request.term || matcher.test(text)))
return {
id:
this.value,
@@ -58,7 +58,7 @@
minLength: 0
})
.addClass("ui-widget ui-widget-content
ui-corner-left");
- jQuery("<button type=\"button\"> </button>")
+ $("<button type=\"button\"> </button>")
.attr("tabIndex", -1)
.attr("title", "Show All Items")
.insertAfter(input)
@@ -87,23 +87,23 @@
}
});
-})(jQuery);
+}( jQuery ) );
jQuery.fn.toggleValuesDisplay = function() {
- $valuesDiv = jQuery(this).closest(".drilldown-filter")
+ jQuery.valuesDiv = jQuery(this).closest(".drilldown-filter")
.find(".drilldown-filter-values");
- if ($valuesDiv.css("display") == "none") {
- $valuesDiv.css("display", "block");
- var downArrowImage = mw.config.get( 'sdgDownArrowImage' );
+ if ( jQuery.valuesDiv.css("display") === "none" ) {
+ jQuery.valuesDiv.css("display", "block");
+ var downArrowImage = mediaWiki.config.get( 'sdgDownArrowImage'
);
this.find("img").attr( "src", downArrowImage );
- } else {
- $valuesDiv.css("display", "none");
- var rightArrowImage = mw.config.get( 'sdgRightArrowImage' );
+ } else {
+ jQuery.valuesDiv.css("display", "none");
+ var rightArrowImage = mediaWiki.config.get(
'sdgRightArrowImage' );
this.find("img").attr( "src", rightArrowImage );
- }
+ }
};
jQuery(document).ready(function() {
jQuery(".semanticDrilldownCombobox").combobox();
- jQuery(".drilldown-values-toggle").click( function()
{jQuery(this).toggleValuesDisplay();} );
+ jQuery(".drilldown-values-toggle").click( function()
{jQuery(this).toggleValuesDisplay();} );
});
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..335401b
--- /dev/null
+++ b/package.json
@@ -0,0 +1,13 @@
+{
+ "private": true,
+ "scripts": {
+ "test": "grunt test"
+ },
+ "devDependencies": {
+ "grunt": "0.4.5",
+ "grunt-cli": "0.1.13",
+ "grunt-banana-checker": "0.4.0",
+ "grunt-contrib-jshint": "0.11.3",
+ "grunt-jsonlint": "1.0.7"
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/263062
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I640b1bb2a2e5beb0c85741c672519df1c3218117
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/SemanticDrilldown
Gerrit-Branch: master
Gerrit-Owner: Paladox <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: Paladox <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: Yaron Koren <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits