Tim Starling has uploaded a new change for review.

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

Change subject: Mark empty p elements
......................................................................

Mark empty p elements

* Change the class from mw-empty-li/mw-empty-tr to mw-empty-elt
* Add mw-empty-elt class to empty <p> tags, to reduce visual diff noise.
* Add relevant tests

Change-Id: I59aaf7b74fb75878300eca74b36d7ab367867071
Depends-On: I38ddcdb7daf8f0e2bde9e019457fd4192d86e02b
---
M src/main/java/org/wikimedia/html5depurate/CompatibilitySerializer.java
M src/test/java/org/wikimedia/html5depurate/DepuratorTest.java
2 files changed, 12 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/html5depurate 
refs/changes/16/290616/1

diff --git 
a/src/main/java/org/wikimedia/html5depurate/CompatibilitySerializer.java 
b/src/main/java/org/wikimedia/html5depurate/CompatibilitySerializer.java
index e933ddc..541e204 100644
--- a/src/main/java/org/wikimedia/html5depurate/CompatibilitySerializer.java
+++ b/src/main/java/org/wikimedia/html5depurate/CompatibilitySerializer.java
@@ -46,12 +46,16 @@
        protected Stack<StackEntry> m_stack;
        protected DepurateSerializer m_serializer;
 
+       // Warning: this list must be in alphabetical order
        protected static final String[] ONLY_INLINE_ELEMENTS = {"a", "abbr", 
"acronym",
                "applet", "b", "basefont", "bdo", "big", "br", "button", "cite",
                "code", "dfn", "em", "font", "i", "iframe", "img", "input", 
"kbd",
                "label", "legend", "map", "object", "param", "q", "rb", "rbc", 
"rp",
                "rt", "rtc", "ruby", "s", "samp", "select", "small", "span", 
"strike",
                "strong", "sub", "sup", "textarea", "tt", "u", "var"};
+
+       // Warning: this list must be in alphabetical order
+       protected static final String[] MARKED_EMPTY_ELEMENTS = {"li", "p", 
"tr"};
 
        public CompatibilitySerializer(OutputStream out) {
                m_stack = new Stack<StackEntry>();
@@ -179,10 +183,10 @@
 
                // Annotate empty tr and li elements so that they can be hidden 
in CSS,
                // for compatibility with tidy and existing wikitext
-               if ("tr".equals(localName) || "li".equals(localName)) {
+               if (Arrays.binarySearch(MARKED_EMPTY_ELEMENTS, localName) > -1) 
{
                        if (entry.attrs.getLength() == 0 && entry.blank) {
                                AttributesImpl newAttrs = new AttributesImpl();
-                               newAttrs.addAttribute("", "class", "class", "", 
"mw-empty-" + localName);
+                               newAttrs.addAttribute("", "class", "class", "", 
"mw-empty-elt");
                                entry.attrs = newAttrs;
                        }
                }
diff --git a/src/test/java/org/wikimedia/html5depurate/DepuratorTest.java 
b/src/test/java/org/wikimedia/html5depurate/DepuratorTest.java
index ddf12a1..b19d3cf 100644
--- a/src/test/java/org/wikimedia/html5depurate/DepuratorTest.java
+++ b/src/test/java/org/wikimedia/html5depurate/DepuratorTest.java
@@ -56,11 +56,16 @@
                        // 14. A comment does not close a p-wrap
                        {COMPAT, "x<!-- x -->", "<p>x<!-- x --></p>"},
                        // 15. Empty li
-                       {COMPAT, "<ul><li></li></ul>", "<ul><li 
class=\"mw-empty-li\"></li></ul>"},
+                       {COMPAT, "<ul><li></li></ul>", "<ul><li 
class=\"mw-empty-elt\"></li></ul>"},
                        // 16. li with element
                        {COMPAT, "<ul><li><span></span></li></ul>", 
"<ul><li><span></span></li></ul>"},
                        // 17. li with text
                        {COMPAT, "<ul><li>x</li></ul>", "<ul><li>x</li></ul>"},
+                       // 18. Empty tr
+                       {COMPAT, "<table><tbody><tr></tr></tbody></table>",
+                               "<table><tbody><tr 
class=\"mw-empty-elt\"></tr></tbody></table>"},
+                       // 19. Empty p
+                       {COMPAT, "<p>\n</p>", "<p 
class=\"mw-empty-elt\">\n</p>"},
                });
        }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I59aaf7b74fb75878300eca74b36d7ab367867071
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/html5depurate
Gerrit-Branch: master
Gerrit-Owner: Tim Starling <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to