Current File : //home/tradevaly/www/node_modules/outlayer/test/unit/origin.js |
QUnit.test( 'origin', function( assert ) {
var elem = document.querySelector('#origin');
var layout = new CellsByRow( elem, {
itemOptions: {
transitionDuration: '0.1s'
}
});
function checkItemPosition( itemIndex, x, y ) {
var itemElem = layout.items[ itemIndex ].element;
var message = 'item ' + itemIndex + ' ';
var xProperty = layout.options.originLeft ? 'left' : 'right';
var yProperty = layout.options.originTop ? 'top' : 'bottom';
assert.equal( itemElem.style[ xProperty ], x + 'px', message + xProperty + ' = ' + x );
assert.equal( itemElem.style[ yProperty ], y + 'px', message + yProperty + ' = ' + y );
}
// top left
checkItemPosition( 0, 0, 0 );
checkItemPosition( 1, 100, 0 );
checkItemPosition( 2, 0, 100 );
// top right
layout.options.originLeft = false;
layout.once( 'layoutComplete', function() {
checkItemPosition( 0, 0, 0 );
checkItemPosition( 1, 100, 0 );
checkItemPosition( 2, 0, 100 );
setTimeout( testBottomRight );
// start();
});
var done = assert.async();
layout.layout();
// bottom right
function testBottomRight() {
layout.options.originTop = false;
layout.once( 'layoutComplete', function() {
checkItemPosition( 0, 0, 0 );
checkItemPosition( 1, 100, 0 );
checkItemPosition( 2, 0, 100 );
setTimeout( testBottomLeft );
});
layout.layout();
}
// bottom right
function testBottomLeft() {
layout.options.originLeft = true;
layout.once( 'layoutComplete', function() {
checkItemPosition( 0, 0, 0 );
checkItemPosition( 1, 100, 0 );
checkItemPosition( 2, 0, 100 );
done();
});
layout.layout();
}
});