jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/382679 )

Change subject: Support dimensions for images and videos
......................................................................


Support dimensions for images and videos

The list of supported image types broke when we started to use actual
mime types. Now we're checking 'filetypes' (the first group of items in
the file type selection) and the 1st part of MIME types.

Bug: T176613
Change-Id: I9dcd5edad5df1d98f7cf9e60e898ca6662211174
---
M modules/dm/ext.advancedSearch.SearchModel.js
M tests/qunit/dm/SearchModel.test.js
2 files changed, 31 insertions(+), 12 deletions(-)

Approvals:
  Pablo Grass (WMDE): Looks good to me, but someone else must approve
  jenkins-bot: Verified
  Jeroen De Dauw: Looks good to me, approved



diff --git a/modules/dm/ext.advancedSearch.SearchModel.js 
b/modules/dm/ext.advancedSearch.SearchModel.js
index e34cbeb..7db542b 100644
--- a/modules/dm/ext.advancedSearch.SearchModel.js
+++ b/modules/dm/ext.advancedSearch.SearchModel.js
@@ -8,9 +8,9 @@
        // Internal constants
        var FILETYPES_WITH_DIMENSIONS = [
                'bitmap',
-               'video',
-               'jpeg',
-               'tiff'
+               'vector',
+               'image',
+               'video'
        ];
 
        /**
@@ -190,7 +190,12 @@
         * @return {boolean}
         */
        
mw.libs.advancedSearch.dm.SearchModel.prototype.filetypeSupportsDimensions = 
function () {
-               return FILETYPES_WITH_DIMENSIONS.indexOf( this.getOption( 
'filetype' ) ) > -1;
+               var fileType = this.getOption( 'filetype' );
+               if ( !fileType ) {
+                       return false;
+               }
+               var generalFileType = this.getOption( 'filetype' ).replace( 
/\/.*/, '' );
+               return FILETYPES_WITH_DIMENSIONS.indexOf( generalFileType ) !== 
-1;
        };
 
        /**
diff --git a/tests/qunit/dm/SearchModel.test.js 
b/tests/qunit/dm/SearchModel.test.js
index 54bf3fb..7516aa4 100644
--- a/tests/qunit/dm/SearchModel.test.js
+++ b/tests/qunit/dm/SearchModel.test.js
@@ -145,24 +145,38 @@
                assert.deepEqual( model.getOption( 'fileh' ), [ '>', '' ] );
        } );
 
-       QUnit.test( 'File types support dimensions configured', function ( 
assert ) {
-               assert.expect( 5 );
+       QUnit.test( 'Image and Video file types support dimensions', function ( 
assert ) {
+               assert.expect( 10 );
 
                var model = new SearchModel();
 
-               model.storeOption( 'filetype', 'bitmap' );
-               assert.ok( model.filetypeSupportsDimensions() );
+               assert.notOk( model.filetypeSupportsDimensions(), 'Images are 
not supported when filetype is not set' );
+
+               model.storeOption( 'filetype', 'image' );
+               assert.ok( model.filetypeSupportsDimensions(), 'General image 
type must be supported' );
 
                model.storeOption( 'filetype', 'video' );
+               assert.ok( model.filetypeSupportsDimensions(), 'General video 
type must be supported' );
+
+               model.storeOption( 'filetype', 'bitmap' );
+               assert.ok( model.filetypeSupportsDimensions(), 'File type of 
bitmap must be supported' );
+
+               model.storeOption( 'filetype', 'vector' );
+               assert.ok( model.filetypeSupportsDimensions(), 'File type of 
vector (drawing) must be supported' );
+
+               model.storeOption( 'filetype', 'image/jpeg' );
+               assert.ok( model.filetypeSupportsDimensions(), 'Image MIME type 
must be supported' );
+
+               model.storeOption( 'filetype', 'image/svg+xml', 'Complex image 
MIME types must be supported' );
                assert.ok( model.filetypeSupportsDimensions() );
 
-               model.storeOption( 'filetype', 'jpeg' );
+               model.storeOption( 'filetype', 'video/ogg', 'Video MIME types 
must be supported' );
                assert.ok( model.filetypeSupportsDimensions() );
 
-               model.storeOption( 'filetype', 'tiff' );
-               assert.ok( model.filetypeSupportsDimensions() );
+               model.storeOption( 'filetype', 'audio', 'Audio must not support 
dimensions' );
+               assert.notOk( model.filetypeSupportsDimensions() );
 
-               model.storeOption( 'filetype', 'random' );
+               model.storeOption( 'filetype', 'audio/wav', 'Audio MIME types 
must not support dimensions' );
                assert.notOk( model.filetypeSupportsDimensions() );
        } );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/382679
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9dcd5edad5df1d98f7cf9e60e898ca6662211174
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AdvancedSearch
Gerrit-Branch: master
Gerrit-Owner: Gabriel Birke <gabriel.bi...@wikimedia.de>
Gerrit-Reviewer: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Andrew-WMDE <andrew.kos...@wikimedia.de>
Gerrit-Reviewer: Gabriel Birke <gabriel.bi...@wikimedia.de>
Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com>
Gerrit-Reviewer: Kai Nissen (WMDE) <kai.nis...@wikimedia.de>
Gerrit-Reviewer: Pablo Grass (WMDE) <pablo.gr...@wikimedia.de>
Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de>
Gerrit-Reviewer: WMDE-Fisch <christoph.jau...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to