mediawiki-extensions-Visual.../modules/ve/test/ve.Range.test.js
Ed Sanders f9b92e8909 Fix copy and paste of backwards selction
Was previously broken as getSlice was using ve.Range#equals to
compare ranges which is direction-sensitive.

Bug: 51538
Change-Id: Ib58d1d8fd11b62388c111a5da66171d13a9db9c2
2013-08-22 18:10:34 +00:00

51 lines
1.4 KiB
JavaScript

/*!
* VisualEditor Range tests.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
QUnit.module( 've.Range' );
/* Tests */
QUnit.test( 'Basic usage (isCollapsed, isBackwards, getLength, equals, equalsSelection)', 15, 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 );
assert.ok( range.equals( new ve.Range( 100, 200 ) ), 'equals matches identical range' );
assert.ok( !range.equals( new ve.Range( 200, 100 ) ), 'equals doesn\'t match reverse range' );
assert.ok( range.equalsSelection( new ve.Range( 200, 100 ) ), 'equalsSelection matches reverse range' );
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 );
} );
// TODO: newFromTranslatedRange
// TODO: newCoveringRange
// TODO: clone
// TODO: containsOffset
// TODO: flip
// TODO: truncate