Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/CursorVsObjectSetGetTextTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/CursorVsObjectSetGetTextTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/CursorVsObjectSetGetTextTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/CursorVsObjectSetGetTextTest.java Sun Feb 6 01:51:55 2022 @@ -17,29 +17,25 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; -import org.apache.xmlbeans.XmlObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.tranxml.tranXML.version40.CarLocationMessageDocument; import org.tranxml.tranXML.version40.CityNameDocument.CityName; import org.tranxml.tranXML.version40.GeographicLocationDocument.GeographicLocation; -import tools.util.JarUtil; import xmlcursor.common.Common; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.jobj; public class CursorVsObjectSetGetTextTest { @Test - public void testSetGet() throws Exception { - CarLocationMessageDocument clm = - (CarLocationMessageDocument) XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); + void testSetGet() throws Exception { + CarLocationMessageDocument clm = (CarLocationMessageDocument) jobj(Common.TRANXML_FILE_CLM); assertNotNull(clm); GeographicLocation[] aGL = new GeographicLocation[3]; try (XmlCursor xc = clm.newCursor()) { - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + - "$this//GeographicLocation"); + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); xc.toNextSelection(); for (int i = 0; i < 3; i++) { aGL[i] = (GeographicLocation) xc.getObject(); @@ -51,8 +47,7 @@ public class CursorVsObjectSetGetTextTes aGL[i].setCityName(cname); } xc.toStartDoc(); - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + - "$this//GeographicLocation"); + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); xc.toNextSelection(); @@ -68,14 +63,5 @@ public class CursorVsObjectSetGetTextTes } } } - - - class Bookmark extends XmlCursor.XmlBookmark { - public String text; - - Bookmark(String text) { - this.text = text; - } - } }
Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextTest.java Sun Feb 6 01:51:55 2022 @@ -16,158 +16,152 @@ package xmlcursor.detailed; +import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; -import org.junit.Test; -import tools.util.JarUtil; -import xmlcursor.common.BasicCursorTestCase; +import org.junit.jupiter.api.Test; import xmlcursor.common.Common; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static xmlcursor.common.BasicCursorTestCase.*; -public class GetTextTest extends BasicCursorTestCase { - @Test(expected = IllegalStateException.class) - public void testGetTextFromEND() throws Exception { - m_xo = XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - m_xc = m_xo.newCursor(); - m_xc.toEndDoc(); - m_xc.toPrevToken(); - assertEquals(TokenType.END, m_xc.currentTokenType()); - //assertEquals(null, m_xc.getTextValue()); +public class GetTextTest { + @Test + void testGetTextFromEND() throws Exception { + try (XmlCursor m_xc = jcur(Common.TRANXML_FILE_CLM)) { + m_xc.toEndDoc(); + m_xc.toPrevToken(); + assertEquals(TokenType.END, m_xc.currentTokenType()); + //assertEquals(null, m_xc.getTextValue()); - m_xc.getTextValue(); + assertThrows(IllegalStateException.class, m_xc::getTextValue); + } } @Test - public void testGetTextFromPROCINST() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_PROCINST); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.PROCINST); - assertEquals("type=\"text/xsl\" xmlns=\"http://openuri.org/shipping/\"", m_xc.getTextValue()); + void testGetTextFromPROCINST() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_PROCINST)) { + toNextTokenOfType(m_xc, TokenType.PROCINST); + assertEquals("type=\"text/xsl\" xmlns=\"http://openuri.org/shipping/\"", m_xc.getTextValue()); + } } @Test - public void testGetTextFromCOMMENT() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_COMMENT); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.COMMENT); - assertEquals(" comment text ", m_xc.getTextValue()); + void testGetTextFromCOMMENT() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_COMMENT)) { + toNextTokenOfType(m_xc, TokenType.COMMENT); + assertEquals(" comment text ", m_xc.getTextValue()); + } } @Test - public void testGetTextFromNAMESPACE() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_NS); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.NAMESPACE); - //assertEquals(null, m_xc.getTextValue()); + void testGetTextFromNAMESPACE() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_NS)) { + toNextTokenOfType(m_xc, TokenType.NAMESPACE); + //assertEquals(null, m_xc.getTextValue()); - //modifying test: behavior OK as of Sept 04 - //filed bug on API - String text= m_xc.getTextValue(); - assertEquals("http://www.foo.org", text); + //modifying test: behavior OK as of Sept 04 + //filed bug on API + String text = m_xc.getTextValue(); + assertEquals("http://www.foo.org", text); + } } - @Test(expected = IllegalStateException.class) - public void testGetTextFromENDDOC() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.ENDDOC); - //assertEquals(null, m_xc.getTextValue()); - m_xc.getTextValue(); + @Test + void testGetTextFromENDDOC() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO)) { + toNextTokenOfType(m_xc, TokenType.ENDDOC); + //assertEquals(null, m_xc.getTextValue()); + assertThrows(IllegalStateException.class, m_xc::getTextValue); + } } @Test - public void testGetTextFromTEXT() throws Exception { + void testGetTextFromTEXT() throws Exception { // m_xo = XmlObject.Factory.parse(Common.XML_FOO_TEXT); - m_xo = XmlObject.Factory.parse("<foo>text</foo>"); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - assertEquals(TokenType.TEXT, m_xc.currentTokenType()); - assertEquals("text", m_xc.getChars()); - assertEquals("text", m_xc.getTextValue()); + try (XmlCursor m_xc = cur("<foo>text</foo>")) { + toNextTokenOfType(m_xc, TokenType.TEXT); + assertEquals(TokenType.TEXT, m_xc.currentTokenType()); + assertEquals("text", m_xc.getChars()); + assertEquals("text", m_xc.getTextValue()); - m_xc.toNextChar(2); - assertEquals(TokenType.TEXT, m_xc.currentTokenType()); - assertEquals("xt", m_xc.getTextValue()); + m_xc.toNextChar(2); + assertEquals(TokenType.TEXT, m_xc.currentTokenType()); + assertEquals("xt", m_xc.getTextValue()); + } } @Test - public void testGetTextFromSTART_NotNested() throws Exception { - m_xo = XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - m_xc = m_xo.newCursor(); - m_xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//FleetID"); - - - m_xc.toNextSelection(); - assertEquals("FLEETNAME", m_xc.getTextValue()); + void testGetTextFromSTART_NotNested() throws Exception { + try (XmlCursor m_xc = jcur(Common.TRANXML_FILE_CLM)) { + m_xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//FleetID"); + m_xc.toNextSelection(); + assertEquals("FLEETNAME", m_xc.getTextValue()); + } } @Test - public void testGetTextFromSTART_Nested() throws Exception { - m_xo = XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - m_xc = m_xo.newCursor(); - m_xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//EventStatus/EquipmentStructure"); - m_xc.toNextSelection(); - assertEquals("\n\t\t\tGATX\n\t\t\t123456\n\t\t\tL\n\t\t", m_xc.getTextValue()); + void testGetTextFromSTART_Nested() throws Exception { + try (XmlCursor m_xc = jcur(Common.TRANXML_FILE_CLM)) { + m_xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//EventStatus/EquipmentStructure"); + m_xc.toNextSelection(); + assertEquals("\n\t\t\tGATX\n\t\t\t123456\n\t\t\tL\n\t\t", m_xc.getTextValue()); + } } @Test - public void testGetTextFromSTART_TextAferEND() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR_TEXT_EXT); - m_xc = m_xo.newCursor(); - m_xc.selectPath("$this//bar"); - m_xc.toNextSelection(); - assertEquals("text", m_xc.getTextValue()); + void testGetTextFromSTART_TextAferEND() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_BAR_TEXT_EXT)) { + m_xc.selectPath("$this//bar"); + m_xc.toNextSelection(); + assertEquals("text", m_xc.getTextValue()); + } } @Test - public void testGetTextFromSTART_TextAferEND_WS() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR_WS_TEXT); - m_xc = m_xo.newCursor(); - m_xc.selectPath("$this//bar"); - m_xc.toNextSelection(); - assertEquals(" text ", m_xc.getTextValue()); + void testGetTextFromSTART_TextAferEND_WS() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_BAR_WS_TEXT)) { + m_xc.selectPath("$this//bar"); + m_xc.toNextSelection(); + assertEquals(" text ", m_xc.getTextValue()); + } } @Test - public void testGetTextFromATTR_Nested() throws Exception { - m_xo = XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_XMLCURSOR_PO)); - m_xc = m_xo.newCursor(); - String preface="declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\""; - m_xc.selectPath(preface+" .//po:billTo"); - assertEquals(1,m_xc.getSelectionCount()); - m_xc.toNextSelection(); - toNextTokenOfType(m_xc, TokenType.ATTR); - assertEquals("US", m_xc.getTextValue()); + void testGetTextFromATTR_Nested() throws Exception { + String preface = "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\""; + try (XmlCursor m_xc = jcur(Common.TRANXML_FILE_XMLCURSOR_PO)) { + m_xc.selectPath(preface + " .//po:billTo"); + assertEquals(1, m_xc.getSelectionCount()); + m_xc.toNextSelection(); + toNextTokenOfType(m_xc, TokenType.ATTR); + assertEquals("US", m_xc.getTextValue()); + } } @Test - public void testGetTextFromSTARTDOC() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR_TEXT_EXT); - m_xc = m_xo.newCursor(); - assertEquals("textextended", m_xc.getTextValue()); + void testGetTextFromSTARTDOC() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_BAR_TEXT_EXT)) { + assertEquals("textextended", m_xc.getTextValue()); + } } @Test - public void testGetTextEmptyElementSTART() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR); - m_xc = m_xo.newCursor(); - m_xc.selectPath("$this//bar"); - assertEquals("", m_xc.getTextValue()); + void testGetTextEmptyElementSTART() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_BAR)) { + m_xc.selectPath("$this//bar"); + assertEquals("", m_xc.getTextValue()); + } } @Test - public void testGetTextWhitespaceOnlyFromSTART() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR_WS_ONLY); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - assertEquals(" ", m_xc.getTextValue()); + void testGetTextWhitespaceOnlyFromSTART() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_BAR_WS_ONLY)) { + m_xc.toFirstChild(); + assertEquals(" ", m_xc.getTextValue()); + } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextValueTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextValueTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextValueTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/GetTextValueTest.java Sun Feb 6 01:51:55 2022 @@ -15,103 +15,115 @@ package xmlcursor.detailed; +import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; -import org.junit.Before; -import org.junit.Test; -import xmlcursor.common.BasicCursorTestCase; +import org.apache.xmlbeans.XmlException; +import org.junit.jupiter.api.Test; import xmlcursor.common.Common; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.*; -public class GetTextValueTest extends BasicCursorTestCase { - - - private String sDoc = Common.XML_FOO_NS_PREFIX; +public class GetTextValueTest { // Depth first concatenation of all text leaves @Test - public void testNormalCase() { + void testNormalCase() throws XmlException { String sExpected = " 32.18"; char[] buffer = new char[100]; - int nCopied = m_xc.getTextValue(buffer, 0, 100); - assertEquals(sExpected.length(), nCopied); - assertEquals(sExpected, new String(buffer).substring(0, nCopied)); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + int nCopied = m_xc.getTextValue(buffer, 0, 100); + assertEquals(sExpected.length(), nCopied); + assertEquals(sExpected, new String(buffer).substring(0, nCopied)); + } } - @Test(expected = IllegalArgumentException.class) - public void testGetNull() { - m_xc.getTextValue(null, 0, 10); + @Test + void testGetNull() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + assertThrows(IllegalArgumentException.class, () -> m_xc.getTextValue(null, 0, 10)); + } } - @Test(expected = IllegalArgumentException.class) - public void testNegativeOffset() { + @Test + void testNegativeOffset() throws XmlException { char[] buffer = new char[100]; - m_xc.getTextValue(buffer, -1, 100); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + assertThrows(IllegalArgumentException.class, () -> m_xc.getTextValue(buffer, -1, 100)); + } } @Test - public void testNonZeroOffset() { + void testNonZeroOffset() throws XmlException { String sExpected = "T\0 32.18"; char[] buffer = new char[10]; buffer[0] = 'T'; int nOffset = 2; - int nCopied = m_xc.getTextValue(buffer, 2, 8); - assertEquals(7, nCopied); - assertEquals(sExpected, - new String(buffer).substring(0, nCopied + nOffset)); - assertEquals("", - new String(buffer).substring(nOffset + nCopied, buffer.length) - .trim()); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + int nCopied = m_xc.getTextValue(buffer, 2, 8); + assertEquals(7, nCopied); + assertEquals(sExpected, new String(buffer).substring(0, nCopied + nOffset)); + assertEquals("", new String(buffer).substring(nOffset + nCopied, buffer.length).trim()); + } } - @Test(expected = IllegalArgumentException.class) - public void testLargeOffset() { + @Test + void testLargeOffset() throws XmlException { char[] buffer = new char[100]; - m_xc.getTextValue(buffer, 101, 1); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + assertThrows(IllegalArgumentException.class, () -> m_xc.getTextValue(buffer, 101, 1)); + } } //charCount<=0: should be a noop //BUT: Assumption is that <0=infinity, so all is copies @Test - public void testNegativeCharCount() { + void testNegativeCharCount() throws XmlException { char[] buffer = new char[100]; - String sExpected = m_xc.getTextValue(); - int nCount = m_xc.getTextValue(buffer, 0, -1); - assertEquals(sExpected.length(), nCount); - assertEquals(sExpected, new String(buffer, 0, nCount)); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + String sExpected = m_xc.getTextValue(); + int nCount = m_xc.getTextValue(buffer, 0, -1); + assertEquals(sExpected.length(), nCount); + assertEquals(sExpected, new String(buffer, 0, nCount)); + } } @Test - public void testZeroCharCount() { + void testZeroCharCount() throws XmlException { char[] buffer = new char[10]; - int nCopied = m_xc.getTextValue(buffer, 0, 0); - assertEquals(0, nCopied); - assertEquals("", new String(buffer).trim()); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + int nCopied = m_xc.getTextValue(buffer, 0, 0); + assertEquals(0, nCopied); + assertEquals("", new String(buffer).trim()); + } } @Test - public void testLargeCharCount() { + void testLargeCharCount() throws XmlException { String sExpected = " 32.18"; char[] buffer = new char[200]; int nCharCount = 300; - assertTrue(sDoc.length() < nCharCount); - assertFalse(buffer.length >= nCharCount); - int nCopied = m_xc.getTextValue(buffer, 0, nCharCount); - assertEquals(sExpected.length(), nCopied); - assertEquals(sExpected, new String(buffer).substring(0, nCopied)); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + assertTrue(Common.XML_FOO_NS_PREFIX.length() < nCharCount); + assertFalse(buffer.length >= nCharCount); + int nCopied = m_xc.getTextValue(buffer, 0, nCharCount); + assertEquals(sExpected.length(), nCopied); + assertEquals(sExpected, new String(buffer).substring(0, nCopied)); + } } //offset+selection>buffer @Test - public void testSelectionPastEnd() { + void testSelectionPastEnd() throws XmlException { String sExpected = " 3"; char[] buffer = new char[100]; - int nCopied = m_xc.getTextValue(buffer, 97, 4); - assertEquals(sExpected.length(), nCopied); - assertEquals(sExpected, new String(buffer,97, nCopied) ); - assertEquals("", new String(buffer,0, 97).trim()); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + int nCopied = m_xc.getTextValue(buffer, 97, 4); + assertEquals(sExpected.length(), nCopied); + assertEquals(sExpected, new String(buffer, 97, nCopied)); + assertEquals("", new String(buffer, 0, 97).trim()); + } } @@ -119,67 +131,55 @@ public class GetTextValueTest extends Ba //return 0 as per spec //NB: Design changed, should work now @Test - public void testGetNonTextElement() { + void testGetNonTextElement() throws XmlException { char[] buffer = new char[100]; - toNextTokenOfType(m_xc, TokenType.NAMESPACE); - int nCopied = m_xc.getTextValue(buffer, 0, 100); - String sExpected = "http://ecommerce.org/schema"; - assertEquals(sExpected, - new String(buffer, 0, nCopied)); - assertEquals(sExpected.length(), nCopied); - try { + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + toNextTokenOfType(m_xc, TokenType.NAMESPACE); + int nCopied = m_xc.getTextValue(buffer, 0, 100); + String sExpected = "http://ecommerce.org/schema"; + assertEquals(sExpected, new String(buffer, 0, nCopied)); + assertEquals(sExpected.length(), nCopied); toNextTokenOfType(m_xc, TokenType.END); - nCopied = m_xc.getTextValue(buffer, 0, 100); - fail("Operation not allowed"); - } catch (java.lang.IllegalStateException e) { - } + assertThrows(IllegalStateException.class, () -> m_xc.getTextValue(buffer, 0, 100)); - try { toNextTokenOfType(m_xc, TokenType.ENDDOC); - nCopied = m_xc.getTextValue(buffer, 0, 100); - fail("Operation not allowed"); - } catch (java.lang.IllegalStateException e) { + assertThrows(IllegalStateException.class, () -> m_xc.getTextValue(buffer, 0, 100)); } } //test text of comment, PI or Attr @Test - public void testCommentPIAttr() throws Exception { + void testCommentPIAttr() throws Exception { String sExpected = "http://ecommerce.org/schema"; int nSize = sExpected.length(); char[] buffer = new char[nSize + 1]; - toNextTokenOfType(m_xc, TokenType.NAMESPACE); - int nCopied = m_xc.getTextValue(buffer, 0, nSize); - assertEquals(sExpected, - new String(buffer) - .substring(0, nCopied)); - assertEquals(sExpected.length(), nCopied); + try (XmlCursor m_xc = cur(Common.XML_FOO_NS_PREFIX)) { + toNextTokenOfType(m_xc, TokenType.NAMESPACE); + int nCopied = m_xc.getTextValue(buffer, 0, nSize); + assertEquals(sExpected, new String(buffer).substring(0, nCopied)); + assertEquals(sExpected.length(), nCopied); + } + String sTestXml = "<?xml-stylesheet type=\"text/xsl\" xmlns=\"http://openuri.org/shipping/\"?><foo at0=\"value0\">text</foo>"; - m_xc = XmlObject.Factory.parse(sTestXml).newCursor(); - nCopied = m_xc.getTextValue(buffer, 0, nSize); - //assert attributes are skipped - assertEquals("text", new String(buffer).substring(0, nCopied)); - assertEquals("text".length(), nCopied); - - buffer = new char[100]; - toNextTokenOfType(m_xc, TokenType.ATTR); - nCopied = m_xc.getTextValue(buffer, 0, 100); - assertEquals("value0", new String(buffer).substring(0, nCopied)); - assertEquals("value0".length(), nCopied); - - sExpected = - "type=\"text/xsl\" xmlns=\"http://openuri.org/shipping/\""; - nSize = sExpected.length(); - toPrevTokenOfType(m_xc, TokenType.PROCINST); - nCopied = m_xc.getTextValue(buffer, 0, nSize); - assertEquals(sExpected, new String(buffer) - .substring(0, nCopied)); - assertEquals(sExpected.length(), nCopied); - } - - @Before - public void setUp() throws Exception { - m_xc = XmlObject.Factory.parse(sDoc).newCursor(); + try (XmlCursor m_xc = cur(sTestXml)) { + int nCopied = m_xc.getTextValue(buffer, 0, nSize); + //assert attributes are skipped + assertEquals("text", new String(buffer).substring(0, nCopied)); + assertEquals("text".length(), nCopied); + + buffer = new char[100]; + toNextTokenOfType(m_xc, TokenType.ATTR); + nCopied = m_xc.getTextValue(buffer, 0, 100); + assertEquals("value0", new String(buffer).substring(0, nCopied)); + assertEquals("value0".length(), nCopied); + + sExpected = "type=\"text/xsl\" xmlns=\"http://openuri.org/shipping/\""; + nSize = sExpected.length(); + toPrevTokenOfType(m_xc, TokenType.PROCINST); + nCopied = m_xc.getTextValue(buffer, 0, nSize); + assertEquals(sExpected, new String(buffer).substring(0, nCopied)); + assertEquals(sExpected.length(), nCopied); + } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertAttributeTest2.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertAttributeTest2.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertAttributeTest2.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertAttributeTest2.java Sun Feb 6 01:51:55 2022 @@ -18,42 +18,48 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import xmlcursor.common.BasicCursorTestCase; +import org.apache.xmlbeans.XmlException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import xmlcursor.common.Common; import javax.xml.namespace.QName; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.*; -public class InsertAttributeTest2 extends BasicCursorTestCase { +public class InsertAttributeTest2 { + @Test - public void testNormalCase() { - for (int i = 0; i < 50; i++) { - m_xc.insertAttribute("at" + i, "com.bea.foo"); - //System.out.println(i); - } - toPrevTokenOfType(m_xc, TokenType.ATTR); + void testNormalCase() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + + for (int i = 0; i < 50; i++) { + m_xc.insertAttribute("at" + i, "com.bea.foo"); + } + toPrevTokenOfType(m_xc, TokenType.ATTR); - int i = 0; - do { - i++; - //System.out.println(m_xc.xmlText()); - } while (m_xc.toPrevAttribute()); + int i = 1; + while (m_xc.toPrevAttribute()) { + i++; + } - assertEquals(i, 50); + assertEquals(i, 50); + } } - @Test(expected = Exception.class) - public void testIllegalCursorPos() { - //position curor at text - toNextTokenOfType(m_xc, XmlCursor.TokenType.END); - // Shoild not be able to insert at attr here - m_xc.insertAttribute("at", "com.bea.foo"); + @Test + void testIllegalCursorPos() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + + //position curor at text + toNextTokenOfType(m_xc, XmlCursor.TokenType.END); + // Shoild not be able to insert at attr here + assertThrows(Exception.class, () -> m_xc.insertAttribute("at", "com.bea.foo")); + } } /** @@ -65,14 +71,17 @@ public class InsertAttributeTest2 extend * check upon serialization that only the first token with a given name is printed */ @Test - public void testLocalNameCollision() { - m_xc.insertAttributeWithValue("at", "v1"); - m_xc.insertAttributeWithValue("at", "v2"); - toPrevTokenOfType(m_xc, TokenType.START); - m_xc.toFirstAttribute(); - assertEquals(m_xc.getName().getLocalPart(), "at"); - assertTrue(m_xc.toNextAttribute()); - assertEquals(m_xc.getName().getLocalPart(), "at"); + void testLocalNameCollision() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + m_xc.insertAttributeWithValue("at", "v1"); + m_xc.insertAttributeWithValue("at", "v2"); + toPrevTokenOfType(m_xc, TokenType.START); + m_xc.toFirstAttribute(); + assertEquals(m_xc.getName().getLocalPart(), "at"); + assertTrue(m_xc.toNextAttribute()); + assertEquals(m_xc.getName().getLocalPart(), "at"); + } } /** @@ -84,86 +93,107 @@ public class InsertAttributeTest2 extend * it seems impossible to force a binding of the same URI with two * different prefixes */ - @Test(expected = Exception.class) - @Ignore - public void testUriCollision() { - m_xc.insertAttribute("at0", "com.bea.foo"); - m_xc.insertAttribute("at1", "com.bea.foo"); - toPrevTokenOfType(m_xc, TokenType.START); - // Should not be able to insert at attr with colliding name - System.out.println(m_xc.xmlText()); + @Test + @Disabled + public void testUriCollision() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + + m_xc.insertAttribute("at0", "com.bea.foo"); + m_xc.insertAttribute("at1", "com.bea.foo"); + toPrevTokenOfType(m_xc, TokenType.START); + // Should not be able to insert at attr with colliding name + assertThrows(Exception.class, m_xc::xmlText); + } } @Test - public void testUriLocalNameOK() { - m_xc.insertAttribute("at", ""); - m_xc.insertAttribute("at", "com.bea.foo"); - toPrevTokenOfType(m_xc, XmlCursor.TokenType.START); - m_xc.toFirstAttribute(); - int i = 1; - while (m_xc.toNextAttribute()) i++; - assertEquals(i, 2); + void testUriLocalNameOK() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + m_xc.insertAttribute("at", ""); + m_xc.insertAttribute("at", "com.bea.foo"); + toPrevTokenOfType(m_xc, XmlCursor.TokenType.START); + m_xc.toFirstAttribute(); + int i = 1; + while (m_xc.toNextAttribute()) i++; + assertEquals(2, i); + } } @Test - public void testUriNull() { - m_xc.insertAttribute("at", null); - toPrevTokenOfType(m_xc, TokenType.ATTR); - assertEquals(m_xc.getName(), new QName("at")); + void testUriNull() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + m_xc.insertAttribute("at", null); + toPrevTokenOfType(m_xc, TokenType.ATTR); + assertEquals(m_xc.getName(), new QName("at")); + } } - @Test(expected = Exception.class) - public void testLocalnameNull() { - m_xc.insertAttribute(null, ""); + @Test + void testLocalnameNull() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + assertThrows(Exception.class, () -> m_xc.insertAttribute(null, "")); + } } @Test - public void testUriEmpty() { - m_xc.insertAttribute("myat", ""); - toPrevTokenOfType(m_xc, TokenType.START); - m_xc.toFirstAttribute(); - assertEquals(m_xc.getName(), new QName(null, "myat")); + void testUriEmpty() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + m_xc.insertAttribute("myat", ""); + toPrevTokenOfType(m_xc, TokenType.START); + m_xc.toFirstAttribute(); + assertEquals(m_xc.getName(), new QName(null, "myat")); + } } - @Test(expected = Exception.class) - public void testLocalnameEmpty() { - m_xc.insertAttribute("", ""); + @Test + void testLocalnameEmpty() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + assertThrows(Exception.class, () -> m_xc.insertAttribute("", "")); + } } @Test - public void testInsertAttributeWithValue() { + void testInsertAttributeWithValue() throws XmlException { StringBuilder sb = new StringBuilder(); String value0 = "test" + "\n\t\r"; String value1 = "'QuotedText'"; String value2 = "\"QuotedText2\""; int nStressBound = 20000;//Integer.MAX_VALUE - for (int i = 0; i < nStressBound; i++) + for (int i = 0; i < nStressBound; i++) { sb.append('a'); - m_xc.insertAttributeWithValue("at0", value0); - m_xc.insertAttributeWithValue("at1", value1); - m_xc.insertAttributeWithValue("at2", value2); - m_xc.insertAttributeWithValue("at3", sb.toString()); + } - toPrevTokenOfType(m_xc, TokenType.START); + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); - assertEquals(m_xc.getAttributeText(new QName("at3")).length(), nStressBound); - assertEquals(m_xc.getAttributeText(new QName("at2")), value2); + m_xc.insertAttributeWithValue("at0", value0); + m_xc.insertAttributeWithValue("at1", value1); + m_xc.insertAttributeWithValue("at2", value2); + m_xc.insertAttributeWithValue("at3", sb.toString()); - assertEquals(m_xc.getAttributeText(new QName("at1")), value1); - assertEquals(m_xc.getAttributeText(new QName("at0")), value0); + toPrevTokenOfType(m_xc, TokenType.START); + + assertEquals(m_xc.getAttributeText(new QName("at3")).length(), nStressBound); + assertEquals(m_xc.getAttributeText(new QName("at2")), value2); + + assertEquals(m_xc.getAttributeText(new QName("at1")), value1); + assertEquals(m_xc.getAttributeText(new QName("at0")), value0); + } } @Test - public void testInsertAttributeWithValueNull() { - m_xc.insertAttributeWithValue("at0", null); - assertNull(m_xc.getAttributeText(new QName("at0"))); + void testInsertAttributeWithValueNull() throws XmlException { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, XmlCursor.TokenType.TEXT); + m_xc.insertAttributeWithValue("at0", null); + assertNull(m_xc.getAttributeText(new QName("at0"))); + } } - - @Before - public void setUp()throws Exception{ - String sDoc = Common.XML_FOO_TEXT; - m_xc= XmlObject.Factory.parse(sDoc).newCursor(); - toNextTokenOfType(m_xc,XmlCursor.TokenType.TEXT);//prepare for atts - } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertNamespaceTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertNamespaceTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertNamespaceTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/InsertNamespaceTest.java Sun Feb 6 01:51:55 2022 @@ -16,93 +16,95 @@ package xmlcursor.detailed; +import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; -import org.junit.Ignore; -import org.junit.Test; -import xmlcursor.common.BasicCursorTestCase; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import xmlcursor.common.Common; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static xmlcursor.common.BasicCursorTestCase.cur; +import static xmlcursor.common.BasicCursorTestCase.toNextTokenOfType; -public class InsertNamespaceTest extends BasicCursorTestCase { +public class InsertNamespaceTest { @Test - public void testInsertNamespaceAfterSTART() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_2ATTR_TEXT); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - m_xc.insertNamespace("prefix", "value"); - m_xc.toStartDoc(); - XmlOptions map = new XmlOptions(); - map.setSaveNamespacesFirst(true); - assertEquals("<foo xmlns:prefix=\"value\" attr0=\"val0\" attr1=\"val1\">text</foo>", m_xc.xmlText(map)); + void testInsertNamespaceAfterSTART() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_2ATTR_TEXT)) { + toNextTokenOfType(m_xc, TokenType.TEXT); + m_xc.insertNamespace("prefix", "value"); + m_xc.toStartDoc(); + XmlOptions map = new XmlOptions(); + map.setSaveNamespacesFirst(true); + assertEquals("<foo xmlns:prefix=\"value\" attr0=\"val0\" attr1=\"val1\">text</foo>", m_xc.xmlText(map)); + } } @Test - public void testInsertNamespaceAfterATTR() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_2ATTR_TEXT); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.ATTR); - toNextTokenOfType(m_xc, TokenType.ATTR); - m_xc.insertNamespace("prefix", "value"); - m_xc.toStartDoc(); - XmlOptions map = new XmlOptions(); - map.setSaveNamespacesFirst(); - assertEquals("<foo xmlns:prefix=\"value\" attr0=\"val0\" attr1=\"val1\">text</foo>", m_xc.xmlText(map)); + void testInsertNamespaceAfterATTR() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_2ATTR_TEXT)) { + toNextTokenOfType(m_xc, TokenType.ATTR); + toNextTokenOfType(m_xc, TokenType.ATTR); + m_xc.insertNamespace("prefix", "value"); + m_xc.toStartDoc(); + XmlOptions map = new XmlOptions(); + map.setSaveNamespacesFirst(); + assertEquals("<foo xmlns:prefix=\"value\" attr0=\"val0\" attr1=\"val1\">text</foo>", m_xc.xmlText(map)); + } } - @Test(expected = IllegalArgumentException.class) - public void testInsertNamespaceInsideTEXT() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_2ATTR_TEXT); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - m_xc.toNextChar(2); - assertEquals("xt", m_xc.getChars()); - m_xc.insertNamespace("prefix", "value"); + @Test + void testInsertNamespaceInsideTEXT() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_2ATTR_TEXT)) { + toNextTokenOfType(m_xc, TokenType.TEXT); + m_xc.toNextChar(2); + assertEquals("xt", m_xc.getChars()); + assertThrows(IllegalArgumentException.class, () -> m_xc.insertNamespace("prefix", "value")); + } } - @Test(expected = IllegalArgumentException.class) - public void testInsertNamespaceFromSTARTDOC() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_2ATTR_TEXT); - m_xc = m_xo.newCursor(); - m_xc.insertNamespace("prefix", "value"); + @Test + void testInsertNamespaceFromSTARTDOC() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_2ATTR_TEXT)) { + assertThrows(IllegalArgumentException.class, () -> m_xc.insertNamespace("prefix", "value")); + } } - @Test(expected = IllegalArgumentException.class) - public void testInsertNamespaceAfterPROCINST() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_PROCINST); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.PROCINST); - m_xc.toNextToken(); - m_xc.insertNamespace("prefix", "value"); + @Test + void testInsertNamespaceAfterPROCINST() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_PROCINST)) { + toNextTokenOfType(m_xc, TokenType.PROCINST); + m_xc.toNextToken(); + assertThrows(IllegalArgumentException.class, () -> m_xc.insertNamespace("prefix", "value")); + } } @Test - public void testInsertNamespaceAfterNAMESPACE() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_NS); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.NAMESPACE); - m_xc.toNextToken(); - m_xc.insertNamespace("prefix", "value"); - m_xc.toStartDoc(); - assertEquals("<foo xmlns=\"http://www.foo.org\" xmlns:prefix=\"value\"/>", m_xc.xmlText()); + void testInsertNamespaceAfterNAMESPACE() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_NS)) { + toNextTokenOfType(m_xc, TokenType.NAMESPACE); + m_xc.toNextToken(); + m_xc.insertNamespace("prefix", "value"); + m_xc.toStartDoc(); + assertEquals("<foo xmlns=\"http://www.foo.org\" xmlns:prefix=\"value\"/>", m_xc.xmlText()); + } } @Test - public void testInsertDuplicateNamespace() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_TEXT); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - m_xc.insertNamespace("prefix", "http://www.foo.org"); - m_xc.insertNamespace("prefix", "http://www.foo.org"); - m_xc.toStartDoc(); - assertEquals("<foo xmlns:prefix=\"http://www.foo.org\">text</foo>", m_xc.xmlText()); + void testInsertDuplicateNamespace() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, TokenType.TEXT); + m_xc.insertNamespace("prefix", "http://www.foo.org"); + m_xc.insertNamespace("prefix", "http://www.foo.org"); + m_xc.toStartDoc(); + assertEquals("<foo xmlns:prefix=\"http://www.foo.org\">text</foo>", m_xc.xmlText()); + } } @Test - @Ignore + @Disabled public void testInsertNamespaceWithNullPrefix() throws Exception { // According to Eric V... This test is not valid // Eric's comments: @@ -124,25 +126,25 @@ public class InsertNamespaceTest extends } @Test - public void testInsertNamespaceWithNullValue() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.END); - - //EricV: this should be OK, but make sure the saver - // doesn't serialize it since it's not legal XML - - m_xc.insertNamespace("prefix", null); - m_xc.toStartDoc(); - assertEquals("<foo/>", m_xc.xmlText()); - } - - @Test(expected = IllegalArgumentException.class) - public void testInsertEmptyNamespace() throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_TEXT); - m_xc = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.END); - m_xc.insertNamespace("", ""); + void testInsertNamespaceWithNullValue() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO)) { + toNextTokenOfType(m_xc, TokenType.END); + + //EricV: this should be OK, but make sure the saver + // doesn't serialize it since it's not legal XML + + m_xc.insertNamespace("prefix", null); + m_xc.toStartDoc(); + assertEquals("<foo/>", m_xc.xmlText()); + } + } + + @Test + void testInsertEmptyNamespace() throws Exception { + try (XmlCursor m_xc = cur(Common.XML_FOO_TEXT)) { + toNextTokenOfType(m_xc, TokenType.END); + assertThrows(IllegalArgumentException.class, () -> m_xc.insertNamespace("", "")); + } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/MoveXmlTest2.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/MoveXmlTest2.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/MoveXmlTest2.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/MoveXmlTest2.java Sun Feb 6 01:51:55 2022 @@ -18,113 +18,85 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import xmlcursor.common.BasicCursorTestCase; - -import static org.junit.Assert.*; - -public class MoveXmlTest2 extends BasicCursorTestCase - { - - private static String sTestXml = "<bk:book xmlns:bk='urn:loc.gov:books' at0=\"value0\"><!--BOOK COMMENT-->text0<author at0=\"v0\" at1=\"value1\"/></bk:book>"; - private static XmlCursor m_xc1; - - @Test - public void testNormalCase() - { - String sExpectedTrg1 = "<!--BOOK COMMENT--><target/>"; - String sExpectedSrc1 = "<bk:book at0=\"value0\" " + - "xmlns:bk=\"urn:loc.gov:books\">" + - "text0<author at0=\"v0\" at1=\"value1\"/></bk:book>"; - - - toNextTokenOfType(m_xc1, TokenType.START); - toNextTokenOfType(m_xc, TokenType.COMMENT); - m_xc.moveXml(m_xc1); - toPrevTokenOfType(m_xc, TokenType.STARTDOC); - toPrevTokenOfType(m_xc1, TokenType.STARTDOC); - assertEquals(m_xc.xmlText(), sExpectedSrc1); - assertEquals(m_xc1.xmlText(), sExpectedTrg1); - - - sExpectedTrg1 = - "<!--BOOK COMMENT--><target xmlns:bk=\"urn:loc.gov:books\"/>"; - sExpectedSrc1 = "<bk:book " + - "at0=\"value0\" " + - "xmlns:bk=\"urn:loc.gov:books\">" + - "text0<author at0=\"v0\" at1=\"value1\"/>" + - "</bk:book>"; - - //copy the namespace declaration exlplicitly - toNextTokenOfType(m_xc1, TokenType.END); - toNextTokenOfType(m_xc, TokenType.NAMESPACE); - m_xc.moveXml(m_xc1); +import org.apache.xmlbeans.XmlException; +import org.junit.jupiter.api.Test; - toPrevTokenOfType(m_xc, TokenType.STARTDOC); - toPrevTokenOfType(m_xc1, TokenType.STARTDOC); +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.*; - assertEquals(m_xc1.xmlText(), sExpectedTrg1); - assertEquals(m_xc.xmlText(), sExpectedSrc1); +public class MoveXmlTest2 { + private static final String XML = "<bk:book xmlns:bk='urn:loc.gov:books' at0=\"value0\"><!--BOOK COMMENT-->text0<author at0=\"v0\" at1=\"value1\"/></bk:book>"; + private static final String TARGET = "<target></target>"; - } + @Test + void testNormalCase() throws XmlException { + String sExpectedSrc = "<bk:book at0=\"value0\" xmlns:bk=\"urn:loc.gov:books\">text0<author at0=\"v0\" at1=\"value1\"/></bk:book>"; - //to here at END - @Test(expected = IllegalArgumentException.class) - public void testMoveNoop() - { - - toNextTokenOfType(m_xc1, TokenType.START); - toNextTokenOfType(m_xc, TokenType.END); - try { + try (XmlCursor m_xc = cur(XML); XmlCursor m_xc1 = cur(TARGET)) { + toNextTokenOfType(m_xc1, TokenType.START); + toNextTokenOfType(m_xc, TokenType.COMMENT); m_xc.moveXml(m_xc1); - fail(" need IllegalArgumentException"); - } catch (IllegalArgumentException e) {} - toPrevTokenOfType(m_xc, TokenType.STARTDOC); - toPrevTokenOfType(m_xc1, TokenType.STARTDOC); - - toNextTokenOfType(m_xc1, TokenType.START); - toNextTokenOfType(m_xc, TokenType.ENDDOC); - m_xc.moveXml(m_xc1); + toPrevTokenOfType(m_xc, TokenType.STARTDOC); + toPrevTokenOfType(m_xc1, TokenType.STARTDOC); + assertEquals(sExpectedSrc, m_xc.xmlText()); + assertEquals("<!--BOOK COMMENT--><target/>", m_xc1.xmlText()); + + + //copy the namespace declaration exlplicitly + toNextTokenOfType(m_xc1, TokenType.END); + toNextTokenOfType(m_xc, TokenType.NAMESPACE); + m_xc.moveXml(m_xc1); + toPrevTokenOfType(m_xc, TokenType.STARTDOC); + toPrevTokenOfType(m_xc1, TokenType.STARTDOC); + assertEquals("<!--BOOK COMMENT--><target xmlns:bk=\"urn:loc.gov:books\"/>", m_xc1.xmlText()); + assertEquals(sExpectedSrc, m_xc.xmlText()); + } } + //to here at END @Test - public void testInvalidToCursorPos() - { - //position the cursor within a tag <a <movedXML/>...</a> - toNextTokenOfType(m_xc, TokenType.START);//m_xc on book at0 - assertTrue(m_xc.toFirstAttribute()); //at0 in book - toNextTokenOfType(m_xc1, TokenType.START); - try { - if (m_xc1.moveXml(m_xc)) { + void testMoveNoop() throws XmlException { + try (XmlCursor m_xc = cur(XML); XmlCursor m_xc1 = cur(TARGET)) { + toNextTokenOfType(m_xc1, TokenType.START); + toNextTokenOfType(m_xc, TokenType.END); + assertThrows(IllegalArgumentException.class, () -> m_xc.moveXml(m_xc1)); + toPrevTokenOfType(m_xc, TokenType.STARTDOC); + toPrevTokenOfType(m_xc1, TokenType.STARTDOC); + + toNextTokenOfType(m_xc1, TokenType.START); + toNextTokenOfType(m_xc, TokenType.ENDDOC); + assertThrows(IllegalArgumentException.class, () -> m_xc.moveXml(m_xc1)); + } + } - fail("Should not be able to move the XML here "); - } - } catch (Exception e) { - System.err.println(e.getMessage()); + @Test + void testInvalidToCursorPos() throws XmlException { + try (XmlCursor m_xc = cur(XML); XmlCursor m_xc1 = cur(TARGET)) { + //position the cursor within a tag <a <movedXML/>...</a> + toNextTokenOfType(m_xc, TokenType.START);//m_xc on book at0 + assertTrue(m_xc.toFirstAttribute()); //at0 in book + toNextTokenOfType(m_xc1, TokenType.START); + assertThrows(Exception.class, () -> m_xc1.moveXml(m_xc)); } } @Test - public void testMovedAttrNameCollision() throws Exception - { + void testMovedAttrNameCollision() throws Exception { - try (XmlCursor m_xc2 = XmlObject.Factory.parse(sTestXml).newCursor()) { + try (XmlCursor m_xc = cur(XML); XmlCursor m_xc1 = cur(XML)) { toNextTokenOfType(m_xc, TokenType.START);//m_xc on book at0 - toNextTokenOfType(m_xc2, TokenType.START); - toNextTokenOfType(m_xc2, TokenType.START); - //toNextTokenOfType(m_xc2,TokenType.END);//to author - assertTrue(m_xc2.toFirstAttribute()); + toNextTokenOfType(m_xc1, TokenType.START); + toNextTokenOfType(m_xc1, TokenType.START); + //toNextTokenOfType(m_xc1,TokenType.END);//to author + assertTrue(m_xc1.toFirstAttribute()); assertTrue(m_xc.toFirstAttribute()); //at0 in book - if (m_xc.moveXml(m_xc2)) { - toPrevTokenOfType(m_xc2, TokenType.START); - m_xc2.toFirstAttribute(); - assertEquals(m_xc2.getName().getLocalPart(), "at0"); - assertTrue(m_xc2.toNextAttribute()); - assertEquals(m_xc2.getName().getLocalPart(), "at0"); + if (m_xc.moveXml(m_xc1)) { + toPrevTokenOfType(m_xc1, TokenType.START); + m_xc1.toFirstAttribute(); + assertEquals("at0", m_xc1.getName().getLocalPart()); + assertTrue(m_xc1.toNextAttribute()); + assertEquals("at0", m_xc1.getName().getLocalPart()); } } } @@ -135,56 +107,32 @@ public class MoveXmlTest2 extends BasicC * $NOTE: legal here */ @Test - public void testInvalidXml() - { - toNextTokenOfType(m_xc, TokenType.START); - toNextTokenOfType(m_xc1, TokenType.START); - assertTrue(m_xc.moveXml(m_xc1)); + void testInvalidXml() throws XmlException { + try (XmlCursor m_xc = cur(XML); XmlCursor m_xc1 = cur(TARGET)) { + toNextTokenOfType(m_xc, TokenType.START); + toNextTokenOfType(m_xc1, TokenType.START); + assertTrue(m_xc.moveXml(m_xc1)); + } } @Test - public void testNull() - { - toNextTokenOfType(m_xc, TokenType.START); - try { - m_xc.moveXml(null); - fail("toHere null"); - } catch (Exception e) { - System.err.println(e.getMessage()); + void testNull() throws XmlException { + try (XmlCursor m_xc = cur(XML)) { + toNextTokenOfType(m_xc, TokenType.START); + assertThrows(Exception.class, () -> m_xc.moveXml(null)); } } @Test - public void testSelf() - { - String sExpectedResult = m_xc.xmlText(); - toNextTokenOfType(m_xc, TokenType.START); - try { - + void testSelf() throws XmlException { + try (XmlCursor m_xc = cur(XML)) { + String sExpectedResult = m_xc.xmlText(); + toNextTokenOfType(m_xc, TokenType.START); if (m_xc.moveXml(m_xc)) { m_xc.toStartDoc(); assertEquals(sExpectedResult, m_xc.xmlText()); } - } catch (Exception e) { - System.err.println(e.getMessage()); } } - @Before - public void setUp() throws Exception - { - m_xc = XmlObject.Factory.parse(sTestXml).newCursor(); - String sTargetXml = "<target></target>"; - m_xc1 = XmlObject.Factory.parse(sTargetXml).newCursor(); - } - - @After - public void tearDown() throws Exception - { - super.tearDown(); - if (m_xc1 != null) { - m_xc1.close(); - m_xc1 = null; - } - } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyFromCursorTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyFromCursorTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyFromCursorTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyFromCursorTest.java Sun Feb 6 01:51:55 2022 @@ -19,108 +19,92 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; import org.apache.xmlbeans.XmlError; -import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlOptions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.tranxml.tranXML.version40.CarLocationMessageDocument; import org.tranxml.tranXML.version40.CodeList309; import org.tranxml.tranXML.version40.GeographicLocationDocument.GeographicLocation; import org.tranxml.tranXML.version40.LocationIdentifierDocument.LocationIdentifier; -import tools.util.JarUtil; import xmlcursor.common.Common; import java.util.ArrayList; +import java.util.List; +import java.util.stream.Stream; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.jobj; public class MultipleCopyFromCursorTest { @Test - public void testMultipleCopy() throws Exception { - CarLocationMessageDocument clm = - (CarLocationMessageDocument) XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); + void testMultipleCopy() throws Exception { + CarLocationMessageDocument clm = (CarLocationMessageDocument)jobj(Common.TRANXML_FILE_CLM); assertNotNull(clm); - XmlCursor[] aCursors = new XmlCursor[3]; try (XmlCursor xc = clm.newCursor()) { - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + - "$this//GeographicLocation"); + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); xc.toNextSelection(); - for (int i = 0; i < 3; i++) { - aCursors[i] = xc.newCursor(); - xc.toNextSelection(); - } - xc.toStartDoc(); - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + - "$this//GeographicLocation"); - assertTrue(xc.getSelectionCount() > 0); - assertTrue(xc.toNextSelection()); - aCursors[0].toLastChild(); - assertEquals("TX", aCursors[0].getTextValue()); - - aCursors[0].toNextToken(); - aCursors[0].toNextToken(); - aCursors[0].toNextToken(); - aCursors[0].toNextToken(); - assertEquals(TokenType.END, aCursors[0].currentTokenType()); - - aCursors[0].beginElement("LocationIdentifier", - "http://www.tranxml.org/TranXML/Version4.0"); - aCursors[0].insertAttributeWithValue("Qualifier", "FR"); - aCursors[0].toEndToken(); - aCursors[0].toNextToken();//move past the end token - aCursors[0].insertElementWithText("CountrySubdivisionCode", - "http://www.tranxml.org/TranXML/Version4.0", - "xyz"); - aCursors[0].toCursor(xc); - GeographicLocation gl = (GeographicLocation) aCursors[0].getObject(); - XmlOptions validateOptions = new XmlOptions(); - ArrayList errors = new ArrayList(); - validateOptions.setErrorListener(errors); - try { - assertTrue(gl.validate(validateOptions)); - } catch (Throwable t) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < errors.size(); i++) { - XmlError error = (XmlError) errors.get(i); - - sb.append("Message: " + error.getMessage() + "\n"); - if (error.getCursorLocation() != null) - System.out.println("Location of invalid XML: " + - error.getCursorLocation().xmlText() + "\n"); - } - throw new Exception(" Validation failed " + sb.toString()); - } - assertEquals("DALLAS", gl.getCityName().getStringValue()); - assertEquals("TX", gl.getStateOrProvinceCode()); - LocationIdentifier li = gl.getLocationIdentifier(); - assertNotNull("Cursor0: LocationIdentifier unexpectedly null", li); - assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); - assertEquals("xyz", gl.getCountrySubdivisionCode()); - - - for (int i = 1; i < 3; i++) { - aCursors[i].removeXml(); - aCursors[0].copyXml(aCursors[i]); - // must move to PrevElement to get to the START of the copied section. - aCursors[i].toPrevSibling(); - - gl = (GeographicLocation) aCursors[i].getObject(); + try (XmlCursor x0 = nextSel(xc); XmlCursor x1 = nextSel(xc); XmlCursor x2 = nextSel(xc)) { + Stream.of(x0, x1, x2).forEach(XmlCursor::toNextSelection); + xc.toStartDoc(); + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); + assertTrue(xc.getSelectionCount() > 0); + assertTrue(xc.toNextSelection()); + x0.toLastChild(); + assertEquals("TX", x0.getTextValue()); + + x0.toNextToken(); + x0.toNextToken(); + x0.toNextToken(); + x0.toNextToken(); + assertEquals(TokenType.END, x0.currentTokenType()); + + x0.beginElement("LocationIdentifier", "http://www.tranxml.org/TranXML/Version4.0"); + x0.insertAttributeWithValue("Qualifier", "FR"); + x0.toEndToken(); + x0.toNextToken();//move past the end token + x0.insertElementWithText("CountrySubdivisionCode", "http://www.tranxml.org/TranXML/Version4.0", "xyz"); + x0.toCursor(xc); + GeographicLocation gl = (GeographicLocation) x0.getObject(); + XmlOptions validateOptions = new XmlOptions(); + List<XmlError> errors = new ArrayList<>(); + validateOptions.setErrorListener(errors); + assertTrue(gl.validate(validateOptions)); assertEquals("DALLAS", gl.getCityName().getStringValue()); assertEquals("TX", gl.getStateOrProvinceCode()); - li = gl.getLocationIdentifier(); - assertNotNull("Cursor " + i + ": LocationIdentifier unexpectedly null", li); + LocationIdentifier li = gl.getLocationIdentifier(); + assertNotNull(li, "Cursor0: LocationIdentifier unexpectedly null"); assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); assertEquals("xyz", gl.getCountrySubdivisionCode()); + + + for (XmlCursor cur : new XmlCursor[]{x1, x2}) { + cur.removeXml(); + x0.copyXml(cur); + // must move to PrevElement to get to the START of the copied section. + cur.toPrevSibling(); + + gl = (GeographicLocation) cur.getObject(); + + assertEquals("DALLAS", gl.getCityName().getStringValue()); + assertEquals("TX", gl.getStateOrProvinceCode()); + li = gl.getLocationIdentifier(); + assertNotNull(li, "Cursor: LocationIdentifier unexpectedly null"); + assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); + assertEquals("xyz", gl.getCountrySubdivisionCode()); + } } + } + } + + private static XmlCursor nextSel(XmlCursor xc) { + try { + return xc.newCursor(); } finally { - for (int i = 0; i < 3; i++) { - aCursors[i].close(); - } + xc.toNextSelection(); } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCopyTest.java Sun Feb 6 01:51:55 2022 @@ -17,61 +17,61 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; -import org.apache.xmlbeans.XmlObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.tranxml.tranXML.version40.CarLocationMessageDocument; import org.tranxml.tranXML.version40.CodeList309; import org.tranxml.tranXML.version40.GeographicLocationDocument.GeographicLocation; import org.tranxml.tranXML.version40.LocationIdentifierDocument.LocationIdentifier; -import tools.util.JarUtil; import xmlcursor.common.Common; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static xmlcursor.common.BasicCursorTestCase.jobj; public class MultipleCopyTest { @Test - public void testMultipleCopy() throws Exception { - CarLocationMessageDocument clm = - (CarLocationMessageDocument) XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); + void testMultipleCopy() throws Exception { + CarLocationMessageDocument clm = (CarLocationMessageDocument) jobj(Common.TRANXML_FILE_CLM); assertNotNull(clm); - XmlCursor[] aCursors = new XmlCursor[3]; + try (XmlCursor xc = clm.newCursor()) { - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + - "$this//GeographicLocation"); + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); xc.toNextSelection(); - GeographicLocation gl = (GeographicLocation) xc.getObject(); - for (int i = 0; i < 3; i++) { - aCursors[i] = xc.newCursor(); - xc.toNextSelection(); - } - LocationIdentifier li = gl.addNewLocationIdentifier(); - li.setQualifier(CodeList309.FR); - gl.setLocationIdentifier(li); - assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); + try (XmlCursor x0 = nextSel(xc); XmlCursor x1 = nextSel(xc); XmlCursor x2 = nextSel(xc)) { - gl.setCountrySubdivisionCode("xyz"); + LocationIdentifier li = gl.addNewLocationIdentifier(); + li.setQualifier(CodeList309.FR); - for (int i = 1; i < 3; i++) { - aCursors[i].removeXml(); - aCursors[0].copyXml(aCursors[i]); - // must move to PrevElement to get to the START of the copied section. - aCursors[i].toPrevSibling(); + gl.setLocationIdentifier(li); + assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); - gl = (GeographicLocation) aCursors[i].getObject(); + gl.setCountrySubdivisionCode("xyz"); - assertEquals("DALLAS", gl.getCityName().getStringValue()); - assertEquals("TX", gl.getStateOrProvinceCode()); - assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); - assertEquals("xyz", gl.getCountrySubdivisionCode()); + for (XmlCursor cur : new XmlCursor[]{x1, x2}) { + cur.removeXml(); + x0.copyXml(cur); + // must move to PrevElement to get to the START of the copied section. + cur.toPrevSibling(); + + gl = (GeographicLocation) cur.getObject(); + + assertEquals("DALLAS", gl.getCityName().getStringValue()); + assertEquals("TX", gl.getStateOrProvinceCode()); + assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); + assertEquals("xyz", gl.getCountrySubdivisionCode()); + } } + } + } + + private static XmlCursor nextSel(XmlCursor xc) { + try { + return xc.newCursor(); } finally { - for (int i = 0; i < 3; i++) { - aCursors[i].close(); - } + xc.toNextSelection(); } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCursorSetTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCursorSetTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCursorSetTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/MultipleCursorSetTest.java Sun Feb 6 01:51:55 2022 @@ -18,58 +18,57 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlString; -import org.junit.Test; -import tools.util.JarUtil; +import org.junit.jupiter.api.Test; import xmlcursor.common.Common; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.jcur; public class MultipleCursorSetTest { @Test - public void testMultipleCursorSet() throws Exception { - XmlCursor[] aCursors = new XmlCursor[6]; - XmlString xs; - try (XmlCursor xc = XmlObject.Factory.parse(JarUtil.getResourceFromJar( - Common.TRANXML_FILE_CLM)).newCursor()) { - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + - "$this//EquipmentNumber"); + void testMultipleCursorSet() throws Exception { + + try (XmlCursor xc = jcur(Common.TRANXML_FILE_CLM)) { + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//EquipmentNumber"); xc.toNextSelection(); - xs = (XmlString) xc.getObject(); + final XmlString xs = (XmlString) xc.getObject(); assertEquals("123456", xs.getStringValue()); assertEquals(TokenType.TEXT, xc.toNextToken()); - for (int i = 0; i < 6; i++) { - xc.toNextChar(1); - aCursors[i] = xc.newCursor(); - } - } - for (int i = 0; i < 6; i++) { - for (int j = 0; j != i && j < 6; j++) { - assertFalse(aCursors[i].isAtSamePositionAs(aCursors[j])); - } - } - xs.setStringValue("XYZ"); - for (int i = 0; i < 6; i++) { - for (int j = 0; j < 6; j++) { - assertTrue(aCursors[i].isAtSamePositionAs(aCursors[j])); - } - // System.out.println(aCursors[i].currentTokenType()); - // assertEquals(null, aCursors[i].getTextValue()); - try { - - aCursors[i].getTextValue(); - fail("Expecting IllegalStateException"); - } catch (IllegalStateException e) { + try (XmlCursor x0 = nextCur(xc); + XmlCursor x1 = nextCur(xc); + XmlCursor x2 = nextCur(xc); + XmlCursor x3 = nextCur(xc); + XmlCursor x4 = nextCur(xc); + XmlCursor x5 = nextCur(xc); + ) { + xc.close(); + + XmlCursor[] aCursors = { x0, x1, x2, x3, x4, x5 }; + for (XmlCursor cur1 : aCursors) { + for (XmlCursor cur2 : aCursors) { + if (cur1 != cur2) { + assertFalse(cur1.isAtSamePositionAs(cur2)); + } + } + } + xs.setStringValue("XYZ"); + for (XmlCursor cur1 : aCursors) { + for (XmlCursor cur2 : aCursors) { + assertTrue(cur1.isAtSamePositionAs(cur2)); + } + assertThrows(IllegalStateException.class, cur1::getTextValue); + } + assertEquals("XYZ", xs.getStringValue()); } - - } - assertEquals("XYZ", xs.getStringValue()); - } + private static XmlCursor nextCur(XmlCursor xc) { + xc.toNextChar(1); + return xc.newCursor(); + } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/NamespaceForPrefixTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/NamespaceForPrefixTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/NamespaceForPrefixTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/NamespaceForPrefixTest.java Sun Feb 6 01:51:55 2022 @@ -16,124 +16,113 @@ package xmlcursor.detailed; +import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor.TokenType; -import org.apache.xmlbeans.XmlObject; -import org.junit.Test; -import tools.util.JarUtil; -import xmlcursor.common.BasicCursorTestCase; +import org.junit.jupiter.api.Test; import xmlcursor.common.Common; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.*; +import static xmlcursor.common.BasicCursorTestCase.*; -public class NamespaceForPrefixTest extends BasicCursorTestCase { +public class NamespaceForPrefixTest { @Test - public void testNamespaceForPrefixFromSTARTDOC() throws Exception { - m_xo = XmlObject.Factory.parse("<foo xmlns=\"nsa\">text</foo>"); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc.insertNamespace("pre1", "uri1"); - m_xc.insertNamespace("pre2", "uri2"); - m_xc.insertNamespace("pre3", "uri3"); - m_xc.insertNamespace(null, "uridefault"); - m_xc.toStartDoc(); - assertEquals("uri1", m_xc.namespaceForPrefix("pre1")); - assertEquals("uri2", m_xc.namespaceForPrefix("pre2")); - assertEquals("uri3", m_xc.namespaceForPrefix("pre3")); - } - - @Test - public void testNamespaceForPrefixFromSTARTDOCInvalid() throws Exception { - m_xo = XmlObject.Factory.parse("<foo xmlns=\"nsa\">text</foo>"); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc.insertNamespace("pre1", "uri1"); - m_xc.insertNamespace("pre2", "uri2"); - m_xc.insertNamespace("pre3", "uri3"); - m_xc.insertNamespace(null, "uridefault"); - m_xc.toStartDoc(); - assertNull(m_xc.namespaceForPrefix("pre4")); - } - - @Test - public void testNamespaceForPrefixFromSTARTDOCNull() throws Exception { - m_xo = XmlObject.Factory.parse("<foo xmlns=\"nsa\">text</foo>"); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc.insertNamespace("pre1", "uri1"); - m_xc.insertNamespace("pre2", "uri2"); - m_xc.insertNamespace("pre3", "uri3"); - m_xc.insertNamespace(null, "uridefault"); - m_xc.toStartDoc(); - assertEquals("uridefault", m_xc.namespaceForPrefix(null)); - } - - @Test - public void testNamespaceForPrefixFromSTARTDOCEmptyString() throws Exception { - m_xo = XmlObject.Factory.parse("<foo xmlns=\"nsa\">text</foo>"); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc.insertNamespace("pre1", "uri1"); - m_xc.insertNamespace("pre2", "uri2"); - m_xc.insertNamespace("pre3", "uri3"); - m_xc.insertNamespace(null, "uridefault"); - m_xc.toStartDoc(); - assertEquals("uridefault", m_xc.namespaceForPrefix("")); - } - - @Test - public void testNamespaceForPrefixFromSTART() throws Exception { - m_xo = XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - assertEquals("http://www.w3.org/2000/10/XMLSchema-instance", - m_xc.namespaceForPrefix("xsi")); - } - - @Test - public void testNamespaceForPrefixFromSTARTdefaultNamespace() throws Exception { - m_xo = XmlObject.Factory.parse( - JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - assertEquals("http://www.tranxml.org/TranXML/Version4.0", - m_xc.namespaceForPrefix("")); - } - - @Test(expected = IllegalStateException.class) - public void testNamespaceForPrefixFromATTR() throws Exception { - m_xo = XmlObject.Factory.parse("<foo xmlns=\"nsa\"><bar attr0=\"val0\">text</bar></foo>"); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc.insertNamespace("pre1", "uri1"); - m_xc.insertNamespace("pre2", "uri2"); - m_xc.insertNamespace("pre3", "uri3"); - m_xc.insertNamespace(null, "uridefault"); - m_xc.toStartDoc(); - m_xc.selectPath("declare default element namespace \"nsa\";" + "$this//bar"); - m_xc.toNextSelection(); - m_xc.toFirstAttribute(); - - m_xc.namespaceForPrefix(null); - //assertEquals("nsa", m_xc.namespaceForPrefix(null)); - // assertEquals("uri1", m_xc.namespaceForPrefix("pre1")); - } - - @Test(expected = IllegalStateException.class) - public void testNamespaceForPrefixFromEND() throws Exception { - m_xo = XmlObject.Factory.parse("<foo xmlns=\"nsa\"><bar attr0=\"val0\">text</bar></foo>"); - m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - System.out.println("i am here " + m_xc.currentTokenType()); - m_xc.insertNamespace("pre1", "uri1"); - m_xc.insertNamespace("pre2", "uri2"); - m_xc.insertNamespace("pre3", "uri3"); - m_xc.insertNamespace(null, "uridefault"); - toNextTokenOfType(m_xc, TokenType.END); - m_xc.namespaceForPrefix(null); - // assertEquals("nsa", m_xc.namespaceForPrefix(null)); - // assertEquals("uri1", m_xc.namespaceForPrefix("pre1")); + void testNamespaceForPrefixFromSTARTDOC() throws Exception { + try (XmlCursor m_xc = cur("<foo xmlns=\"nsa\">text</foo>")) { + m_xc.toFirstChild(); + m_xc.insertNamespace("pre1", "uri1"); + m_xc.insertNamespace("pre2", "uri2"); + m_xc.insertNamespace("pre3", "uri3"); + m_xc.insertNamespace(null, "uridefault"); + m_xc.toStartDoc(); + assertEquals("uri1", m_xc.namespaceForPrefix("pre1")); + assertEquals("uri2", m_xc.namespaceForPrefix("pre2")); + assertEquals("uri3", m_xc.namespaceForPrefix("pre3")); + } + } + + @Test + void testNamespaceForPrefixFromSTARTDOCInvalid() throws Exception { + try (XmlCursor m_xc = cur("<foo xmlns=\"nsa\">text</foo>")) { + m_xc.toFirstChild(); + m_xc.insertNamespace("pre1", "uri1"); + m_xc.insertNamespace("pre2", "uri2"); + m_xc.insertNamespace("pre3", "uri3"); + m_xc.insertNamespace(null, "uridefault"); + m_xc.toStartDoc(); + assertNull(m_xc.namespaceForPrefix("pre4")); + } + } + + @Test + void testNamespaceForPrefixFromSTARTDOCNull() throws Exception { + try (XmlCursor m_xc = cur("<foo xmlns=\"nsa\">text</foo>")) { + m_xc.toFirstChild(); + m_xc.insertNamespace("pre1", "uri1"); + m_xc.insertNamespace("pre2", "uri2"); + m_xc.insertNamespace("pre3", "uri3"); + m_xc.insertNamespace(null, "uridefault"); + m_xc.toStartDoc(); + assertEquals("uridefault", m_xc.namespaceForPrefix(null)); + } + } + + @Test + void testNamespaceForPrefixFromSTARTDOCEmptyString() throws Exception { + try (XmlCursor m_xc = cur("<foo xmlns=\"nsa\">text</foo>")) { + m_xc.toFirstChild(); + m_xc.insertNamespace("pre1", "uri1"); + m_xc.insertNamespace("pre2", "uri2"); + m_xc.insertNamespace("pre3", "uri3"); + m_xc.insertNamespace(null, "uridefault"); + m_xc.toStartDoc(); + assertEquals("uridefault", m_xc.namespaceForPrefix("")); + } + } + + @Test + void testNamespaceForPrefixFromSTART() throws Exception { + try (XmlCursor m_xc = jcur(Common.TRANXML_FILE_CLM)) { + m_xc.toFirstChild(); + assertEquals("http://www.w3.org/2000/10/XMLSchema-instance", m_xc.namespaceForPrefix("xsi")); + } + } + + @Test + void testNamespaceForPrefixFromSTARTdefaultNamespace() throws Exception { + try (XmlCursor m_xc = jcur(Common.TRANXML_FILE_CLM)) { + m_xc.toFirstChild(); + assertEquals("http://www.tranxml.org/TranXML/Version4.0", m_xc.namespaceForPrefix("")); + } + } + + @Test + void testNamespaceForPrefixFromATTR() throws Exception { + try (XmlCursor m_xc = cur("<foo xmlns=\"nsa\"><bar attr0=\"val0\">text</bar></foo>")) { + m_xc.toFirstChild(); + m_xc.insertNamespace("pre1", "uri1"); + m_xc.insertNamespace("pre2", "uri2"); + m_xc.insertNamespace("pre3", "uri3"); + m_xc.insertNamespace(null, "uridefault"); + m_xc.toStartDoc(); + m_xc.selectPath("declare default element namespace \"nsa\";" + "$this//bar"); + m_xc.toNextSelection(); + m_xc.toFirstAttribute(); + assertThrows(IllegalStateException.class, () -> m_xc.namespaceForPrefix(null)); + } + } + + @Test + void testNamespaceForPrefixFromEND() throws Exception { + try (XmlCursor m_xc = cur("<foo xmlns=\"nsa\"><bar attr0=\"val0\">text</bar></foo>")) { + m_xc.toFirstChild(); + System.out.println("i am here " + m_xc.currentTokenType()); + m_xc.insertNamespace("pre1", "uri1"); + m_xc.insertNamespace("pre2", "uri2"); + m_xc.insertNamespace("pre3", "uri3"); + m_xc.insertNamespace(null, "uridefault"); + toNextTokenOfType(m_xc, TokenType.END); + assertThrows(IllegalStateException.class, () -> m_xc.namespaceForPrefix(null)); + } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/ObjectCursorInteractionTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/ObjectCursorInteractionTest.java?rev=1897795&r1=1897794&r2=1897795&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/detailed/ObjectCursorInteractionTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/ObjectCursorInteractionTest.java Sun Feb 6 01:51:55 2022 @@ -17,45 +17,44 @@ package xmlcursor.detailed; import org.apache.xmlbeans.XmlCursor; +import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import test.xbean.xmlcursor.location.LocationDocument; import test.xbean.xmlcursor.location.LocationDocument.Location; -import xmlcursor.common.Common; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; public class ObjectCursorInteractionTest { @Test - public void testObjectNullEffectOnCursor() throws Exception { - String sNamespace = ""; + void testObjectNullEffectOnCursor() throws Exception { + try (XmlCursor xc0 = getLocCursor()) { + xc0.toFirstChild(); + assertEquals("DALLAS", xc0.getTextValue()); + } + } + + private static XmlCursor getLocCursor() throws XmlException { String sXml = - "<loc:Location xmlns:loc=\"http://xbean.test/xmlcursor/Location\"" - + sNamespace + - "><loc:CityName>DALLAS</loc:CityName><StateCode>TX</StateCode>" + + "<loc:Location xmlns:loc=\"http://xbean.test/xmlcursor/Location\">" + + "<loc:CityName>DALLAS</loc:CityName><StateCode>TX</StateCode>" + "</loc:Location>"; - - // LocationDocument locDoc = (LocationDocument) XmlObject.Factory.parse(sXml); LocationDocument locDoc = LocationDocument.Factory.parse(sXml); Location loc = locDoc.getLocation(); - try (XmlCursor xc0 = loc.newCursor()) { - assertEquals("DALLAS", loc.getCityName()); - loc = null; - System.gc(); - Thread.sleep(1000); - xc0.toFirstChild(); - assertEquals("DALLAS", xc0.getTextValue()); - } + assertEquals("DALLAS", loc.getCityName()); + // the reference to loc is gone after the method returns + // this test used to be a combination of setting loc = null and then running System.gc() and waiting 1 sec. + // ... this is the equivalent + return loc.newCursor(); } @Test - public void testCursorCloseEffectOnObject() throws Exception { + void testCursorCloseEffectOnObject() throws Exception { String sNamespace = "xmlns:loc=\"http://xbean.test/xmlcursor/Location\""; String sXml = "<loc:Location " + sNamespace + ">" + "<loc:CityName>DALLAS</loc:CityName><loc:StateCode>TX</loc:StateCode></loc:Location>"; - LocationDocument locDoc = LocationDocument.Factory.parse( - sXml); + LocationDocument locDoc = LocationDocument.Factory.parse(sXml); assertTrue(locDoc.validate()); Location loc0 = locDoc.getLocation(); Location loc1 = locDoc.getLocation(); @@ -77,94 +76,37 @@ public class ObjectCursorInteractionTest } @Test - public void testObjectRefAssignmentEffectOnCursor() throws Exception { - String sXml0 = + void testObjectRefAssignmentEffectOnCursor() throws Exception { + final String sXml0 = "<loc:Location xmlns:loc=\"http://xbean.test/xmlcursor/Location\">" + "<loc:CityName>DALLAS</loc:CityName>" + "<loc:StateCode>TX</loc:StateCode>" + "</loc:Location>"; - String sXml1 = + final String sXml1 = "<loc:Location xmlns:loc=\"http://xbean.test/xmlcursor/Location\">" + "<loc:PostalCode>90210</loc:PostalCode>" + "<loc:CountryCode>US</loc:CountryCode>" + "</loc:Location>"; - LocationDocument locDoc0 = LocationDocument.Factory.parse( - sXml0); - Location loc0 = locDoc0.getLocation(); - XmlCursor xc0 = loc0.newCursor(); - - LocationDocument locDoc1 = (LocationDocument) XmlObject.Factory.parse( - sXml1); - Location loc1 = locDoc1.getLocation(); + final LocationDocument locDoc0 = LocationDocument.Factory.parse(sXml0); + final Location loc0 = locDoc0.getLocation(); assertEquals("DALLAS", loc0.getCityName()); assertEquals("TX", loc0.getStateCode()); assertNull(loc0.getPostalCode()); assertNull(loc0.getCountryCode()); - loc0 = loc1; + final LocationDocument locDoc1 = (LocationDocument) XmlObject.Factory.parse(sXml1); + final Location loc1 = locDoc1.getLocation(); - assertNull(loc0.getCityName()); - assertNull(loc0.getStateCode()); - assertEquals("90210", loc0.getPostalCode()); - assertEquals("US", loc0.getCountryCode()); + assertNull(loc1.getCityName()); + assertNull(loc1.getStateCode()); + assertEquals("90210", loc1.getPostalCode()); + assertEquals("US", loc1.getCountryCode()); - try { + try (XmlCursor xc0 = loc0.newCursor(); XmlCursor xc1 = loc1.newCursor()) { assertEquals(sXml0, xc0.xmlText()); - xc0 = loc0.newCursor(); - assertEquals(sXml1, xc0.xmlText()); - } finally { - xc0.close(); + assertEquals(sXml1, xc1.xmlText()); } } - - @Test - public void testCursorRefAssignmentEffectOnObject() throws Exception { - String sXml0 = - "<loc:Location xmlns:loc=\"http://xbean.test/xmlcursor/Location\">" + - "<loc:CityName>DALLAS</loc:CityName>" + - "<loc:StateCode>TX</loc:StateCode>" + - "</loc:Location>"; - LocationDocument locDoc0 = LocationDocument.Factory.parse( - sXml0); - Location loc0 = locDoc0.getLocation(); - XmlCursor xc0 = loc0.newCursor(); - - String sXml1 = - "<loc:Location xmlns:loc=\"http://xbean.test/xmlcursor/Location\">" + - "<loc:PostalCode>90210</loc:PostalCode>" + - "<loc:CountryCode>US</loc:CountryCode>" + - "</loc:Location>"; - LocationDocument locDoc1 = LocationDocument.Factory.parse( - sXml1); - Location loc1 = locDoc1.getLocation(); - XmlCursor xc1 = loc1.newCursor(); - - try { - assertEquals("DALLAS", loc0.getCityName()); - assertEquals("TX", loc0.getStateCode()); - assertNull(loc0.getPostalCode()); - assertNull(loc0.getCountryCode()); - - xc0 = xc1; - - assertEquals("DALLAS", loc0.getCityName()); - assertEquals("TX", loc0.getStateCode()); - assertNull(loc0.getPostalCode()); - assertNull(loc0.getCountryCode()); - - loc0 = (Location) xc0.getObject(); - - assertNull(loc0.getCityName()); - assertNull(loc0.getStateCode()); - assertEquals("90210", loc0.getPostalCode()); - assertEquals("US", loc0.getCountryCode()); - - } finally { - xc0.close(); - xc1.close(); - } - } - } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org