1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
/*!
* VisualEditor DataModel Null Selection tests.
*
* @copyright See AUTHORS.txt
*/
QUnit.module( 've.dm.NullSelection' );
/* Tests */
QUnit.test( 'Construction and getters (getDocument, getRanges)', ( assert ) => {
const selection = new ve.dm.NullSelection();
assert.deepEqual( selection.getRanges(), [], 'getRanges' );
assert.strictEqual( selection.getName(), 'null', 'getName' );
} );
QUnit.test( 'Basic methods (collapse*, isCollased, equals, isNull)', ( assert ) => {
const selection = new ve.dm.NullSelection();
assert.deepEqual( selection.collapseToStart(), selection, 'collapseToStart' );
assert.deepEqual( selection.collapseToEnd(), selection, 'collapseToEnd' );
assert.deepEqual( selection.collapseToFrom(), selection, 'collapseToFrom' );
assert.deepEqual( selection.collapseToTo(), selection, 'collapseToTo' );
assert.strictEqual( selection.isCollapsed(), true, 'isCollapsed' );
assert.strictEqual( selection.equals( selection ), true, 'equals' );
assert.strictEqual( selection.isNull(), true, 'null' );
} );
QUnit.test( 'Factory methods & serialization (newFromJSON, toJSON, getDescription)', ( assert ) => {
const selection = new ve.dm.NullSelection();
assert.deepEqual( selection.toJSON(), { type: 'null' }, 'toJSON' );
assert.deepEqual(
ve.dm.Selection.static.newFromJSON( JSON.stringify( { type: 'null' } ) ),
selection,
'newFromJSON'
);
assert.strictEqual( selection.getDescription(), 'Null', 'getDescription' );
} );
// TODO: translateByTransaction
|