testhtmlencoder.java

来自「Jodd是一个开源的公用Java基础类库」· Java 代码 · 共 142 行

JAVA
142
字号
package jodd.servlet;

import junit.framework.*;

public class TestHtmlEncoder extends TestCase {

	public void testEncode() {
		String html = "< & \" ' > \r\n \n  \t";

		assertEquals("&lt; &amp; &quot; &#039; &gt; &#013;&#010; &#010;  &#009;", HtmlEncoder.encode(html));

		html = "";
		assertEquals("", HtmlEncoder.encode(html));

		html = null;
		assertEquals("", HtmlEncoder.encode(html));

		html = new String(new char[] {128, 257});
		assertEquals("&#128;&#257;", HtmlEncoder.encode(html));
	}

	public void testEncodeText() {
		String html = "< & \" ' > \r\n \n  \t";

		assertEquals("&lt; &amp; &quot; &#039; &gt; <br> <br>  &#009;", HtmlEncoder.encodeText(html));

		html = "";
		assertEquals("", HtmlEncoder.encodeText(html));

		html = null;
		assertEquals("", HtmlEncoder.encodeText(html));

		html = new String(new char[] {128, 257});
		assertEquals("&#128;&#257;", HtmlEncoder.encodeText(html));

		html = "\r\n\n\r";
		assertEquals("<br><br><br>", HtmlEncoder.encodeText(html));

		html = "\r\n\r\n";
		assertEquals("<br><br>", HtmlEncoder.encodeText(html));

		html = "\n\r";
		assertEquals("<br><br>", HtmlEncoder.encodeText(html));
	}


	public void testEncodeTextStrict() {
		String html = "< & \" ' > \r\n \n  \t";

		assertEquals("&lt;&nbsp;&amp;&nbsp;&quot;&nbsp;&#039;&nbsp;&gt;&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&#009;", HtmlEncoder.encodeTextStrict(html));

		html = "";
		assertEquals("", HtmlEncoder.encodeTextStrict(html));

		html = null;
		assertEquals("", HtmlEncoder.encodeTextStrict(html));

		html = new String(new char[] {128, 257});
		assertEquals("&#128;&#257;", HtmlEncoder.encodeTextStrict(html));

		html = "\r\n\n\r";
		assertEquals("<br><br><br>", HtmlEncoder.encodeTextStrict(html));

		html = "\r\n\r\n";
		assertEquals("<br><br>", HtmlEncoder.encodeTextStrict(html));

		html = "\n\r";
		assertEquals("<br><br>", HtmlEncoder.encodeTextStrict(html));
	}
	
	
	public void testEncodeTextSmart() {
		String html = "< & \" ' > \r\n \n  \t";

		assertEquals("&lt; &amp; &quot; &#039; &gt; <br> <br> &nbsp;&#009;", HtmlEncoder.encodeTextSmart(html));

		html = "";
		assertEquals("", HtmlEncoder.encodeTextSmart(html));

		html = null;
		assertEquals("", HtmlEncoder.encodeTextSmart(html));

		html = new String(new char[] {128, 257});
		assertEquals("&#128;&#257;", HtmlEncoder.encodeTextSmart(html));

		html = "\r\n\n\r";
		assertEquals("<br><br><br>", HtmlEncoder.encodeTextSmart(html));

		html = "\r\n\r\n";
		assertEquals("<br><br>", HtmlEncoder.encodeTextSmart(html));

		html = "\n\r";
		assertEquals("<br><br>", HtmlEncoder.encodeTextSmart(html));
		
		html = " ";
		assertEquals(" ", HtmlEncoder.encodeTextSmart(html));
		html = "  ";
		assertEquals(" &nbsp;", HtmlEncoder.encodeTextSmart(html));
		html = "   ";
		assertEquals(" &nbsp; ", HtmlEncoder.encodeTextSmart(html));
		html = "    ";
		assertEquals(" &nbsp; &nbsp;", HtmlEncoder.encodeTextSmart(html));
		html = "     ";
		assertEquals(" &nbsp; &nbsp; ", HtmlEncoder.encodeTextSmart(html));
		
		html = " a";
		assertEquals(" a", HtmlEncoder.encodeTextSmart(html));
		html = "  a";
		assertEquals(" &nbsp;a", HtmlEncoder.encodeTextSmart(html));
		html = "   a";
		assertEquals(" &nbsp; a", HtmlEncoder.encodeTextSmart(html));
		html = "    a";
		assertEquals(" &nbsp; &nbsp;a", HtmlEncoder.encodeTextSmart(html));
		html = "     a";
		assertEquals(" &nbsp; &nbsp; a", HtmlEncoder.encodeTextSmart(html));
		
		html = "a ";
		assertEquals("a ", HtmlEncoder.encodeTextSmart(html));
		html = "a  ";
		assertEquals("a &nbsp;", HtmlEncoder.encodeTextSmart(html));
		html = "a   ";
		assertEquals("a &nbsp; ", HtmlEncoder.encodeTextSmart(html));
		html = "a    ";
		assertEquals("a &nbsp; &nbsp;", HtmlEncoder.encodeTextSmart(html));
		html = "a     ";
		assertEquals("a &nbsp; &nbsp; ", HtmlEncoder.encodeTextSmart(html));
		
		html = " a ";
		assertEquals(" a ", HtmlEncoder.encodeTextSmart(html));
		html = "  a  ";
		assertEquals(" &nbsp;a &nbsp;", HtmlEncoder.encodeTextSmart(html));
		html = " a  ";
		assertEquals(" a &nbsp;", HtmlEncoder.encodeTextSmart(html));
		html = "  a ";
		assertEquals(" &nbsp;a ", HtmlEncoder.encodeTextSmart(html));
		html = "  a b   c  d e";
		assertEquals(" &nbsp;a b &nbsp; c &nbsp;d e", HtmlEncoder.encodeTextSmart(html));
	}


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?