[MediaWiki-commits] [Gerrit] mediawiki...parsoid[master]: linter: Don't log obsolete HTML tags for auto inserted elements

2016-10-15 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

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 'foo\n\n\nbar' is transformed into
'foo\n\nbar' 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(-)

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



diff --git a/lib/wt2html/pp/handlers/linter.js 
b/lib/wt2html/pp/handlers/linter.js
index 1ea45ed..234e90d 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 && dp.autoInsertedEnd) && 
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('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", 
"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: merged
Gerrit-Change-Id: Ic9c04c7ec549a3dd1cffe3a4eef6fe7385b0bf0a
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Legoktm 
Gerrit-Reviewer: Arlolra 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki...parsoid[master]: linter: Don't log obsolete HTML tags for auto inserted elements

2016-10-14 Thread Legoktm (Code Review)
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 'foo\n\n\nbar' is transformed into
'foo\n\nbar' 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('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", 
"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 

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