package net.ion.bleujin.crawl;
import java.net.URLDecoder;
import java.net.URLEncoder;
import junit.framework.TestCase;
import net.ion.craken.node.ReadSession;
import net.ion.craken.node.Repository;
import net.ion.craken.node.TransactionJob;
import net.ion.craken.node.WriteSession;
import net.ion.craken.node.crud.Craken;
import net.ion.framework.util.Debug;
public class TestEnha extends TestCase {
public void testHanTOUTF() throws Exception {
String name = "야구" ;
String expect = "%EC%95%BC%EA%B5%AC" ;
assertEquals(expect, URLEncoder.encode(name, "UTF-8")) ;
}
public void testUTF2() throws Exception {
String name = "1998 방콕 아시안 게임" ;
String expect = "1998%20%EB%B0%A9%EC%BD%95%20%EC%95%84%EC%8B%9C%EC%95%88%20%EA%B2%8C%EC%9E%84" ;
Debug.line(URLEncoder.encode(name, "UTF-8"));
// assertEquals(expect, URLEncoder.encode(name, "UTF-8")) ;
}
public void testDecode() throws Exception {
String name = "1998%20%EB%B0%A9%EC%BD%95%20%EC%95%84%EC%8B%9C%EC%95%88%20%EA%B2%8C%EC%9E%84" ;
Debug.line(URLDecoder.decode(name, "UTF-8")) ;
}
public void testHanPath() throws Exception {
Repository r = Craken.inmemoryCreateWithTest() ;
ReadSession session = r.login("test") ;
final String name = "1998 방콕 아시안 게임" ;
final String name2 = "야구" ;
session.tran(new TransactionJob<Void>() {
@Override
public Void handle(WriteSession wsession) throws Exception {
wsession.pathBy("/", name, name2).property("name", "bleujin") ;
return null;
}
}) ;
assertEquals("bleujin", session.pathBy("/", name, name2).property("name").asString()) ;
session.workspace().repository().shutdown() ;
}
}