Gabriel Birke has uploaded a new change for review. (
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(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AdvancedSearch
refs/changes/79/382679/1
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: newchange
Gerrit-Change-Id: I9dcd5edad5df1d98f7cf9e60e898ca6662211174
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AdvancedSearch
Gerrit-Branch: master
Gerrit-Owner: Gabriel Birke <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits