utils.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. import treeModelTestUtils from '/tests/engine/treemodel/_utils/utils.js';
  7. import Document from '/ckeditor5/engine/treemodel/document.js';
  8. import Range from '/ckeditor5/engine/treemodel/range.js';
  9. import Element from '/ckeditor5/engine/treemodel/element.js';
  10. const getNodesAndText = treeModelTestUtils.getNodesAndText;
  11. describe( 'getNodesAndText', () => {
  12. let doc, root, div, p;
  13. beforeEach( () => {
  14. doc = new Document();
  15. root = doc.createRoot( 'root' );
  16. div = new Element( 'div', [], 'foobar' );
  17. p = new Element( 'p', [], 'abcxyz' );
  18. root.insertChildren( 0, [ div, p ] );
  19. } );
  20. it( 'reads two elements with text', () => {
  21. expect( getNodesAndText( Range.createFromElement( root ) ) ).to.equal( 'DIVfoobarDIVPabcxyzP' );
  22. } );
  23. } );
  24. describe( 'jsonParseStringify', () => {
  25. class Foo {
  26. constructor( ra ) {
  27. this.ra = ra;
  28. }
  29. }
  30. it( 'should return cleaned object', () => {
  31. let foo = new Foo( { bar: 'bar' } );
  32. let fooJsoned = treeModelTestUtils.jsonParseStringify( foo );
  33. expect( fooJsoned ).to.not.be.instanceOf( Foo );
  34. expect( fooJsoned ).to.deep.equal( { ra: { bar: 'bar' } } );
  35. } );
  36. } );