Esanders has uploaded a new change for review. https://gerrit.wikimedia.org/r/98529
Change subject: ve.ce.Surface.handleEnter tests ...................................................................... ve.ce.Surface.handleEnter tests Change-Id: Ic30cd4e116029be85822f73dcb84938e641bc4b9 --- M modules/ve/test/ce/ve.ce.Surface.test.js 1 file changed, 124 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/29/98529/1 diff --git a/modules/ve/test/ce/ve.ce.Surface.test.js b/modules/ve/test/ce/ve.ce.Surface.test.js index 4eeb46d..6e404b3 100644 --- a/modules/ve/test/ce/ve.ce.Surface.test.js +++ b/modules/ve/test/ce/ve.ce.Surface.test.js @@ -16,7 +16,9 @@ 'backspace': [ 'handleDelete', {}, true ], 'delete': [ 'handleDelete', {}, false ], 'modifiedBackspace': [ 'handleDelete', { 'ctrlKey': true }, true ], - 'modifiedDelete': [ 'handleDelete', { 'ctrlKey': true }, false ] + 'modifiedDelete': [ 'handleDelete', { 'ctrlKey': true }, false ], + 'enter': [ 'handleEnter', {}, true ], + 'modifiedEnter': [ 'handleEnter', { 'shiftKey': true }, false ] }, surface = ve.test.utils.createSurfaceFromHtml( html || ve.dm.example.html ), view = surface.getView(), @@ -132,6 +134,127 @@ }, 'expectedRange': new ve.Range( 39 ), 'msg': 'Focusable node deleted if selected first' + } + ]; + + QUnit.expect( cases.length * 2 ); + + for ( i = 0; i < cases.length; i++ ) { + ve.test.utils.runSurfaceHandleSpecialKeyTest( + assert, cases[i].html, cases[i].range, cases[i].operations, + cases[i].expectedData, cases[i].expectedRange, cases[i].msg + ); + } +} ); + +QUnit.test( 'handleEnter', function ( assert ) { + var i, + cases = [ + { + 'range': new ve.Range( 57 ), + 'operations': ['enter'], + 'expectedData': function ( data ) { + data.splice( + 57, 0, + { 'type': '/paragraph' }, + { 'type': 'paragraph' } + ); + }, + 'expectedRange': new ve.Range( 59 ), + 'msg': 'End of paragraph split by enter' + }, + { + 'range': new ve.Range( 57 ), + 'operations': ['modifiedEnter'], + 'expectedData': function ( data ) { + data.splice( + 57, 0, + { 'type': '/paragraph' }, + { 'type': 'paragraph' } + ); + }, + 'expectedRange': new ve.Range( 59 ), + 'msg': 'End of paragraph split by modified enter' + }, + { + 'range': new ve.Range( 56 ), + 'operations': ['enter'], + 'expectedData': function ( data ) { + data.splice( + 56, 0, + { 'type': '/paragraph' }, + { 'type': 'paragraph' } + ); + }, + 'expectedRange': new ve.Range( 58 ), + 'msg': 'Start of paragraph split by enter' + }, + { + 'range': new ve.Range( 3 ), + 'operations': ['enter'], + 'expectedData': function ( data ) { + data.splice( + 3, 0, + { 'type': '/heading' }, + { 'type': 'heading', 'attributes': { 'level': 1 } } + ); + }, + 'expectedRange': new ve.Range( 5 ), + 'msg': 'Heading split by enter' + }, + { + 'range': new ve.Range( 1 ), + 'operations': ['enter'], + 'expectedData': function ( data ) { + data.splice( + 0, 0, + { 'type': 'paragraph' }, + { 'type': '/paragraph' } + ); + }, + 'expectedRange': new ve.Range( 3 ), + 'msg': 'Start of heading split into a plain paragraph' + }, + { + 'range': new ve.Range( 4 ), + 'operations': ['enter'], + 'expectedData': function ( data ) { + data.splice( + 5, 0, + { 'type': 'paragraph' }, + { 'type': '/paragraph' } + ); + }, + 'expectedRange': new ve.Range( 6 ), + 'msg': 'End of heading split into a plain paragraph' + }, + { + 'range': new ve.Range( 16 ), + 'operations': ['enter'], + 'expectedData': function ( data ) { + data.splice( + 16, 0, + { 'type': '/paragraph' }, + { 'type': '/listItem' }, + { 'type': 'listItem' }, + { 'type': 'paragraph' } + ); + }, + 'expectedRange': new ve.Range( 20 ), + 'msg': 'List item split by enter' + }, + { + 'range': new ve.Range( 16 ), + 'operations': ['modifiedEnter'], + 'expectedData': function ( data ) { + data.splice( + 16, 0, + { 'type': '/paragraph' }, + { 'type': 'paragraph' } + ); + }, + 'expectedRange': new ve.Range( 18 ), + 'msg': 'List item not split by modified enter' } ]; @@ -604,7 +727,6 @@ // TODO: ve.ce.Surface#handleLeftOrRightArrowKey // TODO: ve.ce.Surface#handleUpOrDownArrowKey // TODO: ve.ce.Surface#handleInsertion -// TODO: ve.ce.Surface#handleEnter // TODO: ve.ce.Surface#showSelection // TODO: ve.ce.Surface#replacePhantoms // TODO: ve.ce.Surface#replaceHighlight -- To view, visit https://gerrit.wikimedia.org/r/98529 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic30cd4e116029be85822f73dcb84938e641bc4b9 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: Esanders <esand...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits