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

Reply via email to