| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /**
- * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md.
- */
- /* bender-tags: document */
- 'use strict';
- var modules = bender.amd.require( 'document/attribute' );
- describe( 'attribute', function() {
- beforeEach( function() {
- var Attribute = modules[ 'document/attribute' ];
- Attribute._register = {};
- } );
- it( 'should create attribute', function() {
- var Attribute = modules[ 'document/attribute' ];
- var attr = new Attribute( 'foo', 'bar' );
- expect( attr ).to.have.property( 'key' ).that.equals( 'foo' );
- expect( attr ).to.have.property( 'value' ).that.equals( 'bar' );
- } );
- it( 'should create equal instance even if object has different order', function() {
- var Attribute = modules[ 'document/attribute' ];
- var attr1 = new Attribute( 'foo', { a: 1, b: 2 } );
- var attr2 = new Attribute( 'foo', { b: 2, a: 1 } );
- expect( attr1.isEqual( attr2 ) ).to.be.true;
- } );
- it( 'should return the same object for registered objects', function() {
- var Attribute = modules[ 'document/attribute' ];
- Attribute.register( 'register', true );
- var attr1 = new Attribute( 'register', true );
- var attr2 = new Attribute( 'register', true );
- expect( attr1 ).to.be.equals( attr2 );
- expect( attr1.isEqual( attr2 ) ).to.be.true;
- } );
- it( 'should return different objects for different values', function() {
- var Attribute = modules[ 'document/attribute' ];
- Attribute.register( 'register', true );
- var attr1 = new Attribute( 'register', true );
- var attr2 = new Attribute( 'register', false );
- expect( attr1 ).to.not.be.equals( attr2 );
- expect( attr1.isEqual( attr2 ) ).to.not.be.true;
- } );
- it( 'should return different objects for not registered objects', function() {
- var Attribute = modules[ 'document/attribute' ];
- Attribute.register( 'register', true );
- var attr1 = new Attribute( 'register', false );
- var attr2 = new Attribute( 'register', false );
- expect( attr1 ).to.not.be.equals( attr2 );
- expect( attr1.isEqual( attr2 ) ).to.be.true;
- } );
- it( 'Attribute.register should return registered attribute', function() {
- var Attribute = modules[ 'document/attribute' ];
- var attr1 = new Attribute( 'register', true );
- var attr2 = Attribute.register( 'register', true );
- var attr3 = Attribute.register( 'register', true );
- var attr4 = new Attribute( 'register', true );
- expect( attr1 ).to.not.be.equals( attr2 );
- expect( attr2 ).to.be.equals( attr3 );
- expect( attr3 ).to.be.equals( attr4 );
- } );
- } );
|