UNPKG

golden-layout

Version:

A multi-screen javascript Layout manager https://golden-layout.com

56 lines (45 loc) 1.43 kB
describe( 'supports drag creation', function() { var layout, dragSrc; it( 'creates a layout', function() { layout = testTools.createLayout( { content: [ { type: 'stack', content: [ { type: 'component', componentState: { html: '<div id="dragsource"></div>' }, componentName: 'testComponent' } ] } ] } ); expect( layout.isInitialised ).toBe( true ); } ); it( 'creates a drag source', function() { dragSrc = layout.root.contentItems[ 0 ].element.find( '#dragsource' ); expect( dragSrc.length ).toBe( 1 ); layout.createDragSource( dragSrc, { type: 'component', componentState: { html: '<div class="dragged"></div>' }, componentName: 'testComponent' } ); } ); it( 'creates a new components if dragged', function() { expect( $( '.dragged' ).length ).toBe( 0 ); var mouse = $.Event( 'mousedown' ); mouse.pageX = dragSrc.position().left; mouse.pageY = dragSrc.position().top; mouse.button = 0; dragSrc.trigger( mouse ); mouse = $.Event( 'mousemove' ); mouse.pageX = dragSrc.position().left + 50; mouse.pageY = dragSrc.position().top; dragSrc.trigger( mouse ); dragSrc.trigger( 'mouseup' ); expect( $( '.dragged' ).length ).toBe( 1 ); var node = testTools.verifyPath( "row.1", layout, expect ); expect( node.element.find( ".dragged" ).length ).toBe( 1 ); } ); it( 'destroys the layout', function() { layout.destroy(); } ); } );