summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UploadWizard/tests/qunit/mw.FlickrChecker.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/UploadWizard/tests/qunit/mw.FlickrChecker.test.js')
-rw-r--r--www/wiki/extensions/UploadWizard/tests/qunit/mw.FlickrChecker.test.js93
1 files changed, 93 insertions, 0 deletions
diff --git a/www/wiki/extensions/UploadWizard/tests/qunit/mw.FlickrChecker.test.js b/www/wiki/extensions/UploadWizard/tests/qunit/mw.FlickrChecker.test.js
new file mode 100644
index 00000000..098525a5
--- /dev/null
+++ b/www/wiki/extensions/UploadWizard/tests/qunit/mw.FlickrChecker.test.js
@@ -0,0 +1,93 @@
+( function ( mw ) {
+ 'use strict';
+
+ QUnit.module( 'ext.uploadWizard/mw.FlickrChecker.test.js', QUnit.newMwEnvironment( {
+ setup: function () {
+ mw.FlickrChecker.fileNames = {};
+ }
+ } ) );
+
+ function getInstance() {
+ var wizard = new mw.UploadWizard( {} ),
+ // FlickrChecker doesn't actually do much with the upload so we can omit some of its dependencies
+ upload = new mw.UploadWizardUpload( wizard );
+ return new mw.FlickrChecker( wizard, upload );
+ }
+
+ QUnit.test( 'getFilenameFromItem() simple case', function ( assert ) {
+ var flickrChecker = getInstance();
+ assert.equal(
+ flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' ),
+ 'foo.jpg'
+ );
+ } );
+
+ QUnit.test( 'getFilenameFromItem() with empty title', function ( assert ) {
+ var flickrChecker = getInstance();
+ assert.equal(
+ flickrChecker.getFilenameFromItem( '', 123, 'johndoe' ),
+ 'johndoe - 123.jpg'
+ );
+ } );
+
+ QUnit.test( 'getFilenameFromItem() name conflict within instance', function ( assert ) {
+ var flickrChecker = getInstance(),
+ fileName = flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' );
+ assert.equal(
+ flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' ),
+ 'foo.jpg'
+ );
+ flickrChecker.reserveFileName( fileName );
+ assert.equal(
+ flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' ),
+ 'foo - 123.jpg'
+ );
+ } );
+
+ QUnit.test( 'getFilenameFromItem() name conflict between different instances', function ( assert ) {
+ var flickrChecker = getInstance(),
+ fileName = flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' );
+ assert.equal(
+ flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' ),
+ 'foo.jpg'
+ );
+ flickrChecker.reserveFileName( fileName );
+ flickrChecker = getInstance();
+ assert.equal(
+ flickrChecker.getFilenameFromItem( 'foo', 123, 'johndoe' ),
+ 'foo - 123.jpg'
+ );
+ } );
+
+ QUnit.test( 'setUploadDescription', function ( assert ) {
+ var flickrChecker = getInstance(),
+ upload = {},
+ sidstub = this.sandbox.stub( flickrChecker, 'setImageDescription' );
+
+ flickrChecker.setUploadDescription( upload );
+ assert.ok( sidstub.called );
+ assert.ok( !upload.description );
+
+ sidstub.reset();
+ upload = {};
+ flickrChecker.setUploadDescription( upload, 'Testing' );
+ assert.strictEqual( upload.description, 'Testing' );
+ assert.ok( !sidstub.called );
+
+ sidstub.reset();
+ upload = {};
+ flickrChecker.setUploadDescription( upload, 'Testing | 1234' );
+ assert.strictEqual( upload.description, 'Testing | 1234' );
+ assert.ok( !sidstub.called );
+
+ upload = {};
+ flickrChecker.setUploadDescription( upload, 'Testing | 1234 | 5678' );
+ assert.strictEqual( upload.description, 'Testing | 1234 | 5678' );
+
+ sidstub.reset();
+ upload = {};
+ flickrChecker.setUploadDescription( upload, '' );
+ assert.ok( !sidstub.called );
+ assert.strictEqual( upload.description, '' );
+ } );
+}( mediaWiki ) );