Legoktm has uploaded a new change for review.

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

Change subject: linter: Don't log obsolete HTML tags for auto inserted elements
......................................................................

linter: Don't log obsolete HTML tags for auto inserted elements

For example, the wikitext '<big>foo\n\n\nbar' is transformed into
'<big>foo</big>\n\n<big>bar</big>' but it doesn't make sense to log two
obsolete HTML elements - just one is necessary for the warning to go
away.

Change-Id: Ic9c04c7ec549a3dd1cffe3a4eef6fe7385b0bf0a
---
M lib/wt2html/pp/handlers/linter.js
M tests/mocha/lintertest.js
2 files changed, 16 insertions(+), 10 deletions(-)


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

diff --git a/lib/wt2html/pp/handlers/linter.js 
b/lib/wt2html/pp/handlers/linter.js
index 1ea45ed..fec3194 100644
--- a/lib/wt2html/pp/handlers/linter.js
+++ b/lib/wt2html/pp/handlers/linter.js
@@ -206,20 +206,13 @@
 *
 */
 function logObsoleteHTMLTags(env, c, dp, tplInfo) {
-       var dsr = dp.dsr;
-       var inTransclusion = false;
        var re = /^(BIG|CENTER|FONT|STRIKE|TT)$/;
 
-       if (tplInfo) {
-               dsr = tplInfo.dsr;
-               inTransclusion = true;
-       }
-
-       if (re.test(c.nodeName)) {
+       if (!dp.autoInsertedStart && re.test(c.nodeName)) {
                var lintObj = {
                        src: env.page.src,
-                       dsr: dsr,
-                       inTransclusion: inTransclusion,
+                       dsr: tplInfo ? tplInfo.dsr : dp.dsr,
+                       inTransclusion: !!tplInfo,
                        params: { name: c.nodeName.toLowerCase() },
                };
                env.log('lint/obsolete-tag', lintObj);
diff --git a/tests/mocha/lintertest.js b/tests/mocha/lintertest.js
index 0146bfc..6ebd188 100644
--- a/tests/mocha/lintertest.js
+++ b/tests/mocha/lintertest.js
@@ -83,6 +83,19 @@
                                result[0].params.should.have.a.property("name", 
"big");
                        });
                });
+               it('should not lint auto-inserted obsolete tags', function() {
+                       return 
parseWT('<big>foo\n\n\nbar').then(function(result) {
+                               // obsolete-tag and missing-end-tag
+                               result.should.have.length(2);
+                               result[0].should.have.a.property("type", 
"missing-end-tag");
+                               result[1].should.have.a.property("type", 
"obsolete-tag");
+                               result[1].should.have.a.property("wiki", 
"enwiki");
+                               result[1].dsr.should.include.members([ 0, 8, 5, 
0 ]);
+                               result[1].should.have.a.property("src", 
"<big>foo");
+                               result[1].should.have.a.property("params");
+                               result[1].params.should.have.a.property("name", 
"big");
+                       });
+               });
                it('should lint fostered content correctly', function() {
                        return parseWT('{|\nfoo\n|-\n| 
bar\n|}').then(function(result) {
                                result.should.have.length(1);

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic9c04c7ec549a3dd1cffe3a4eef6fe7385b0bf0a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Legoktm <legoktm.wikipe...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to