%PDF- %PDF-
| Direktori : /www/varak.net/wiki.varak.net/tests/qunit/suites/resources/mediawiki/ |
| Current File : /www/varak.net/wiki.varak.net/tests/qunit/suites/resources/mediawiki/mediawiki.template.test.js |
( function () {
QUnit.module( 'mediawiki.template', {
beforeEach: function () {
var abcCompiler = {
compile: function () {
return 'abc default compiler';
}
};
// Register some template compiler languages
mw.template.registerCompiler( 'abc', abcCompiler );
mw.template.registerCompiler( 'xyz', {
compile: function () {
return 'xyz compiler';
}
} );
// Stub register some templates
this.sandbox.stub( mw.templates, 'get' ).returns( {
'test_templates_foo.xyz': 'goodbye',
'test_templates_foo.abc': 'thankyou'
} );
}
} );
QUnit.test( 'add', function ( assert ) {
assert.throws(
function () {
mw.template.add( 'module', 'test_templates_foo', 'hello' );
},
'When no prefix throw exception'
);
} );
QUnit.test( 'compile', function ( assert ) {
assert.throws(
function () {
mw.template.compile( '{{foo}}', 'rainbow' );
},
'Unknown compiler names throw exceptions'
);
} );
QUnit.test( 'get', function ( assert ) {
assert.strictEqual( mw.template.get( 'test.mediawiki.template', 'test_templates_foo.xyz' ), 'xyz compiler' );
assert.strictEqual( mw.template.get( 'test.mediawiki.template', 'test_templates_foo.abc' ), 'abc default compiler' );
assert.throws(
function () {
mw.template.get( 'this.should.not.exist', 'hello' );
},
'When bad module name given throw error.'
);
assert.throws(
function () {
mw.template.get( 'mediawiki.template', 'hello' );
},
'The template hello should not exist in the mediawiki.templates module and should throw an exception.'
);
} );
}() );