use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.
the class XMLNativeFunctionTest method testCopy.
@Test
public void testCopy() {
BValue[] returns = BRunUtil.invoke(result, "testCopy");
Assert.assertEquals(returns.length, 4);
Assert.assertTrue(returns[0] instanceof BXMLItem);
Assert.assertEquals(returns[0].stringValue(), "<ns0:name xmlns:ns0=\"http://sample.com/test\"><newFname>" + "supun-new</newFname><newMname>thilina-new</newMname><newLname>setunga-new</newLname></ns0:name>");
// Check children of the copied xml
Assert.assertTrue(returns[3] instanceof BXML);
BRefValueArray children = ((BXMLSequence) ((BXML) returns[0]).children()).value();
Assert.assertEquals(children.size(), 3);
Assert.assertEquals(children.get(0).stringValue(), "<newFname>supun-new</newFname>");
Assert.assertEquals(children.get(1).stringValue(), "<newMname>thilina-new</newMname>");
Assert.assertEquals(children.get(2).stringValue(), "<newLname>setunga-new</newLname>");
// is children seq is empty?
Assert.assertSame(returns[1].getClass(), BBoolean.class);
Assert.assertEquals(((BBoolean) returns[1]).booleanValue(), false);
// is children seq is singleton?
Assert.assertSame(returns[2].getClass(), BBoolean.class);
Assert.assertEquals(((BBoolean) returns[2]).booleanValue(), true);
// Check children of the original xml
Assert.assertTrue(returns[3] instanceof BXML);
BRefValueArray originalChildren = ((BXMLSequence) returns[3]).value();
Assert.assertEquals(originalChildren.size(), 2);
Assert.assertEquals(originalChildren.get(0).stringValue(), "<fname xmlns:ns0=\"http://sample.com/test\">supun</fname>");
Assert.assertEquals(originalChildren.get(1).stringValue(), "<lname xmlns:ns0=\"http://sample.com/test\">setunga</lname>");
}
use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.
the class XMLNativeFunctionTest method testSelectDescendantsFromSeq.
@Test
public void testSelectDescendantsFromSeq() {
BValue[] returns = BRunUtil.invoke(result, "testSelectDescendantsFromSeq");
Assert.assertTrue(returns[0] instanceof BXML);
BXMLSequence seq = (BXMLSequence) returns[0];
Assert.assertEquals(seq.value().size(), 3);
Assert.assertEquals(seq.stringValue(), "<name xmlns=\"http://ballerinalang.org/\" " + "xmlns:ns0=\"http://ballerinalang.org/aaa\"><name>Supun</name><lname>Setunga</lname></name>" + "<name xmlns=\"http://ballerinalang.org/\" xmlns:ns0=\"http://ballerinalang.org/aaa\">John</name>" + "<name xmlns=\"http://ballerinalang.org/\" xmlns:ns0=\"http://ballerinalang.org/aaa\">Doe</name>");
}
use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.
the class XMLNativeFunctionTest method testSelectDescendantsWithEmptyNs.
@Test
public void testSelectDescendantsWithEmptyNs() {
BValue[] returns = BRunUtil.invoke(result, "testSelectDescendantsWithEmptyNs");
Assert.assertTrue(returns[0] instanceof BXML);
BXMLSequence seq = (BXMLSequence) returns[0];
Assert.assertEquals(seq.value().size(), 2);
Assert.assertEquals(seq.stringValue(), "<name xmlns:ns0=\"http://ballerinalang.org/aaa\"><name>Supun</name>" + "<lname>Setunga</lname></name><name xmlns:ns0=\"http://ballerinalang.org/aaa\">John</name>");
}
use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.
the class JSONUtils method traverseTree.
/**
* Traverse a JSON root node and produces the corresponding xml items.
*
* @param node {@link JsonNode} to be traversed
* @param attributePrefix String prefix used for attributes
* @param arrayEntryTag String used as the tag in the arrays
* @return List of xml items genereated during the traversal.
*/
@SuppressWarnings("rawtypes")
private static List<BXML> traverseTree(JsonNode node, String attributePrefix, String arrayEntryTag) {
List<BXML> xmlArray = new ArrayList<>();
if (node.isValueNode()) {
BXML xml = XMLUtils.parse(node.asText());
xmlArray.add(xml);
} else {
traverseJsonNode(node, null, null, xmlArray, attributePrefix, arrayEntryTag);
}
return xmlArray;
}
use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.
the class JSONTest method testToXMLBooleanValue.
@Test(description = "Convert a json object with boolean value only")
public void testToXMLBooleanValue() {
BValue[] returns = BRunUtil.invoke(compileResult, "testToXMLBooleanValue");
Assert.assertTrue(returns[0] instanceof BXML);
OMNode returnElement = ((BXMLItem) returns[0]).value();
Assert.assertEquals(((OMText) returnElement).getText(), "true");
}
Aggregations