summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UploadWizard/tests/qunit/uw.TitleDetailsWidget.test.js
blob: 0e75b37ada16a05c96c8d28eee19f77e2805610c (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
( function ( mw, uw, $ ) {
	'use strict';

	var fileNs, makeTitleInFileNSCases;
	fileNs = mw.config.get( 'wgFormattedNamespaces' )[ 6 ];
	makeTitleInFileNSCases = [ {
		filename: 'foo.png',
		prefixedText: fileNs + ':Foo.png',
		desc: 'filename without namespace starting with a lower case letter'
	}, {
		filename: 'foo_bar-baz.jpg',
		prefixedText: fileNs + ':Foo bar-baz.jpg',
		desc: 'filename without namespace with space in it'
	}, {
		filename: 'MediaWiki:foo_bar.jpg',
		prefixedText: null,
		desc: 'filename starting with MediaWiki: (colons are disallowed)'
	}, {
		filename: 'File:foo_bar.jpg',
		prefixedText: fileNs + ':Foo bar.jpg',
		desc: 'filename starting with File:'
	}, {
		filename: 'file:foo_bar.jpg',
		prefixedText: fileNs + ':Foo bar.jpg',
		desc: 'filename starting with file:'
	}, {
		filename: 'Foo part 1/2.jpg',
		prefixedText: null,
		desc: 'filename with characters disallowed in file names'
	} ];

	QUnit.module( 'uw.TitleDetailsWidget', QUnit.newMwEnvironment() );

	QUnit.test( '.static.makeTitleInFileNS()', function ( assert ) {
		var makeTitleInFileNS = uw.TitleDetailsWidget.static.makeTitleInFileNS;

		$.each( makeTitleInFileNSCases, function ( i, test ) {
			var title = makeTitleInFileNS( test.filename );
			assert.equal(
				title ? title.getPrefixedText() : title,
				test.prefixedText,
				test.desc
			);
		} );
	} );
}( mediaWiki, mediaWiki.uploadWizard, jQuery ) );