jenkins-bot has submitted this change and it was merged.

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, 20 insertions(+), 6 deletions(-)

Approvals:
  Subramanya Sastry: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/parse.js b/tests/parse.js
index f38da82..b498695 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
@@ -153,11 +169,11 @@
                env.setPageSrcInfo( input );
                parser.processToplevelDoc( env.page.src );
        }).then(function( doc ) {
-               var out, dp;
                if ( argv.lint ) {
                        env.log("end/parse");
                }
                if ( argv.wt2html || argv.html2html ) {
+                       var out;
                        if ( argv.normalize ) {
                                out = DU.normalizeOut( doc.body, 
(argv.normalize === 'parsoid') );
                        } else if ( argv.document ) {
@@ -168,9 +184,7 @@
                        }
                        return { trailingNL: true, out: out };
                } else {
-                       out = DU.serializeNode( doc.body, true );
-                       dp = argv.dp ? DU.getDataParsoid( doc ) : null;
-                       return startsAtHTML( argv, env, out, dp );
+                       return startsAtHTML( argv, env, DU.serializeNode( doc ) 
);
                }
        });
 };

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I81db023b6829406bcb57b12d3d50c6dc75c71ec3
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
Gerrit-Reviewer: Cscott <[email protected]>
Gerrit-Reviewer: Marcoil <[email protected]>
Gerrit-Reviewer: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to