bcd8a5a5be2b25df727b237a7a91c20bcdd9a056
1 module( 'mediawiki.js' );
3 test( '-- Initial check', function(){
5 ok( window
.jQuery
, 'jQuery defined' );
6 ok( window
.$j
, '$j defined' );
7 equal( window
.$j
, window
.jQuery
, '$j alias to jQuery' );
9 ok( window
.mediaWiki
, 'mediaWiki defined' );
10 ok( window
.mw
, 'mw defined' );
11 equal( window
.mw
, window
.mediaWiki
, 'mw alias to mediaWiki' );
15 test( 'mw.Map / mw.config', function(){
17 ok( mw
.config
instanceof mw
.Map
, 'mw.config instance of mw.Map' );
18 ok( mw
.config
.get, 'get' );
19 ok( mw
.config
.set, 'set' );
20 ok( mw
.config
.exists
, 'exists' );
22 ok( !mw
.config
.exists( 'lipsum' ), 'exists: lipsum (inexistant)' );
23 ok( mw
.config
.set( 'lipsum', 'Lorem ipsum' ), 'set: lipsum' );
24 ok( mw
.config
.exists( 'lipsum' ), 'exists: lipsum (existant)' );
26 equal( mw
.config
.get( 'lipsum' ), 'Lorem ipsum', 'get: lipsum' );
27 equal( mw
.config
.get( ['lipsum'] ).lipsum
, 'Lorem ipsum', 'get: lipsum (multiple)' );
31 test( 'mw.message / mw.msg / mw.messages', function(){
32 ok( mw
.message
, 'mw.message defined' );
33 ok( mw
.msg
, 'mw.msg defined' );
34 ok( mw
.messages
, 'messages defined' );
35 ok( mw
.messages
instanceof mw
.Map
, 'mw.messages instance of mw.Map' );
36 ok( mw
.messages
.set( 'hello', 'Hello <b>awesome</b> world' ), 'mw.messages.set: Register' );
38 var hello
= mw
.message( 'hello' );
39 ok( hello
, 'hello: Instance of Message' );
41 equal( hello
.format
, 'parse', 'Message property "format" (default value)' );
42 equal( hello
.key
, 'hello', 'Message property "key" (currect key)' );
43 deepEqual( hello
.parameters
, [], 'Message property "parameters" (default value)' );
46 ok( hello
.params
, 'Message prototype "params"');
47 ok( hello
.toString
, 'Message prototype "toString"');
48 ok( hello
.parse
, 'Message prototype "parse"');
49 ok( hello
.plain
, 'Message prototype "plain"');
50 ok( hello
.escaped
, 'Message prototype "escaped"');
51 ok( hello
.exists
, 'Message prototype "exists"');
53 equal( hello
.toString(), 'Hello <b>awesome</b> world', 'Message.toString() test');
54 equal( hello
.escaped(), 'Hello <b>awesome</b> world', 'Message.escaped() test');
55 deepEqual( hello
.exists(), true, 'Message.exists() test');
57 equal( mw
.msg( 'random' ), '<random>', 'square brackets around inexistant messages' );
58 equal( mw
.msg( 'hello' ), 'Hello <b>awesome</b> world', 'get message with default options' );
60 // params, toString, parse, plain, escaped, exists
63 test( 'mw.loader', function(){
66 ok( location
.href
.match(/[^#\?]*/) && location
.href
.match(/[^#\?]*/)[0], true, 'Extracting file path from location' );
70 mw
.loader
.implement( 'is.awesome', [location
.href
.match(/[^#\?]*/)[0] + 'sample/awesome.js'], {}, {} );
71 mw
.loader
.using( 'is.awesome', function(){
73 deepEqual( window
.awesome
, true, 'Implementing a module, is the callback timed properly ?');
76 delete window
.awesome
;
80 deepEqual( 'mw.loader.using error callback fired', true, 'Implementing a module, is the callback timed properly ?');
85 test( 'mw.html', function(){
87 equal( mw
.html
.escape( '<mw awesome="awesome" value=\'test\' />' ),
88 '<mw awesome="awesome" value='test' />', 'html.escape()' );
90 equal( mw
.html
.element( 'div' ), '<div/>', 'mw.html.element() DIV (simple)' );
92 equal( mw
.html
.element( 'div',
95 'mw.html.element() DIV (attribs)' );
97 equal( mw
.html
.element( 'div',
100 'mw.html.element() DIV (content)' );
102 equal( mw
.html
.element( 'a',
103 { href
: 'http://mediawiki.org/w/index.php?title=RL&action=history' }, 'a' ),
104 '<a href="http://mediawiki.org/w/index.php?title=RL&action=history">a</a>',
105 'mw.html.element() DIV (attribs + content)' );