mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-14 20:42:21 +00:00
[FIXED JENKINS-20928] l:breakable mishandles HTML metacharacters
This commit is contained in:
1 parent
23e9e7c0a6
commit
3f1f122ff4
2 files changed
+22
-5
No files matched your search
@@ -291,9 +291,26 @@ public class FunctionsTest {
|
||||
@Test
|
||||
public void testBreakableString() {
|
||||
|
||||
assertEquals("Hello world!", Functions.breakableString("Hello world!"));
|
||||
assertEquals("H<wbr>,e<wbr>.l<wbr>/l<wbr>:o<wbr>-w<wbr>_o<wbr>=+|d", Functions.breakableString("H,e.l/l:o-w_o=+|d"));
|
||||
assertEquals("ALongStrin<wbr>gThatCanNo<wbr>tBeBrokenB<wbr>yDefault", Functions.breakableString("ALongStringThatCanNotBeBrokenByDefault"));
|
||||
assertBrokenAs("Hello world!", "Hello world!");
|
||||
assertBrokenAs("Hello-world!", "Hello", "-world!");
|
||||
assertBrokenAs("ALongStringThatCanNotBeBrokenByDefault", "ALongStrin", "gThatCanNo", "tBeBrokenB", "yDefault");
|
||||
assertBrokenAs("jenkins_main_trunk", "jenkins", "_main", "_trunk");
|
||||
|
||||
assertBrokenAs("<<<<<", "", "<", "<", "<", "<", "<");
|
||||
assertBrokenAs("&&&&&", "", "&", "&", "&", "&", "&");
|
||||
assertBrokenAs("ϑϑϑ", "", "ϑ", "ϑ", "ϑ");
|
||||
assertBrokenAs("Crazy <ha ha>", "Crazy ", "<ha ha", ">");
|
||||
assertBrokenAs("A;String>Full]Of)Weird}Punctuation", "A;String", ">Full", "]Of", ")Weird", "}Punctuation");
|
||||
assertBrokenAs("<<a<bc<def<ghi<", "", "<", "<a", "<bc", "<def", "<ghi", "<");
|
||||
assertBrokenAs("H,e.l/l:o=w_o+|d", "H", ",e", ".l", "/l", ":o", "=w", "_o", "+|d");
|
||||
assertBrokenAs("a¶‱ﻷa¶‱ﻷa¶‱ﻷa¶‱ﻷa¶‱ﻷa¶‱ﻷa¶‱ﻷa¶‱ﻷ", "a¶‱ﻷa¶‱ﻷa¶", "‱ﻷa¶‱ﻷa¶‱ﻷ", "a¶‱ﻷa¶‱ﻷa¶‱ﻷ");
|
||||
}
|
||||
|
||||
private void assertBrokenAs(String plain, String... chunks) {
|
||||
assertEquals(
|
||||
Util.join(Arrays.asList(chunks), "<wbr>"),
|
||||
Functions.breakableString(plain)
|
||||
);
|
||||
}
|
||||
|
||||
@Bug(20800)
|
||||
|
||||
Reference in new issue
Block a user