package io.craft.atom.protocol.http;
import io.craft.atom.protocol.ProtocolDecoder;
import io.craft.atom.protocol.ProtocolEncoder;
import io.craft.atom.protocol.ProtocolException;
import io.craft.atom.protocol.http.api.HttpCodecFactory;
import io.craft.atom.test.CaseCounter;
import java.util.List;
import java.util.Map;
import junit.framework.Assert;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author mindwind
* @version 1.0, Mar 25, 2013
*/
public class TestHttpParameterDecoder {
private static final Logger LOG = LoggerFactory.getLogger(TestHttpParameterDecoder.class);
private ProtocolDecoder<Map<String, List<String>>> decoder = HttpCodecFactory.newHttpParameterDecoder();
private ProtocolEncoder<Map<String, List<String>>> encoder = HttpCodecFactory.newHttpParameterEncoder();
@Test
public void testParameter() throws ProtocolException {
String queryString = "a=aa&%E6%B5%8B%E8%AF%95=%E6%B5%8B%E8%AF%95value&a=bb";
List<Map<String, List<String>>> paralist = decoder.decode(queryString.getBytes());
Map<String, List<String>> paras = paralist.get(0);
Assert.assertEquals(2, paras.size());
LOG.debug("[CRAFT-ATOM-PROTOCOL-HTTP] Encoded parameter={}", new String(encoder.encode(paras)));
System.out.println(String.format("[CRAFT-ATOM-PROTOCOL-HTTP] (^_^) <%s> Case -> test parameter. ", CaseCounter.incr(1)));
}
}