%PDF- %PDF-
| Direktori : /www/varak.net/wiki.varak.net/extensions/MobileFrontend/tests/qunit/mobile.startup/ |
| Current File : //www/varak.net/wiki.varak.net/extensions/MobileFrontend/tests/qunit/mobile.startup/Overlay.test.js |
( function ( M, $ ) {
var Overlay = M.require( 'mobile.startup/Overlay' );
QUnit.module( 'MobileFrontend: Overlay.js', {
beforeEach: function () {
this.clock = this.sandbox.useFakeTimers();
// Create a dummy mw-mf-viewport if none exists
if ( !$( '#mw-mf-viewport' ).length ) {
this.$viewport = $( '<div>' ).attr( 'id', 'mw-mf-viewport' ).appendTo( 'body' );
}
},
afterEach: function () {
if ( this.$viewport ) {
this.$viewport.remove();
}
}
} );
QUnit.test( 'Simple overlay', function ( assert ) {
var overlay = new Overlay( {
heading: '<h2>Title</h2>',
content: 'Text',
appendToElement: 'div'
} );
overlay.show();
assert.ok( overlay.$el[ 0 ].parentNode, 'In DOM' );
overlay.hide();
} );
QUnit.test( 'HTML overlay', function ( assert ) {
var overlay;
function TestOverlay() {
Overlay.apply( this, arguments );
}
OO.mfExtend( TestOverlay, Overlay, {
templatePartials: $.extend( Overlay.prototype.templatePartials, {
content: mw.template.compile( '<div class="content">YO</div>', 'hogan' )
} )
} );
overlay = new TestOverlay( {
heading: 'Awesome'
} );
assert.strictEqual( overlay.$el.find( 'h2' ).html(), 'Awesome' );
assert.strictEqual( overlay.$el.find( '.content' ).text(), 'YO' );
} );
QUnit.test( 'Close overlay', function ( assert ) {
var overlay = new Overlay( {
heading: '<h2>Title</h2>',
content: 'Text'
} );
overlay.show();
overlay.hide();
this.clock.tick( 1000 );
assert.strictEqual( overlay.$el[ 0 ].parentNode, null, 'No longer in DOM' );
} );
}( mw.mobileFrontend, jQuery ) );