integration.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /* bender-tags: view, browser-only */
  6. 'use strict';
  7. import Document from '/ckeditor5/engine/view/document.js';
  8. import ViewElement from '/ckeditor5/engine/view/element.js';
  9. import { isBlockFiller, BR_FILLER } from '/ckeditor5/engine/view/filler.js';
  10. import createElement from '/ckeditor5/utils/dom/createelement.js';
  11. describe( 'Document integration', () => {
  12. it( 'should remove content of the DOM', () => {
  13. const domDiv = createElement( document, 'div', { id: 'editor' }, [
  14. createElement( document, 'p' ),
  15. createElement( document, 'p' )
  16. ] );
  17. const viewDocument = new Document();
  18. viewDocument.createRoot( domDiv );
  19. viewDocument.render();
  20. expect( domDiv.childNodes.length ).to.equal( 1 );
  21. expect( isBlockFiller( domDiv.childNodes[ 0 ], BR_FILLER ) ).to.be.true;
  22. } );
  23. it( 'should render changes in the Document', () => {
  24. const domDiv = document.createElement( 'div' );
  25. const viewDocument = new Document();
  26. viewDocument.createRoot( domDiv );
  27. viewDocument.getRoot().appendChildren( new ViewElement( 'p' ) );
  28. viewDocument.render();
  29. expect( domDiv.childNodes.length ).to.equal( 1 );
  30. expect( domDiv.childNodes[ 0 ].tagName ).to.equal( 'P' );
  31. } );
  32. } );