character.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /* jshint expr: true */
  6. /* bender-tags: document */
  7. 'use strict';
  8. var modules = bender.amd.require(
  9. 'document/character',
  10. 'document/node',
  11. 'document/element',
  12. 'document/attribute' );
  13. describe( 'constructor', function() {
  14. it( 'should create character without attributes', function() {
  15. var Element = modules[ 'document/element' ];
  16. var Character = modules[ 'document/character' ];
  17. var Node = modules[ 'document/node' ];
  18. var character = new Character( 'f' );
  19. var parent = new Element( 'parent', [], character );
  20. expect( character ).to.be.an.instanceof( Node );
  21. expect( character ).to.have.property( 'character' ).that.equals( 'f' );
  22. expect( character ).to.have.property( 'parent' ).that.equals( parent );
  23. expect( character._getAttrCount() ).to.equals( 0 );
  24. } );
  25. it( 'should create character with attributes', function() {
  26. var Element = modules[ 'document/element' ];
  27. var Character = modules[ 'document/character' ];
  28. var Node = modules[ 'document/node' ];
  29. var Attribute = modules[ 'document/attribute' ];
  30. var attr = new Attribute( 'foo', 'bar' );
  31. var character = new Character( 'f', [ attr ] );
  32. var parent = new Element( 'parent', [], character );
  33. expect( character ).to.be.an.instanceof( Node );
  34. expect( character ).to.have.property( 'character' ).that.equals( 'f' );
  35. expect( character ).to.have.property( 'parent' ).that.equals( parent );
  36. expect( character._getAttrCount() ).to.be.equals( 1 );
  37. expect( character.getAttr( attr.key ) ).to.equals( attr.value );
  38. } );
  39. } );