Arlolra has uploaded a new change for review.

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

Change subject: Apply dp to oldhtml as well in parse.js
......................................................................

Apply dp to oldhtml as well in parse.js

 * Also, make a little easier to use the output of --dp by searching for
   dp in the input html head.

Bug: T93316
Change-Id: I81db023b6829406bcb57b12d3d50c6dc75c71ec3
---
M tests/parse.js
1 file changed, 19 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/51/199151/1

diff --git a/tests/parse.js b/tests/parse.js
index f38da82..655bad6 100755
--- a/tests/parse.js
+++ b/tests/parse.js
@@ -120,18 +120,34 @@
 });
 exports.defaultOptions = yargs.options(standardOpts).parse([]);
 
+function dpFromHead( doc ) {
+       var dp, dpScriptElt = doc.getElementById('mw-data-parsoid');
+       if ( dpScriptElt ) {
+               dpScriptElt.parentNode.removeChild(dpScriptElt);
+               dp = JSON.parse(dpScriptElt.text);
+       }
+       return dp;
+}
+
 var startsAtWikitext;
 var startsAtHTML = function( argv, env, input, dp ) {
-       var serializer;
+       var serializer, doc = DU.parseHTML( input );
+       dp = dp || dpFromHead( doc );
+
        if ( argv.selser ) {
+               dp = dp || dpFromHead( env.page.dom.ownerDocument );
+               if ( dp ) {
+                       DU.applyDataParsoid( env.page.dom.ownerDocument, dp );
+               }
                serializer = new SelectiveSerializer({ env: env, oldid: null });
        } else {
                serializer = new WikitextSerializer({ env: env });
        }
-       var doc = DU.parseHTML( input );
+
        if ( dp ) {
                DU.applyDataParsoid( doc, dp );
        }
+
        var out = [];
        return Promise.promisify( serializer.serializeDOM, false, serializer )(
                doc.body, function( chunk ) { out.push(chunk); }, false
@@ -168,8 +184,7 @@
                        }
                        return { trailingNL: true, out: out };
                } else {
-                       out = DU.serializeNode( doc.body, true );
-                       dp = argv.dp ? DU.getDataParsoid( doc ) : null;
+                       out = DU.serializeNode( doc );
                        return startsAtHTML( argv, env, out, dp );
                }
        });

-- 
To view, visit https://gerrit.wikimedia.org/r/199151
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I81db023b6829406bcb57b12d3d50c6dc75c71ec3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to