Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/62981
Change subject: Bug 47103: Prevent undefined photos being added to the page
......................................................................
Bug 47103: Prevent undefined photos being added to the page
Make the api throw an error when filename missing
Change-Id: I975007aedeadb75ada35edec35c58868ef497d87
---
M javascripts/modules/mf-photo.js
M tests/javascripts/modules/test_mf-photo.js
2 files changed, 40 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/81/62981/1
diff --git a/javascripts/modules/mf-photo.js b/javascripts/modules/mf-photo.js
index 361eb47..026c316 100644
--- a/javascripts/modules/mf-photo.js
+++ b/javascripts/modules/mf-photo.js
@@ -207,6 +207,11 @@
mw.msg(
'mobile-frontend-photo-upload-error-filename' ) );
}
}
+ if ( !options.fileName &&
data.upload.filename ) {
+ options.fileName =
data.upload.filename;
+ } else {
+ return result.reject( data );
+ }
// FIXME: API doesn't return this
information on duplicate images...
if ( data.upload.imageinfo ) {
descriptionUrl =
data.upload.imageinfo.descriptionurl;
@@ -559,6 +564,7 @@
}
M.define( 'photo', {
+ PhotoApi: PhotoApi,
generateFileName: generateFileName,
isSupported: isSupported,
PhotoUploader: PhotoUploader,
diff --git a/tests/javascripts/modules/test_mf-photo.js
b/tests/javascripts/modules/test_mf-photo.js
index afbc220..4a787cb 100644
--- a/tests/javascripts/modules/test_mf-photo.js
+++ b/tests/javascripts/modules/test_mf-photo.js
@@ -104,4 +104,38 @@
strictEqual( photo.trimUtf8String( 'こんにちは', 10 ), 'こんに', 'CJK string
truncated' );
} );
+QUnit.module( 'MobileFrontend photo', {
+ setup: function() {
+ var resp =
{"upload":{"result":"Warning","warnings":{"badfilename":"::.JPG"},"filekey":"1s.1.jpg","sessionkey":"z1.jpg"}},
+ EventEmitter = M.require( 'eventemitter' );
+
+ this.api = new photo.PhotoApi();
+ sinon.stub( this.api, 'getToken', function() {
+ return $.Deferred().resolve( 'foo' );
+ } );
+ sinon.stub( this.api, 'post', function() {
+ var req = $.Deferred().resolve( resp );
+ $.extend( req, EventEmitter.prototype );
+ return req;
+ } );
+ },
+ tearDown: function () {
+ this.api = false;
+ }
+} );
+
+QUnit.test( 'upload with missing filename', 1, function() {
+ var badResponse;
+ this.api.save( {
+ insertInPage: true,
+ file: {
+ name: '::'
+ },
+ description: 'yo:: yo ::'
+ } ).fail( function() {
+ badResponse = true;
+ } );
+ strictEqual( badResponse, true, 'The request caused a bad file name
error' );
+} );
+
}( jQuery, mw.mobileFrontend) );
--
To view, visit https://gerrit.wikimedia.org/r/62981
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I975007aedeadb75ada35edec35c58868ef497d87
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits