package org.exist.xupdate; import org.xmldb.api.base.Collection; import org.xmldb.api.base.ResourceSet; import org.xmldb.api.base.XMLDBException; import org.exist.test.EmbeddedExistTester; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; import org.junit.Ignore; /** * Test to show an xupdate/replace issue with the results of util:parse() * @author wessels */ public class AnotherXupdateTest extends EmbeddedExistTester { public AnotherXupdateTest() { } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { } @After public void tearDown() { } @Test @Ignore("Failing test") public void updateReplace() { try { // Store document Collection newCol = createCollection(rootCollection, "xupdatereplace"); storeResource(newCol, "test.xml", "<x><y/></x>".getBytes()); // check results ResourceSet results0 = executeQuery("doc('/db/xupdatereplace/test.xml')"); assertEquals(1, results0.getSize()); // perform query ResourceSet results1 = executeQuery("update replace doc('/db/xupdatereplace/test.xml')//y with util:parse('<y/>')"); assertEquals(1, results1.getSize()); // check results ResourceSet results2 = executeQuery("doc('/db/xupdatereplace/test.xml')"); assertEquals(1, results2.getSize()); } catch (XMLDBException ex) { LOG.error(ex); fail(ex.getMessage()); } } }