summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UploadWizard/tests/qunit/mw.UploadWizardUpload.test.js
blob: 2bbecc538c2eba40af226fa13c1893fb70a17d0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 * This file is part of the MediaWiki extension UploadWizard.
 *
 * UploadWizard is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * UploadWizard is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with UploadWizard.  If not, see <http://www.gnu.org/licenses/>.
 */

( function ( mw ) {
	QUnit.module( 'mw.UploadWizardUpload', QUnit.newMwEnvironment() );

	function createUpload( filename ) {
		var upload,
			oldconf = mw.UploadWizard.config;

		mw.UploadWizard.config = {};

		upload = new mw.UploadWizardUpload( {
			api: {
				defaults: {
					ajax: {}
				}
			}
		}, {
			name: filename
		} );

		mw.UploadWizard.config = oldconf;

		return upload;
	}

	QUnit.test( 'constructor sanity test', function ( assert ) {
		var upload = createUpload();

		assert.ok( upload );
	} );

	QUnit.test( 'getBasename', function ( assert ) {
		var upload;

		upload = createUpload( 'path/to/filename.png' );
		assert.strictEqual( upload.getBasename(), 'filename.png', 'Path is stripped' );

		upload = createUpload( 'filename.png' );
		assert.strictEqual( upload.getBasename(), 'filename.png', 'Only filename is left alone' );

		upload = createUpload( '///////////' );
		assert.strictEqual( upload.getBasename(), '', 'Nonsensical path is just removed' );
	} );
}( mediaWiki ) );