27 lines
766 B
JavaScript
27 lines
766 B
JavaScript
QUnit.module( 'mediawiki.messagePoster', ( hooks ) => {
|
|
const TEST_MODEL = 'test-content-model';
|
|
|
|
hooks.afterEach( () => {
|
|
mw.messagePoster.factory.unregister( TEST_MODEL );
|
|
} );
|
|
|
|
QUnit.test( 'register', ( assert ) => {
|
|
function MessagePosterConstructor() {}
|
|
|
|
mw.messagePoster.factory.register( TEST_MODEL, MessagePosterConstructor );
|
|
assert.strictEqual(
|
|
mw.messagePoster.factory.contentModelToClass[ TEST_MODEL ],
|
|
MessagePosterConstructor,
|
|
'Constructor is registered'
|
|
);
|
|
|
|
assert.throws(
|
|
() => {
|
|
mw.messagePoster.factory.register( TEST_MODEL, MessagePosterConstructor );
|
|
},
|
|
new RegExp( 'Content model "' + TEST_MODEL + '" is already registered' ),
|
|
'Throws exception is same model is registered a second time'
|
|
);
|
|
} );
|
|
} );
|