--- /dev/null
+package net.jaekl.cfb.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class XmlEscapeTest {
+
+ @Test
+ public void test() {
+ String[][] data = {
+ { null, null },
+ { "", "" },
+ { "fred", "fred" },
+ { "org.example.Foo.<init>()", "org.example.Foo.<init>()" },
+ {
+ "ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ",
+ "ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ"
+ },
+ {
+ "L'amour est enfant de Bohême\n"
+ + "Il n'a jamais, jamais connu de loi\n"
+ + "Si tu ne m'aimes pas, je t'aime\n"
+ + "Si je t'aime, prends garde à toi!\n"
+ + "Si tu ne m’aimes pas\n"
+ + "Si tu ne m’aimes pas, je t’aime!\n"
+ + "Mais, si je t’aime\n"
+ + "Si je t’aime, prends garde à toi!",
+
+ "L'amour est enfant de Bohême\n"
+ + "Il n'a jamais, jamais connu de loi\n"
+ + "Si tu ne m'aimes pas, je t'aime\n"
+ + "Si je t'aime, prends garde à toi!\n"
+ + "Si tu ne m’aimes pas\n"
+ + "Si tu ne m’aimes pas, je t’aime!\n"
+ + "Mais, si je t’aime\n"
+ + "Si je t’aime, prends garde à toi!",
+ },
+ {
+ "\"I'm sorry Dave,\" said Hal, \"but I can't do that.\"",
+ ""I'm sorry Dave," said Hal, "but I can't do that.""
+ }
+ };
+
+ for (String[] datum : data) {
+ String input = datum[0];
+ String expected = datum[1];
+ String actual = XmlEscape.toEscaped(input);
+ assertEquals(expected, actual);
+ }
+ }
+
+}