mediawiki-extensions-Visual.../modules/ve/test/dm/lineardata/ve.dm.MetaLinearData.test.js
Ed Sanders 59bfc081df Store alien meta items' dom nodes only
We don't need to decompose and rebuild alien meta items
as they are uneditable, so just store the dom node and return that
in toDomElements.

Update test cases and several tests now need to use
assert.deepEqualWithDomElements.

Change-Id: I4d2eed267dac7855cb929a17d7aef566eaf0e287
2013-06-12 16:37:37 +01:00

28 lines
1.1 KiB
JavaScript

/*!
* VisualEditor MetaLinearData tests.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
QUnit.module( 've.dm.MetaLinearData' );
/* Tests */
QUnit.test( 'basic usage', 6, function ( assert ) {
var store = new ve.dm.IndexValueStore(),
data = new ve.dm.MetaLinearData( store, ve.copyArray( ve.dm.example.withMetaMetaData ) );
assert.equal( data.getData(), data.data, 'getData: with no arguments returns data by reference' );
assert.deepEqualWithDomElements( data.getData(), ve.dm.example.withMetaMetaData, 'getData: full array matches source data' );
assert.deepEqualWithDomElements( data.getData( 0 ), data.data[0],
'getData: get with one index returns array of meta elements at specified offset'
);
assert.deepEqualWithDomElements( data.getData( 11, 3 ), data.data[11][3],
'getData: get with two indexes returns data at specified offset'
);
assert.equal( data.getDataLength( 11 ), data.data[11].length, 'getDataLength: equal to array length at offset' );
assert.equal( data.getTotalDataLength(), 9, 'getTotalDataLength: equal to total number of meta items' );
} );