range.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /* bender-tags: document */
  6. 'use strict';
  7. var modules = bender.amd.require(
  8. 'document/range',
  9. 'document/position' );
  10. describe( 'range', function() {
  11. it( 'should create a range with given positions', function() {
  12. var Position = modules[ 'document/position' ];
  13. var Range = modules[ 'document/range' ];
  14. var start = new Position( [ 0 ] );
  15. var end = new Position( [ 1 ] );
  16. var range = new Range( start, end );
  17. expect( range ).to.have.property( 'start' ).that.equal( start );
  18. expect( range ).to.have.property( 'end' ).that.equal( end );
  19. } );
  20. it( 'should be equals same range', function() {
  21. var Position = modules[ 'document/position' ];
  22. var Range = modules[ 'document/range' ];
  23. var start = new Position( [ 0 ] );
  24. var end = new Position( [ 1 ] );
  25. var range = new Range( start, end );
  26. var sameStart = new Position( [ 0 ] );
  27. var sameEnd = new Position( [ 1 ] );
  28. var sameRange = new Range( sameStart, sameEnd );
  29. expect( range.isEqual( sameRange ) ).to.be.true;
  30. } );
  31. it( 'should not be equals if the start position is different', function() {
  32. var Position = modules[ 'document/position' ];
  33. var Range = modules[ 'document/range' ];
  34. var start = new Position( [ 0 ] );
  35. var end = new Position( [ 1 ] );
  36. var range = new Range( start, end );
  37. var sameStart = new Position( [ 1 ] );
  38. var sameEnd = new Position( [ 1 ] );
  39. var sameRange = new Range( sameStart, sameEnd );
  40. expect( range.isEqual( sameRange ) ).to.not.be.true;
  41. } );
  42. it( 'should not be equals if the end position is different', function() {
  43. var Position = modules[ 'document/position' ];
  44. var Range = modules[ 'document/range' ];
  45. var start = new Position( [ 0 ] );
  46. var end = new Position( [ 1 ] );
  47. var range = new Range( start, end );
  48. var sameStart = new Position( [ 0 ] );
  49. var sameEnd = new Position( [ 0 ] );
  50. var sameRange = new Range( sameStart, sameEnd );
  51. expect( range.isEqual( sameRange ) ).to.not.be.true;
  52. } );
  53. } );