Commit d8bd0637 authored by yihua.huang's avatar yihua.huang

add custom formatter test #586

parent 6cc64757
...@@ -66,6 +66,14 @@ public class PageModelExtractorTest { ...@@ -66,6 +66,14 @@ public class PageModelExtractorTest {
} }
public static class ModelCustomList {
@Formatter(subClazz = Date.class, value = "yyyyMMdd",formatter = DateFormatter.class)
@ExtractBy("//li[@class='dates']/text()")
private List<Date> dates;
}
@Test @Test
public void testXpath() throws Exception { public void testXpath() throws Exception {
ModelDateStr modelDate = (ModelDateStr) PageModelExtractor.create(ModelDateStr.class).process(pageMocker.getMockPage()); ModelDateStr modelDate = (ModelDateStr) PageModelExtractor.create(ModelDateStr.class).process(pageMocker.getMockPage());
...@@ -101,4 +109,10 @@ public class PageModelExtractorTest { ...@@ -101,4 +109,10 @@ public class PageModelExtractorTest {
ModelDateList modelDate = (ModelDateList) PageModelExtractor.create(ModelDateList.class).process(pageMocker.getMockPage()); ModelDateList modelDate = (ModelDateList) PageModelExtractor.create(ModelDateList.class).process(pageMocker.getMockPage());
assertThat(modelDate.dates).containsExactly(DateUtils.parseDate("20170601", "yyyyMMdd"), DateUtils.parseDate("20170602", "yyyyMMdd"), DateUtils.parseDate("20170603", "yyyyMMdd"), DateUtils.parseDate("20170604", "yyyyMMdd")); assertThat(modelDate.dates).containsExactly(DateUtils.parseDate("20170601", "yyyyMMdd"), DateUtils.parseDate("20170602", "yyyyMMdd"), DateUtils.parseDate("20170603", "yyyyMMdd"), DateUtils.parseDate("20170604", "yyyyMMdd"));
} }
@Test
public void testExtractCustomList() throws Exception {
ModelCustomList modelDate = (ModelCustomList) PageModelExtractor.create(ModelCustomList.class).process(pageMocker.getMockPage());
assertThat(modelDate.dates).containsExactly(DateUtils.parseDate("20170601", "yyyyMMdd"), DateUtils.parseDate("20170602", "yyyyMMdd"), DateUtils.parseDate("20170603", "yyyyMMdd"), DateUtils.parseDate("20170604", "yyyyMMdd"));
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment