Catrope has uploaded a new change for review.
https://gerrit.wikimedia.org/r/58277
Change subject: Fix MetaList tests, were totally broken
......................................................................
Fix MetaList tests, were totally broken
They worked fine with just one group, but once Rob added a second group
everything came falling down.
* Index the return value of findItem() into the correct array
(list.items for all, list.groups[groupname] for groups)
* Expect null if there is something at the coordinates but it's in the
wrong group
* Keep track of the next index and expect that for forInsertion when
findItem() returned null, as well as at the end of each offset
Change-Id: I76438f583cea5694ce04fa2f4e7e88f8f8f236d1
---
M modules/ve/test/dm/ve.dm.MetaList.test.js
1 file changed, 16 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/77/58277/1
diff --git a/modules/ve/test/dm/ve.dm.MetaList.test.js
b/modules/ve/test/dm/ve.dm.MetaList.test.js
index 35f4867..85f4f28 100644
--- a/modules/ve/test/dm/ve.dm.MetaList.test.js
+++ b/modules/ve/test/dm/ve.dm.MetaList.test.js
@@ -135,7 +135,7 @@
} );
QUnit.test( 'findItem', function ( assert ) {
- var i, j, g, item, element, group, groupDesc,
+ var i, j, g, item, element, expectedElement, group, groupDesc, items,
next,
groups = [ null ],
doc = ve.dm.example.createExampleDocument( 'withMeta' ),
surface = new ve.dm.Surface( doc ),
@@ -154,15 +154,26 @@
for ( g = 0; g < groups.length; g++ ) {
groupDesc = groups[g] === null ? 'all items' : groups[g];
+ items = groups[g] === null ? list.items :
list.groups[groups[g]];
+ next = 0;
for ( i = 0; i < metadata.getLength(); i++ ) {
for ( j = 0; j < metadata.getDataLength( i ); j++ ) {
item = list.findItem( i, j, groups[g] );
- element = item === null ? null :
list.items[item].getElement();
- assert.strictEqual( element, metadata.getData(
i, j ), groupDesc + ' (' + i + ', ' + j + ')' );
- assert.strictEqual( list.findItem( i, j,
groups[g], true ), item, groupDesc + ' (forInsertion) (' + i + ', ' + j + ')' );
+ next = item !== null ? item + 1 : next;
+ element = item === null ? null :
items[item].getElement();
+ expectedElement = metadata.getData( i, j );
+ if (
+ groups[g] !== null &&
expectedElement &&
+ ve.dm.metaItemFactory.getGroup(
expectedElement.type ) !== groups[g]
+ ) {
+ expectedElement = null;
+ }
+ assert.strictEqual( element, expectedElement,
groupDesc + ' (' + i + ', ' + j + ')' );
+ assert.strictEqual( list.findItem( i, j,
groups[g], true ), item !== null ? item : next,
+ groupDesc + ' (forInsertion) (' + i +
', ' + j + ')' );
}
assert.strictEqual( list.findItem( i, j, groups[g] ),
null, groupDesc + ' (' + i + ', ' + j + ')' );
- assert.strictEqual( list.findItem( i, j, groups[g],
true ), item + 1, groupDesc + ' (forInsertion) (' + i + ', ' + j + ')' );
+ assert.strictEqual( list.findItem( i, j, groups[g],
true ), next, groupDesc + ' (forInsertion) (' + i + ', ' + j + ')' );
}
}
} );
--
To view, visit https://gerrit.wikimedia.org/r/58277
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I76438f583cea5694ce04fa2f4e7e88f8f8f236d1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits