1 package net.sf.statcvs.pages;
2
3 import junit.framework.TestCase;
4
5 /**
6 * Test cases for {link net.sf.statcvs.pages.HTML}
7 *
8 * @author Richard Cyganiak
9 * @version $Id: HTMLTest.java,v 1.3 2008/04/14 18:32:59 benoitx Exp $
10 */
11 public class HTMLTest extends TestCase {
12
13 public void testNormalString() {
14 assertEquals("abc", HTML.escape("abc"));
15 }
16
17 public void testAmp() {
18 assertEquals("x && y", HTML.escape("x && y"));
19 }
20
21 public void testLessThan() {
22 assertEquals("x < y", HTML.escape("x < y"));
23 }
24
25 public void testGreaterThan() {
26 assertEquals("x > y", HTML.escape("x > y"));
27 }
28
29 public void testLineBreak() {
30 assertEquals("line1<br />\nline2<br />\n", HTML.escape("line1\nline2\n"));
31 }
32
33 public void testCombination() {
34 assertEquals("(x < y) &&<br />\n(y > x)", HTML.escape("(x < y) &&\n(y > x)"));
35 }
36
37 public void testWebifyLinksFromPlainText() {
38 final String[] tests = new String[] {
39 "Hello www.cnn.com/bla.html World with http://www.cnn.com ok",
40 "Hello www.cnn.com/bla.html World",
41 "www.cnn.com/bla.html World",
42 "Hello http://cnn.com/bla.html World",
43 "Hello www.cnn.com/bla.html",
44 "www.cnn.com/bla.html",
45 "Hello http://cnn.com/bla.html",
46 "http://cnn.com/bla.html",
47 "http://cnn.com/bla.php&test=1&test2=3%20%test",
48 "http://cnn.com",
49 "http://www.cnn.com",
50 "https://cnn.com/bla.html",
51 "https://cnn.com/bla.php&test=1&test2=3%20%test",
52 "https://cnn.com",
53 "https://www.cnn.com"
54 };
55 final String[] results = new String[] {
56 "Hello <a href=\"http://www.cnn.com/bla.html\">www.cnn.com/bla.html</a> World with <a href=\"http://www.cnn.com\">http://www.cnn.com</a> ok",
57 "Hello <a href=\"http://www.cnn.com/bla.html\">www.cnn.com/bla.html</a> World",
58 "<a href=\"http://www.cnn.com/bla.html\">www.cnn.com/bla.html</a> World",
59 "Hello <a href=\"http://cnn.com/bla.html\">http://cnn.com/bla.html</a> World",
60 "Hello <a href=\"http://www.cnn.com/bla.html\">www.cnn.com/bla.html</a>",
61 "<a href=\"http://www.cnn.com/bla.html\">www.cnn.com/bla.html</a>",
62 "Hello <a href=\"http://cnn.com/bla.html\">http://cnn.com/bla.html</a>",
63 "<a href=\"http://cnn.com/bla.html\">http://cnn.com/bla.html</a>",
64 "<a href=\"http://cnn.com/bla.php&test=1&test2=3%20%test\">http://cnn.com/bla.php&test=1&test2=3%20%test</a>",
65 "<a href=\"http://cnn.com\">http://cnn.com</a>",
66 "<a href=\"http://www.cnn.com\">http://www.cnn.com</a>",
67 "<a href=\"https://cnn.com/bla.html\">https://cnn.com/bla.html</a>",
68 "<a href=\"https://cnn.com/bla.php&test=1&test2=3%20%test\">https://cnn.com/bla.php&test=1&test2=3%20%test</a>",
69 "<a href=\"https://cnn.com\">https://cnn.com</a>",
70 "<a href=\"https://www.cnn.com\">https://www.cnn.com</a>"
71 };
72 for (int i = 0; i < tests.length; i++) {
73 assertEquals("Test " + tests[i], results[i], HTML.webifyLinksFromPlainText(tests[i]));
74 }
75 }
76 }