diff options
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.js | 93 |
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 ) ); |