jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/378378 )
Change subject: Setup slugs in TreeModifier
......................................................................
Setup slugs in TreeModifier
Bug: T175852
Bug: T175943
Change-Id: I9cea81cfe71d97a38e3fdf30015d8389eedde756
---
M src/ce/ve.ce.BranchNode.js
M src/dm/ve.dm.BranchNode.js
M src/dm/ve.dm.TreeModifier.js
M tests/dm/ve.dm.TreeModifier.test.js
4 files changed, 29 insertions(+), 0 deletions(-)
Approvals:
DLynch: Looks good to me, approved
Catrope: Looks good to me, approved
jenkins-bot: Verified
diff --git a/src/ce/ve.ce.BranchNode.js b/src/ce/ve.ce.BranchNode.js
index 9b73ac4..b1a3131 100644
--- a/src/ce/ve.ce.BranchNode.js
+++ b/src/ce/ve.ce.BranchNode.js
@@ -243,7 +243,9 @@
}
}
+ // TODO: restructure to clarify the logic (exactly one of these is a
no-op)
this.setupBlockSlugs();
+ this.setupInlineSlugs();
};
/**
diff --git a/src/dm/ve.dm.BranchNode.js b/src/dm/ve.dm.BranchNode.js
index a9550ad..0ea04a0 100644
--- a/src/dm/ve.dm.BranchNode.js
+++ b/src/dm/ve.dm.BranchNode.js
@@ -155,6 +155,8 @@
/**
* Setup a sparse array of booleans indicating where to place slugs
+ *
+ * TODO: The function name is misleading: in ContentBranchNodes it sets up
inline slugs
*/
ve.dm.BranchNode.prototype.setupBlockSlugs = function () {
var i, len,
diff --git a/src/dm/ve.dm.TreeModifier.js b/src/dm/ve.dm.TreeModifier.js
index 2ba9b68..b0e2bce 100644
--- a/src/dm/ve.dm.TreeModifier.js
+++ b/src/dm/ve.dm.TreeModifier.js
@@ -649,6 +649,9 @@
*/
ve.dm.TreeModifier.prototype.create = function ( data ) {
var node = ve.dm.nodeFactory.createFromElement( data[ 0 ] );
+ if ( node instanceof ve.dm.BranchNode ) {
+ node.setupBlockSlugs();
+ }
this.ensureNotTextNode();
this.insertNode( node, data );
};
diff --git a/tests/dm/ve.dm.TreeModifier.test.js
b/tests/dm/ve.dm.TreeModifier.test.js
index 3874b00..a2afc28 100644
--- a/tests/dm/ve.dm.TreeModifier.test.js
+++ b/tests/dm/ve.dm.TreeModifier.test.js
@@ -114,3 +114,25 @@
'Modified tree matches rebuilt tree, reversed'
);
} );
+
+QUnit.test( 'setupBlockSlugs', function ( assert ) {
+ var doc = new ve.dm.Surface(
+ ve.dm.example.createExampleDocumentFromData( [] )
+ ).documentModel;
+
+ assert.expect( 1 );
+
+ doc.commit( new ve.dm.Transaction( [ {
+ type: 'replace',
+ remove: [],
+ insert: [ { type: 'paragraph' }, { type: '/paragraph' } ],
+ insertedDataOffset: 0,
+ insertedDataLength: 2
+ } ] ) );
+
+ assert.deepEqual(
+ doc.getDocumentNode().getChildren()[ 0 ].slugPositions,
+ { 0: true },
+ 'Modified paragraph node contains a slug'
+ );
+} );
--
To view, visit https://gerrit.wikimedia.org/r/378378
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9cea81cfe71d97a38e3fdf30015d8389eedde756
Gerrit-PatchSet: 3
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Divec <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: DLynch <[email protected]>
Gerrit-Reviewer: Divec <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits