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