Skip to content

Commit 7cf3133

Browse files
committed
Add elements figcaption,figure,mark,rp,rt,ruby
1 parent 8584c21 commit 7cf3133

File tree

2 files changed

+62
-50
lines changed

2 files changed

+62
-50
lines changed

src/freenet/client/filter/HTMLFilter.java

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -953,51 +953,57 @@ private static Map<String, TagVerifier> getAllowedTagVerifiers()
953953
emptyStringArray));
954954
String[] group2 =
955955
{
956-
"span",
957-
"address",
958-
"em",
959-
"strong",
960-
"dfn",
961-
"code",
962-
"samp",
963-
"kbd",
964-
"var",
965-
"cite",
966956
"abbr",
967957
"acronym",
968-
"sub",
969-
"sup",
970-
"dt",
971-
"dd",
972-
"tt",
973-
"i",
958+
"address",
959+
"article",
960+
"aside",
974961
"b",
975-
"big",
976-
"small",
977-
"strike",
978-
"s",
979-
"u",
980-
"noframes",
981-
"fieldset",
982-
// Delete <noscript> / </noscript>. So we can at least see the non-scripting code.
983-
// "noscript",
984-
"xmp",
985-
"listing",
986-
"plaintext",
987-
"center",
988962
"bdi",
989963
"bdo",
990-
"aside",
964+
"big",
965+
"center",
966+
"cite",
967+
"code",
968+
"dd",
969+
"details",
970+
"dfn",
971+
"dt",
972+
"em",
973+
"fieldset",
974+
"figcaption",
975+
"figure",
976+
"footer",
991977
"header",
978+
"hgroup",
979+
"i",
980+
"kbd",
981+
"listing",
982+
"main",
983+
"mark",
992984
"nav",
993-
"footer",
994-
"article",
985+
"noframes",
986+
// Delete <noscript> / </noscript>. So we can at least see the non-scripting code.
987+
//"noscript",
988+
"plaintext",
989+
"rp",
990+
"rt",
991+
"ruby",
992+
"s",
993+
"samp",
995994
"section",
996-
"hgroup",
997-
"wbr",
995+
"small",
996+
"span",
997+
"strike",
998+
"strong",
999+
"sub",
9981000
"summary",
999-
"details",
1000-
"main"};
1001+
"sup",
1002+
"tt",
1003+
"u",
1004+
"var",
1005+
"wbr",
1006+
"xmp"};
10011007
for (String x: group2)
10021008
allowedTagsVerifiers.put(
10031009
x,

test/freenet/client/filter/ContentFilterTest.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ public class ContentFilterTest {
115115

116116
private static final String SPAN_WITH_STYLE = "<span style=\"font-family: verdana, sans-serif; color: red;\">";
117117

118-
private static final String HTML5_TAGS = "<article><details><summary>TLDR</summary><center>Too Long Di<wbr />dn’t Read</center></details></article>";
118+
private static final String HTML5_TAGS = "<main><article><details><summary><mark>TLDR</mark></summary><center>Too Long Di<wbr />dn&rsquo;t Read</center></details><section><figure><figcaption>Fig.1</figcaption></figure></article></main>";
119+
private static final String HTML5_BDI_RUBY = "<small dir=\"auto\"><bdi>&#x0627;&#x06CC;&#x0631;&#x0627;&#x0646;</bdi>, <bdo><ruby>&#xBD81;<rt>North</rt>&#xD55C;<rt>Korea</rt></ruby><rp>North Korea</rp></ruby></bdo></small>";
119120

120121
private static final String BASE_HREF = "<base href=\"/"+BASE_KEY+"\">";
121122
private static final String BAD_BASE_HREF = "<base href=\"/\">";
@@ -138,6 +139,10 @@ public class ContentFilterTest {
138139
HTML_VIDEO_TAG + HTML_AUDIO_TAG,
139140
HTML_AUDIO_TAG + HTML_AUDIO_TAG);
140141

142+
private static void testOneHTMLFilter(String html) throws Exception {
143+
assertEquals(html, htmlFilter(html));
144+
}
145+
141146
@Test
142147
public void testHTMLFilter() throws Exception {
143148
if (TestProperty.VERBOSE) {
@@ -146,7 +151,7 @@ public void testHTMLFilter() throws Exception {
146151

147152
// General sanity checks
148153
// is "relativization" working?
149-
assertEquals(INTERNAL_RELATIVE_LINK, htmlFilter(INTERNAL_RELATIVE_LINK));
154+
testOneHTMLFilter(INTERNAL_RELATIVE_LINK);
150155
assertEquals(INTERNAL_RELATIVE_LINK, htmlFilter(INTERNAL_RELATIVE_LINK, true));
151156
assertEquals(INTERNAL_RELATIVE_LINK1, htmlFilter(INTERNAL_RELATIVE_LINK1, true));
152157
assertEquals(INTERNAL_RELATIVE_LINK, htmlFilter(INTERNAL_ABSOLUTE_LINK));
@@ -157,15 +162,15 @@ public void testHTMLFilter() throws Exception {
157162

158163
// regression testing
159164
// bug #710
160-
assertEquals(ANCHOR_TEST, htmlFilter(ANCHOR_TEST));
161-
assertEquals(ANCHOR_TEST_EMPTY, htmlFilter(ANCHOR_TEST_EMPTY));
162-
assertEquals(ANCHOR_TEST_SPECIAL, htmlFilter(ANCHOR_TEST_SPECIAL));
165+
testOneHTMLFilter(ANCHOR_TEST);
166+
testOneHTMLFilter(ANCHOR_TEST_EMPTY);
167+
testOneHTMLFilter(ANCHOR_TEST_SPECIAL);
163168
assertEquals(ANCHOR_TEST_SPECIAL2_RESULT, htmlFilter(ANCHOR_TEST_SPECIAL2));
164169
// bug #2496
165-
assertEquals(ANCHOR_RELATIVE1, htmlFilter(ANCHOR_RELATIVE1));
166-
assertEquals(ANCHOR_RELATIVE2, htmlFilter(ANCHOR_RELATIVE2));
167-
assertEquals(ANCHOR_FALSE_POS1, htmlFilter(ANCHOR_FALSE_POS1));
168-
assertEquals(ANCHOR_FALSE_POS2, htmlFilter(ANCHOR_FALSE_POS2));
170+
testOneHTMLFilter(ANCHOR_RELATIVE1);
171+
testOneHTMLFilter(ANCHOR_RELATIVE2);
172+
testOneHTMLFilter(ANCHOR_FALSE_POS1);
173+
testOneHTMLFilter(ANCHOR_FALSE_POS2);
169174
// EVIL HACK TEST for #2496 + #2451
170175
assertEquals(ANCHOR_MIXED_RESULT, htmlFilter(ANCHOR_MIXED));
171176
// bug #2451
@@ -176,7 +181,7 @@ public void testHTMLFilter() throws Exception {
176181
assertTrue(htmlFilter(PREVENT_EXTERNAL_ACCESS_CSS_SIMPLE).contains("div { }"));
177182
assertTrue(htmlFilter(PREVENT_EXTERNAL_ACCESS_CSS_ESCAPE).contains("div { }"));
178183
assertTrue(htmlFilter(PREVENT_EXTERNAL_ACCESS_CSS_CASE).contains("div { }"));
179-
assertEquals(WHITELIST_STATIC_CONTENT, htmlFilter(WHITELIST_STATIC_CONTENT));
184+
testOneHTMLFilter(WHITELIST_STATIC_CONTENT);
180185
assertEquals(XHTML_VOIDELEMENTC, htmlFilter(XHTML_VOIDELEMENT));
181186
assertEquals(XHTML_INCOMPLETEDOCUMENTC, htmlFilter(XHTML_INCOMPLETEDOCUMENT));
182187
assertEquals(XHTML_IMPROPERNESTINGC, htmlFilter(XHTML_IMPROPERNESTING));
@@ -193,12 +198,13 @@ public void testHTMLFilter() throws Exception {
193198
assertEquals(FRAME_SRC_CHARSET_BADC, htmlFilter(FRAME_SRC_CHARSET_BAD, true));
194199
assertEquals(FRAME_SRC_CHARSET_BAD1C, htmlFilter(FRAME_SRC_CHARSET_BAD1, true));
195200

196-
assertEquals(CSS_SPEC_EXAMPLE1, htmlFilter(CSS_SPEC_EXAMPLE1));
201+
testOneHTMLFilter(CSS_SPEC_EXAMPLE1);
197202

198-
assertEquals(SPAN_WITH_STYLE, htmlFilter(SPAN_WITH_STYLE));
199-
assertEquals(HTML5_TAGS, htmlFilter(HTML5_TAGS));
203+
testOneHTMLFilter(SPAN_WITH_STYLE);
204+
testOneHTMLFilter(HTML5_TAGS);
205+
testOneHTMLFilter(HTML5_BDI_RUBY);
200206

201-
assertEquals(BASE_HREF, htmlFilter(BASE_HREF));
207+
testOneHTMLFilter(BASE_HREF);
202208
assertEquals(DELETED_BASE_HREF, htmlFilter(BAD_BASE_HREF));
203209
assertEquals(DELETED_BASE_HREF, htmlFilter(BAD_BASE_HREF2));
204210
assertEquals(DELETED_BASE_HREF, htmlFilter(BAD_BASE_HREF3));

0 commit comments

Comments
 (0)