package by.istin.android.xcore.test.utils;
import android.test.ApplicationTestCase;
import com.google.common.internal.net.PercentEscaper;
import org.apache.commons.codec.net.URLCodec;
import java.net.URLDecoder;
import java.net.URLEncoder;
import by.istin.android.xcore.CoreApplication;
public class TestEncodeUtils extends ApplicationTestCase<CoreApplication>{
public static final int COUNT = 2000;
public TestEncodeUtils() {
super(CoreApplication.class);
}
private static final String TEST = "По сообщению «Вымпелком», любые звонки в Крыму и Севастополе с 20 июня обойдутся всего в 9,95 рублей за минуту (ранее 34 руб./мин), SMS — в 3,95 рубля за сообщение (ранее 9,5 руб.), мобильный интернет — в 9,95 рубля за мегабайт. При этом с 20 июня в сети «Киевстар» для россиян прекращают действовать услуги «Моя страна», «Моя планета», «Планета интернета» и «Планета Ноль». Как отмечается в пресс-релизе, «новые расценки на роуминг стирают границы между городами».";
@Override
protected void setUp() throws Exception {
createApplication();
super.setUp();
}
public void testDefaultEncoding() throws Exception {
for (int i = 0; i < COUNT; i++) {
String encode = URLEncoder.encode(TEST, "utf-8").replaceAll("\\+", "%20");
String decode = URLDecoder.decode(encode, "utf-8");
assertEquals(decode, TEST);
}
}
public void testDefaultFastEncoding() throws Exception {
String sampleEncode = URLEncoder.encode(TEST, "utf-8").replaceAll("\\+", "%20");
URLCodec urlCodec = new URLCodec("utf-8");
for (int i = 0; i < COUNT; i++) {
String encode = urlCodec.encode(TEST).replaceAll("\\+", "%20");
assertEquals(sampleEncode, encode);
String decode = urlCodec.decode(encode);
assertEquals(decode, TEST);
}
}
public void testDefaultFast2Encoding() throws Exception {
String sampleEncode = URLEncoder.encode(TEST, "utf-8").replaceAll("\\+", "%20");
PercentEscaper percentEscaper = new PercentEscaper("-_.*", false);
URLCodec urlCodec = new URLCodec("utf-8");
for (int i = 0; i < COUNT; i++) {
//String encode = UrlEscapers.urlPathSegmentEscaper().escape(TEST);
String encode = percentEscaper.escape(TEST);
assertEquals(sampleEncode, encode);
String decode = urlCodec.decode(encode);
assertEquals(decode, TEST);
}
}
}