Subramanya Sastry has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/395689 )

Change subject: WIP: T182170: Linter: Detect multiple-unclosed-formatting-tag 
linter errors
......................................................................

WIP: T182170: Linter: Detect multiple-unclosed-formatting-tag linter errors

* Quick POC.
* Need tests + discussing if this is the best approach.
* Works on itwiki:Hubert_H._Humphrey_Metrodome

---
[info/lint/multiple-unclosed-formatting-tag][itwiki/Hubert_H._Humphrey_Metrodome?oldid=93017491]
{"type":"multiple-unclosed-formatting-tag","params":{"name":"small"},"dsr":[4999,5046,7,0]}
---

Change-Id: I334738c77b3677b59c91792b9dc2e7ec8fa829e5
---
M lib/logger/LintLogger.js
1 file changed, 29 insertions(+), 0 deletions(-)


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

diff --git a/lib/logger/LintLogger.js b/lib/logger/LintLogger.js
index 89f1c6e..0114d0a 100644
--- a/lib/logger/LintLogger.js
+++ b/lib/logger/LintLogger.js
@@ -36,6 +36,35 @@
                        console.assert(false, 'Why are we here? Linting is 
disabled.');
                }
 
+               var firstUnclosedTag = {
+                       small: null,
+                       big: null,
+               };
+               var multiUnclosedTagName = null;
+               enabledBuffer.filter(function(item) {
+                       if (item.type === 'missing-end-tag') {
+                               if (item.params.name === 'small' || 
item.params.name === 'big') {
+                                       var tagName = item.params.name;
+                                       if (!firstUnclosedTag[tagName]) {
+                                               firstUnclosedTag[tagName] = 
item;
+                                       } else {
+                                               multiUnclosedTagName = tagName;
+                                               return true;
+                                       }
+                               }
+                       }
+                       return false;
+               });
+               if (multiUnclosedTagName) {
+                       var item = firstUnclosedTag[multiUnclosedTagName];
+                       enabledBuffer.push({
+                               type: 'multiple-unclosed-formatting-tag',
+                               params: item.params,
+                               dsr: item.dsr,
+                               templateInfo: item.templateInfo,
+                       });
+               }
+
                this.buffer = [];
 
                if (env.page.id % env.conf.parsoid.linter.apiSampling !== 0) {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I334738c77b3677b59c91792b9dc2e7ec8fa829e5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <ssas...@wikimedia.org>

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

Reply via email to