Change HashMap to LinkedHashMap in ResultItems for same order of input and output #76

master
yihua.huang 2014-03-25 08:23:20 +08:00
parent c72483a220
commit 8d8194bee4
2 changed files with 24 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package us.codecraft.webmagic; package us.codecraft.webmagic;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
/** /**
@ -14,7 +15,7 @@ import java.util.Map;
*/ */
public class ResultItems { public class ResultItems {
private Map<String, Object> fields = new HashMap<String, Object>(); private Map<String, Object> fields = new LinkedHashMap<String, Object>();
private Request request; private Request request;

View File

@ -0,0 +1,22 @@
package us.codecraft.webmagic;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author code4crafter@gmail.com
*/
public class ResultItemsTest {
@Test
public void testOrderOfEntries() throws Exception {
ResultItems resultItems = new ResultItems();
resultItems.put("a", "a");
resultItems.put("b", "b");
resultItems.put("c", "c");
assertThat(resultItems.getAll().keySet()).containsExactly("a","b","c");
}
}