Subramanya Sastry has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/384198 )
Change subject: Linter: Provide accurate DSR offsets for issues in extension
content
......................................................................
Linter: Provide accurate DSR offsets for issues in extension content
* DSR info was being blindly updated to entire extension range
instead of looking inside the extension content.
* Updated mocha test that now has updated DSR offsets.
Bug: T178217
Change-Id: I7d99c1771fb4d55866d296ecd283202bfc62a8ed
---
M lib/wt2html/pp/handlers/linter.js
M tests/mocha/linter.js
2 files changed, 17 insertions(+), 22 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/98/384198/1
diff --git a/lib/wt2html/pp/handlers/linter.js
b/lib/wt2html/pp/handlers/linter.js
index fbd4d24..6f12352 100644
--- a/lib/wt2html/pp/handlers/linter.js
+++ b/lib/wt2html/pp/handlers/linter.js
@@ -229,8 +229,11 @@
var templateInfo;
if (tplInfo) {
- dsr = tplInfo.dsr;
templateInfo = findEnclosingTemplateName(env, tplInfo);
+ }
+
+ if (templateInfo) {
+ dsr = tplInfo.dsr;
} else if (dp.tmp.origDSR) {
// During DSR computation, stripped meta tags
// surrender their width to its previous sibling.
@@ -420,15 +423,11 @@
// Let us carry on with regularly scheduled programming.
}
- var dsr;
- var templateInfo;
- if (tplInfo) {
- dsr = tplInfo.dsr;
- templateInfo = findEnclosingTemplateName(env, tplInfo);
- } else {
- dsr = DU.getDataParsoid(maybeTable).dsr;
- }
- var lintObj = { dsr: dsr, templateInfo: templateInfo };
+ var templateInfo = tplInfo ? findEnclosingTemplateName(env, tplInfo) :
null;
+ var lintObj = {
+ dsr: templateInfo ? tplInfo.dsr :
DU.getDataParsoid(maybeTable).dsr,
+ templateInfo: templateInfo
+ };
env.log('lint/fostered', lintObj);
return maybeTable;
@@ -456,7 +455,7 @@
templateInfo = findEnclosingTemplateName(env, tplInfo);
}
var lintObj = {
- dsr: tplInfo ? tplInfo.dsr : dp.dsr,
+ dsr: templateInfo ? tplInfo.dsr : dp.dsr,
templateInfo: templateInfo,
params: { name: c.nodeName.toLowerCase() },
};
@@ -482,7 +481,7 @@
templateInfo = findEnclosingTemplateName(env,
tplInfo);
}
env.log('lint/bogus-image-options', {
- dsr: tplInfo ? tplInfo.dsr : dp.dsr,
+ dsr: templateInfo ? tplInfo.dsr : dp.dsr,
templateInfo: templateInfo,
params: { items: items },
});
@@ -516,6 +515,9 @@
var dsr;
if (tplInfo) {
templateInfo = findEnclosingTemplateName(env,
tplInfo);
+ }
+
+ if (templateInfo) {
dsr = tplInfo.dsr;
} else {
// Identify the dsr-span of the opening tag
@@ -569,12 +571,9 @@
var dsr, templateInfo;
if (tplInfo) {
templateInfo =
findEnclosingTemplateName(env, tplInfo);
- dsr = tplInfo.dsr;
- } else {
- dsr = dp.dsr;
}
var lintObj = {
- dsr: dsr,
+ dsr: templateInfo ? tplInfo.dsr :
dp.dsr,
templateInfo: templateInfo,
params: { root:
node.parentNode.nodeName, child: node.nodeName },
};
@@ -701,17 +700,13 @@
var dsr, templateInfo;
if (tplInfo) {
templateInfo = findEnclosingTemplateName(env, tplInfo);
- dsr = tplInfo.dsr;
}
var n = nowrapNodes.length - 1;
nowrapNodes.forEach(function(o, i) {
if (o.tidybug && i < n) {
- if (!tplInfo) {
- dsr = DU.getDataParsoid(o.node).dsr;
- }
if (!nowrapNodes[i + 1].hasLeadingWS) {
var lintObj = {
- dsr: dsr,
+ dsr: templateInfo ? tplInfo.dsr :
DU.getDataParsoid(o.node).dsr,
templateInfo: templateInfo,
params: {
node: o.node.nodeName,
diff --git a/tests/mocha/linter.js b/tests/mocha/linter.js
index 29d360f..33d68df 100644
--- a/tests/mocha/linter.js
+++ b/tests/mocha/linter.js
@@ -180,7 +180,7 @@
result.should.have.length(1);
result[0].should.have.a.property('type',
'obsolete-tag');
result[0].should.not.have.a.property('templateInfo');
- result[0].dsr.should.deep.equal([ 0, 47, 2, 2
]);
+ result[0].dsr.should.deep.equal([ 24, 36, 4, 5
]);
});
});
});
--
To view, visit https://gerrit.wikimedia.org/r/384198
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7d99c1771fb4d55866d296ecd283202bfc62a8ed
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits