|
|
@@ -7,6 +7,7 @@
|
|
|
package net.ranides.assira.xml.impl;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
@@ -17,6 +18,7 @@ import net.ranides.assira.xml.XMLElement;
|
|
|
import static net.ranides.assira.xml.XMLQuery.$;
|
|
|
import static net.ranides.assira.junit.NewAssert.*;
|
|
|
import net.ranides.assira.text.StringUtils;
|
|
|
+import net.ranides.assira.xml.XMLElements;
|
|
|
import org.junit.Test;
|
|
|
|
|
|
/**
|
|
|
@@ -41,7 +43,6 @@ public class CElementsTest {
|
|
|
|
|
|
Iterator<String> i = IteratorUtils.map(doc.find("item").iterator(), n -> n.attr("title").content());
|
|
|
IteratorTester.basicIterator(i, 0, ITEMS);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -72,4 +73,36 @@ public class CElementsTest {
|
|
|
assertEquals("012", doc.find("data").text());
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void testConcat() {
|
|
|
+ XMLElement doc = $(new File("src/test/resources/eclipse/cheatsheet.xml"));
|
|
|
+ XMLElements a = doc.find("? //item/@title");
|
|
|
+ XMLElements b = doc.find("data");
|
|
|
+ List<String> exp1 = new ArrayList<>();
|
|
|
+ exp1.addAll(Arrays.asList(ITEMS));
|
|
|
+ exp1.addAll(Arrays.asList("0","1","2"));
|
|
|
+ assertEquals(exp1, a.concat(b).texts());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testFilter() {
|
|
|
+ XMLElement doc = $(new File("src/test/resources/eclipse/cheatsheet.xml"));
|
|
|
+
|
|
|
+ List<String> exp1 = Arrays.asList("Open the Task List view", "Create a new Query", "Setup the query");
|
|
|
+ List<String> exp2 = Arrays.asList("Setup Task Repository");
|
|
|
+
|
|
|
+ assertEquals(exp1, doc.find("item").filter("[skip='false']").attrs("title").texts());
|
|
|
+ assertEquals(exp2, doc.find("item").filter("[skip='true']").attrs("title").texts());
|
|
|
+
|
|
|
+ assertEquals(exp1, doc.find("item").filter(n -> n.node().attr("skip").content().equals("false")).attrs("title").texts());
|
|
|
+ assertEquals(exp2, doc.find("item").filter(n -> n.node().attr("skip").content().equals("true")).attrs("title").texts());
|
|
|
+
|
|
|
+ assertEquals(exp2, doc.find("item").discard("[skip='false']").attrs("title").texts());
|
|
|
+ assertEquals(exp1, doc.find("item").discard("[skip='true']").attrs("title").texts());
|
|
|
+
|
|
|
+ assertEquals(exp2, doc.find("item").discard(n -> n.node().attr("skip").content().equals("false")).attrs("title").texts());
|
|
|
+ assertEquals(exp1, doc.find("item").discard(n -> n.node().attr("skip").content().equals("true")).attrs("title").texts());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|