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

Reply via email to