Esanders has uploaded a new change for review.
https://gerrit.wikimedia.org/r/216885
Change subject: Table cursoring tests
......................................................................
Table cursoring tests
Change-Id: I1c20899eb4e7fb45fa386d3e7d260ff09400c6da
---
M tests/ce/ve.ce.Surface.test.js
1 file changed, 110 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor
refs/changes/85/216885/1
diff --git a/tests/ce/ve.ce.Surface.test.js b/tests/ce/ve.ce.Surface.test.js
index e729492..3ef33cd 100644
--- a/tests/ce/ve.ce.Surface.test.js
+++ b/tests/ce/ve.ce.Surface.test.js
@@ -1131,6 +1131,116 @@
} );
+QUnit.test( 'handleTableArrowKey', function ( assert ) {
+ var i, offsets, selection,
+ fn = function () {},
+ view = ve.test.utils.createSurfaceViewFromDocument(
+ ve.dm.example.createExampleDocument( 'mergedCells' )
+ ),
+ model = view.getModel(),
+ doc = model.getDocument(),
+ tableRange = new ve.Range( 0, 171 ),
+ cases = [
+ {
+ msg: 'Simple move right',
+ key: 'RIGHT',
+ selectionOffsets: [ 0, 0 ],
+ expectedSelectionOffsets: [ 1, 0, 1, 0 ]
+ },
+ {
+ msg: 'Simple move end',
+ key: 'END',
+ selectionOffsets: [ 0, 0 ],
+ expectedSelectionOffsets: [ 5, 0, 5, 0 ]
+ },
+ {
+ msg: 'Simple move down',
+ key: 'DOWN',
+ selectionOffsets: [ 0, 0 ],
+ expectedSelectionOffsets: [ 0, 1, 0, 1 ]
+ },
+ {
+ msg: 'Simple move page down',
+ key: 'PAGEDOWN',
+ selectionOffsets: [ 0, 0 ],
+ expectedSelectionOffsets: [ 0, 6, 0, 6 ]
+ },
+ {
+ msg: 'Simple move left',
+ key: 'LEFT',
+ selectionOffsets: [ 5, 6 ],
+ expectedSelectionOffsets: [ 4, 6, 4, 6 ]
+ },
+ {
+ msg: 'Simple move home',
+ key: 'HOME',
+ selectionOffsets: [ 5, 6 ],
+ expectedSelectionOffsets: [ 0, 6, 0, 6 ]
+ },
+ {
+ msg: 'Simple move page up',
+ key: 'PAGEUP',
+ selectionOffsets: [ 5, 6 ],
+ expectedSelectionOffsets: [ 5, 0, 5, 0 ]
+ },
+ {
+ msg: 'Move left at start',
+ key: 'LEFT',
+ selectionOffsets: [ 0, 0 ],
+ expectedSelectionOffsets: [ 0, 0, 0, 0 ]
+ },
+ {
+ msg: 'Move up at start',
+ key: 'UP',
+ selectionOffsets: [ 0, 0 ],
+ expectedSelectionOffsets: [ 0, 0, 0, 0 ]
+ },
+ {
+ msg: 'Move right at end',
+ key: 'RIGHT',
+ selectionOffsets: [ 5, 6 ],
+ expectedSelectionOffsets: [ 5, 6, 5, 6 ]
+ },
+ {
+ msg: 'Move down at end',
+ key: 'DOWN',
+ selectionOffsets: [ 5, 6 ],
+ expectedSelectionOffsets: [ 5, 6, 5, 6 ]
+ },
+ {
+ msg: 'Move from merged cell to merged cell',
+ key: 'RIGHT',
+ selectionOffsets: [ 1, 1, 2, 1 ],
+ expectedSelectionOffsets: [ 3, 0, 3, 2 ]
+ },
+ {
+ msg: 'Shift-select through merged cells',
+ key: 'PAGEDOWN',
+ shiftKey: true,
+ selectionOffsets: [ 1, 0, 1, 0 ],
+ expectedSelectionOffsets: [ 1, 0, 3, 6 ]
+ }
+ ];
+
+ QUnit.expect( cases.length );
+
+ for ( i = 0; i < cases.length; i++ ) {
+ offsets = cases[i].selectionOffsets;
+ model.setSelection( new ve.dm.TableSelection( doc, tableRange,
offsets[0], offsets[1], offsets[2], offsets[3] ) );
+ view.handleTableArrowKey( {
+ keyCode: OO.ui.Keys[cases[i].key],
+ shiftKey: !!cases[i].shiftKey,
+ preventDefault: fn
+ } );
+ selection = model.getSelection();
+ assert.deepEqual(
+ [ selection.fromCol, selection.fromRow,
selection.toCol, selection.toRow ],
+ cases[i].expectedSelectionOffsets,
+ cases[i].msg
+ );
+ }
+} );
+
QUnit.test( 'onDocumentDragStart/onDocumentDrop', function ( assert ) {
var i,
@@ -1415,7 +1525,6 @@
} );
/* Methods with return values */
-// TODO: ve.ce.Surface#needsPawn
// TODO: ve.ce.Surface#getSurface
// TODO: ve.ce.Surface#getModel
// TODO: ve.ce.Surface#getDocument
@@ -1456,7 +1565,6 @@
// TODO: ve.ce.Surface#handleInsertion
// TODO: ve.ce.Surface#handleLinearLeftOrRightArrowKey
// TODO: ve.ce.Surface#handleLinearUpOrDownArrowKey
-// TODO: ve.ce.Surface#handleTableArrowKey
// TODO: ve.ce.Surface#handleTableDelete
// TODO: ve.ce.Surface#handleTableEditingEscape
// TODO: ve.ce.Surface#handleTableEnter
--
To view, visit https://gerrit.wikimedia.org/r/216885
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1c20899eb4e7fb45fa386d3e7d260ff09400c6da
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits