|
@@ -26,19 +26,13 @@ describe( 'Document', () => {
|
|
|
const DEFAULT_OBSERVERS_COUNT = 5;
|
|
const DEFAULT_OBSERVERS_COUNT = 5;
|
|
|
let ObserverMock, ObserverMockGlobalCount, instantiated, enabled, domRoot, viewDocument;
|
|
let ObserverMock, ObserverMockGlobalCount, instantiated, enabled, domRoot, viewDocument;
|
|
|
|
|
|
|
|
- before( () => {
|
|
|
|
|
|
|
+ beforeEach( () => {
|
|
|
domRoot = createElement( document, 'div', {
|
|
domRoot = createElement( document, 'div', {
|
|
|
id: 'editor',
|
|
id: 'editor',
|
|
|
contenteditable: 'true'
|
|
contenteditable: 'true'
|
|
|
} );
|
|
} );
|
|
|
document.body.appendChild( domRoot );
|
|
document.body.appendChild( domRoot );
|
|
|
- } );
|
|
|
|
|
|
|
|
|
|
- after( () => {
|
|
|
|
|
- domRoot.parentElement.removeChild( domRoot );
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
- beforeEach( () => {
|
|
|
|
|
instantiated = 0;
|
|
instantiated = 0;
|
|
|
enabled = 0;
|
|
enabled = 0;
|
|
|
|
|
|
|
@@ -70,6 +64,7 @@ describe( 'Document', () => {
|
|
|
|
|
|
|
|
afterEach( () => {
|
|
afterEach( () => {
|
|
|
viewDocument.destroy();
|
|
viewDocument.destroy();
|
|
|
|
|
+ domRoot.remove();
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
describe( 'constructor()', () => {
|
|
describe( 'constructor()', () => {
|
|
@@ -91,7 +86,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'createRoot', () => {
|
|
|
|
|
|
|
+ describe( 'createRoot()', () => {
|
|
|
it( 'should create root', () => {
|
|
it( 'should create root', () => {
|
|
|
const domP = document.createElement( 'p' );
|
|
const domP = document.createElement( 'p' );
|
|
|
const domDiv = document.createElement( 'div' );
|
|
const domDiv = document.createElement( 'div' );
|
|
@@ -175,7 +170,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'attachDomRoot', () => {
|
|
|
|
|
|
|
+ describe( 'attachDomRoot()', () => {
|
|
|
it( 'should create root without attach DOM element to the view element', () => {
|
|
it( 'should create root without attach DOM element to the view element', () => {
|
|
|
const domDiv = document.createElement( 'div' );
|
|
const domDiv = document.createElement( 'div' );
|
|
|
const viewRoot = viewDocument.createRoot( 'div' );
|
|
const viewRoot = viewDocument.createRoot( 'div' );
|
|
@@ -217,7 +212,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'getRoot', () => {
|
|
|
|
|
|
|
+ describe( 'getRoot()', () => {
|
|
|
it( 'should return "main" root', () => {
|
|
it( 'should return "main" root', () => {
|
|
|
viewDocument.createRoot( document.createElement( 'div' ) );
|
|
viewDocument.createRoot( document.createElement( 'div' ) );
|
|
|
|
|
|
|
@@ -235,7 +230,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'addObserver', () => {
|
|
|
|
|
|
|
+ describe( 'addObserver()', () => {
|
|
|
beforeEach( () => {
|
|
beforeEach( () => {
|
|
|
// The variable will be overwritten.
|
|
// The variable will be overwritten.
|
|
|
viewDocument.destroy();
|
|
viewDocument.destroy();
|
|
@@ -311,7 +306,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'getObserver', () => {
|
|
|
|
|
|
|
+ describe( 'getObserver()', () => {
|
|
|
it( 'should return observer it it is added', () => {
|
|
it( 'should return observer it it is added', () => {
|
|
|
const addedObserverMock = viewDocument.addObserver( ObserverMock );
|
|
const addedObserverMock = viewDocument.addObserver( ObserverMock );
|
|
|
const getObserverMock = viewDocument.getObserver( ObserverMock );
|
|
const getObserverMock = viewDocument.getObserver( ObserverMock );
|
|
@@ -327,7 +322,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'disableObservers', () => {
|
|
|
|
|
|
|
+ describe( 'disableObservers()', () => {
|
|
|
it( 'should disable observers', () => {
|
|
it( 'should disable observers', () => {
|
|
|
const addedObserverMock = viewDocument.addObserver( ObserverMock );
|
|
const addedObserverMock = viewDocument.addObserver( ObserverMock );
|
|
|
|
|
|
|
@@ -341,7 +336,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'enableObservers', () => {
|
|
|
|
|
|
|
+ describe( 'enableObservers()', () => {
|
|
|
it( 'should enable observers', () => {
|
|
it( 'should enable observers', () => {
|
|
|
const addedObserverMock = viewDocument.addObserver( ObserverMock );
|
|
const addedObserverMock = viewDocument.addObserver( ObserverMock );
|
|
|
|
|
|
|
@@ -369,7 +364,7 @@ describe( 'Document', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'focus', () => {
|
|
|
|
|
|
|
+ describe( 'focus()', () => {
|
|
|
let domEditable, viewEditable;
|
|
let domEditable, viewEditable;
|
|
|
|
|
|
|
|
beforeEach( () => {
|
|
beforeEach( () => {
|
|
@@ -421,4 +416,25 @@ describe( 'Document', () => {
|
|
|
expect( logSpy.args[ 0 ][ 0 ] ).to.match( /^view-focus-no-selection/ );
|
|
expect( logSpy.args[ 0 ][ 0 ] ).to.match( /^view-focus-no-selection/ );
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'render()', () => {
|
|
|
|
|
+ it( 'should fire an event', () => {
|
|
|
|
|
+ const spy = sinon.spy();
|
|
|
|
|
+
|
|
|
|
|
+ viewDocument.on( 'render', spy );
|
|
|
|
|
+
|
|
|
|
|
+ viewDocument.render();
|
|
|
|
|
+
|
|
|
|
|
+ expect( spy.calledOnce ).to.be.true;
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ it( 'disable observers, renders and enable observers', () => {
|
|
|
|
|
+ const observerMock = viewDocument.addObserver( ObserverMock );
|
|
|
|
|
+ const renderStub = sinon.stub( viewDocument.renderer, 'render' );
|
|
|
|
|
+
|
|
|
|
|
+ viewDocument.render();
|
|
|
|
|
+
|
|
|
|
|
+ sinon.assert.callOrder( observerMock.disable, renderStub, observerMock.enable );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
} );
|
|
} );
|