Page MenuHomePhabricator

TreeModifier#applyTreeOperation doesn't delete text nodes emptied by moveText operations
Closed, ResolvedPublic

Description

Steps to reproduce:

data = [ { type: 'paragraph' }, 'a', 'b', 'c', { type: '/paragraph' } ];
doc = ve.dm.example.createExampleDocumentFromData( data );
tx = new ve.dm.Transaction( [
    { type: 'retain', length: 1 },
    { type: 'replace', remove: 'a', insert: [ { type: 'inlineImage' }, { type: '/inlineImage' } ] },
    { type: 'retain', length: 3 }
] );
doc.commit( tx );
doc.documentNode.children[ 0 ].children.map( node => node.getType() + ':' + node.getLength() )

Expected output:

["inlineImage:0", "text:2"]

Actual output:

["text:0", "inlineImage:0", "text:2"]

Event Timeline

Change 536754 had a related patch set uploaded (by Divec; owner: Divec):
[VisualEditor/VisualEditor@master] TreeModifier: delete text nodes emptied by moveText operations

https://gerrit.wikimedia.org/r/536754

Change 536754 merged by jenkins-bot:
[VisualEditor/VisualEditor@master] TreeModifier: delete text nodes emptied by moveText operations

https://gerrit.wikimedia.org/r/536754

Change 537178 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (a9d533280)

https://gerrit.wikimedia.org/r/537178

Change 537178 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (81e2e57a5)

https://gerrit.wikimedia.org/r/537178