package com.blankj.utilcode.util;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import static com.blankj.utilcode.util.EncodeUtils.*;
import static com.google.common.truth.Truth.assertThat;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/08/12
* desc : EncodeUtils单元测试
* </pre>
*/
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class EncodeUtilsTest {
String urlEncodeString = "%E5%93%88%E5%93%88%E5%93%88";
String html = "<html>" +
"<head>" +
"<title>我的第一个 HTML 页面</title>" +
"</head>" +
"<body>" +
"<p>body 元素的内容会显示在浏览器中。</p>" +
"<p>title 元素的内容会显示在浏览器的标题栏中。</p>" +
"</body>" +
"</html>";
String encodeHtml = "<html><head><title>我的第一个 HTML 页面</title></head><body><p>body 元素的内容会显示在浏览器中。</p><p>title 元素的内容会显示在浏览器的标题栏中。</p></body></html>";
@Test
public void testUrlEncode() throws Exception {
assertThat(urlEncode("哈哈哈")).isEqualTo(urlEncodeString);
assertThat(urlEncode("哈哈哈", "UTF-8")).isEqualTo(urlEncodeString);
}
@Test
public void testUrlDecode() throws Exception {
assertThat(urlDecode(urlEncodeString)).isEqualTo("哈哈哈");
assertThat(urlDecode(urlEncodeString, "UTF-8")).isEqualTo("哈哈哈");
}
@Test
public void testBase64EncodeAndDecode() throws Exception {
assertThat(base64Decode(base64Encode("blankj")))
.isEqualTo("blankj".getBytes());
assertThat(base64Decode(base64Encode2String("blankj".getBytes())))
.isEqualTo("blankj".getBytes());
assertThat(base64Encode2String("blankj".getBytes()))
.isEqualTo("Ymxhbmtq");
assertThat(base64Encode("blankj".getBytes()))
.isEqualTo("Ymxhbmtq".getBytes());
}
@Test
public void testHtmlEncode() throws Exception {
assertThat(htmlEncode(html)).isEqualTo(encodeHtml);
}
@Test
public void testHtmlDecode() throws Exception {
assertThat(htmlDecode(encodeHtml).toString()).isEqualTo(html);
}
}