package us.codecraft.webmagic.selector; import org.junit.Test; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; /** * @author code4crafter@gmail.com */ public class SelectorTest { private String html = "<div><a href='http://whatever.com/aaa'></a></div><div><a href='http://whatever.com/bbb'></a></div>"; @Test public void testChain() throws Exception { Html selectable = new Html(html); List<String> linksWithoutChain = selectable.links().all(); Selectable xpath = selectable.xpath("//div"); List<String> linksWithChainFirstCall = xpath.links().all(); List<String> linksWithChainSecondCall = xpath.links().all(); assertThat(linksWithoutChain).hasSameSizeAs(linksWithChainFirstCall); assertThat(linksWithChainFirstCall).hasSameSizeAs(linksWithChainSecondCall); } @Test public void testNodes() throws Exception { Html selectable = new Html(html); List<Selectable> links = selectable.xpath("//a").nodes(); assertThat(links.get(0).links().get()).isEqualTo("http://whatever.com/aaa"); } }