/** * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ /* globals document */ import ResizerState from '../../src/widgetresize/resizerstate'; describe( 'ResizerState', () => { describe( 'constructor', () => { it( 'sets up proper default values', () => { const state = new ResizerState(); expect( state.activeHandlePosition, 'activeHandlePosition' ).to.be.null; expect( state.proposedWidthPercents, 'proposedWidthPercents' ).to.be.null; expect( state.proposedWidth, 'proposedWidth' ).to.be.null; expect( state.proposedHeight, 'proposedHeight' ).to.be.null; expect( state.proposedHandleHostWidth, 'proposedHandleHostWidth' ).to.be.null; expect( state.proposedHandleHostHeight, 'proposedHandleHostHeight' ).to.be.null; } ); it( 'sets up observable properties', () => { const state = new ResizerState(); expect( isObservable( 'activeHandlePosition' ), 'activeHandlePosition' ).to.be.true; expect( isObservable( 'proposedWidthPercents' ), 'proposedWidthPercents' ).to.be.true; expect( isObservable( 'proposedWidth' ), 'proposedWidth' ).to.be.true; expect( isObservable( 'proposedHeight' ), 'proposedHeight' ).to.be.true; expect( isObservable( 'proposedHandleHostWidth' ), 'proposedHandleHostWidth' ).to.be.true; expect( isObservable( 'proposedHandleHostHeight' ), 'proposedHandleHostHeight' ).to.be.true; function isObservable( propertyName ) { const listener = sinon.stub(); state.on( `change:${ propertyName }`, listener ); state[ propertyName ] = true; return listener.calledOnce; } } ); } ); describe( 'begin()', () => { const domContentWrapper = document.createElement( 'div' ); before( () => { const htmlMockup = `