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