@@ -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’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>ایران</bdi>, <bdo><ruby>북<rt>North</rt>한<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