diff --git a/modules/ve/test/ve.Range.test.js b/modules/ve/test/ve.Range.test.js index f6bea87bbf..c65ce51fee 100644 --- a/modules/ve/test/ve.Range.test.js +++ b/modules/ve/test/ve.Range.test.js @@ -9,22 +9,26 @@ QUnit.module( 've.Range' ); /* Tests */ -QUnit.test( 'Basic usage', 8, function ( assert ) { +QUnit.test( 'Basic usage', 12, function ( assert ) { var range; range = new ve.Range( 100 , 200 ); assert.equal( range.isCollapsed(), false ); + assert.equal( range.isBackwards(), false ); assert.equal( range.getLength(), 100 ); range = new ve.Range( 200 , 100 ); assert.equal( range.isCollapsed(), false ); + assert.equal( range.isBackwards(), true ); assert.equal( range.getLength(), 100 ); range = new ve.Range( 100 , 100 ); assert.equal( range.isCollapsed(), true ); + assert.equal( range.isBackwards(), false ); assert.equal( range.getLength(), 0 ); range = new ve.Range( 200 ); assert.equal( range.isCollapsed(), true ); + assert.equal( range.isBackwards(), false ); assert.equal( range.getLength(), 0 ); } ); diff --git a/modules/ve/ve.Range.js b/modules/ve/ve.Range.js index f23fa0b11b..1ac948f652 100644 --- a/modules/ve/ve.Range.js +++ b/modules/ve/ve.Range.js @@ -146,3 +146,13 @@ ve.Range.prototype.truncate = function ( length ) { ve.Range.prototype.isCollapsed = function () { return this.from === this.to; }; + +/** + * Check if the range is backwards, i.e. from > to + * + * @method + * @returns {boolean} Range is backwards + */ +ve.Range.prototype.isBackwards = function () { + return this.from > this.to; +}; \ No newline at end of file