Subramanya Sastry has submitted this change and it was merged.
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(-)
Approvals:
Subramanya Sastry: Verified; Looks good to me, approved
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: merged
Gerrit-Change-Id: I59aaf7b74fb75878300eca74b36d7ab367867071
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/html5depurate
Gerrit-Branch: master
Gerrit-Owner: Tim Starling <[email protected]>
Gerrit-Reviewer: Subramanya Sastry <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits