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

Reply via email to