You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2019/01/18 23:08:48 UTC
svn commit: r1851656 [16/28] - in /xmlbeans/trunk: ./ external/ lib/
resources/ resources/typeimpl/ resources/typeimpl/org/
resources/typeimpl/org/apache/ resources/typeimpl/org/apache/xmlbeans/
resources/typeimpl/org/apache/xmlbeans/impl/ resources/ty...
Modified: xmlbeans/trunk/test/src/xmlcursor/checkin/StoreTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/test/src/xmlcursor/checkin/StoreTests.java?rev=1851656&r1=1851655&r2=1851656&view=diff
==============================================================================
--- xmlbeans/trunk/test/src/xmlcursor/checkin/StoreTests.java (original)
+++ xmlbeans/trunk/test/src/xmlcursor/checkin/StoreTests.java Fri Jan 18 23:08:44 2019
@@ -15,236 +15,177 @@
package xmlcursor.checkin;
+import org.apache.xmlbeans.*;
import org.apache.xmlbeans.XmlCursor.TokenType;
import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlSaxHandler;
-import org.apache.xmlbeans.XmlLineNumber;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.impl.common.XmlNameImpl;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-import java.util.Iterator;
-import java.util.TreeSet;
+import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.xml.sax.*;
+import org.xml.sax.ext.LexicalHandler;
+import xmlcursor.common.Common;
+
import javax.xml.namespace.QName;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.apache.xmlbeans.xml.stream.Attribute;
-import org.apache.xmlbeans.xml.stream.AttributeIterator;
-import org.apache.xmlbeans.xml.stream.ChangePrefixMapping;
-import org.apache.xmlbeans.xml.stream.CharacterData;
-import org.apache.xmlbeans.xml.stream.Comment;
-import org.apache.xmlbeans.xml.stream.EndDocument;
-import org.apache.xmlbeans.xml.stream.EndElement;
-import org.apache.xmlbeans.xml.stream.EndPrefixMapping;
-import org.apache.xmlbeans.xml.stream.StartDocument;
-import org.apache.xmlbeans.xml.stream.StartElement;
-import org.apache.xmlbeans.xml.stream.StartPrefixMapping;
-import org.apache.xmlbeans.xml.stream.XMLEvent;
-import org.apache.xmlbeans.xml.stream.XMLInputStream;
-import org.apache.xmlbeans.xml.stream.XMLName;
+import java.io.StringReader;
+import java.util.*;
+import static org.junit.Assert.*;
-import xmlcursor.common.Common;
-
-public class StoreTests extends TestCase
-{
- public StoreTests(String name) { super(name); }
- public static Test suite() { return new TestSuite(StoreTests.class); }
+public class StoreTests {
static String[] _args;
static String _test;
-
- private void streamTest ( String xml )
- throws Exception
- {
- XmlObject x1 = XmlObject.Factory.parse( xml );
- XmlObject x2 = XmlObject.Factory.parse( x1.newCursor().newXMLStreamReader() );
+ private void streamTest(String xml)
+ throws Exception {
+ XmlObject x1 = XmlObject.Factory.parse(xml);
+ XmlObject x2 = XmlObject.Factory.parse(x1.newCursor().newXMLStreamReader());
String x1Text = x1.xmlText();
String x2Text = x2.xmlText();
- Assert.assertTrue( x1Text.equals( x2Text ) );
+ assertEquals(x1Text, x2Text);
+ }
+
+ @Test
+ public void testXMLStreamReader() throws Exception {
+ streamTest("<a/>");
+ streamTest("<a x='y'/>");
+ streamTest("<a><b>foo</b></a>");
+ streamTest("<a><b>fo<!--moo-->o<?goof ball?>dsfdf</b></a>");
+ streamTest("<a xmlns='nnn'></a>");
+ streamTest("<a x='y'><!---->x<b/><c p='q'>z</c></a>");
+ streamTest("<a x='y'><!----><b>moo</b><c p='q'></c></a>");
+ streamTest("<a>asa<b/>sdsd<c>aaz</c>adsasd</a>");
+ streamTest("<a><?target value?></a>");
+ streamTest("<n:a xmlns:n='nnn'></n:a>");
+ streamTest("<j:a x='y' p='q' xmlns:j='k'></j:a>");
+ streamTest("<foo xmlns=\"foo.com\"><bar>1</bar></foo>");
+ streamTest("<foo><!--comment--><?target foo?></foo>");
+ streamTest("<foo>a<bar>b</bar>c<bar>d</bar>e</foo>");
+ streamTest("<foo xmlns:x=\"y\"><bar xmlns:x=\"z\"/></foo>");
+ streamTest("<foo x=\"y\" p=\"r\"/>");
}
- public void testXMLStreamReader ( )
- throws Exception
- {
- streamTest( "<a/>" );
- streamTest( "<a x='y'/>" );
- streamTest( "<a><b>foo</b></a>" );
- streamTest( "<a><b>fo<!--moo-->o<?goof ball?>dsfdf</b></a>" );
- streamTest( "<a xmlns='nnn'></a>" );
- streamTest( "<a x='y'><!---->x<b/><c p='q'>z</c></a>" );
- streamTest( "<a x='y'><!----><b>moo</b><c p='q'></c></a>" );
- streamTest( "<a>asa<b/>sdsd<c>aaz</c>adsasd</a>" );
- streamTest( "<a><?target value?></a>" );
- streamTest( "<n:a xmlns:n='nnn'></n:a>" );
- streamTest( "<j:a x='y' p='q' xmlns:j='k'></j:a>" );
- streamTest( "<foo xmlns=\"foo.com\"><bar>1</bar></foo>" );
- streamTest( "<foo><!--comment--><?target foo?></foo>" );
- streamTest( "<foo>a<bar>b</bar>c<bar>d</bar>e</foo>" );
- streamTest( "<foo xmlns:x=\"y\"><bar xmlns:x=\"z\"/></foo>" );
- streamTest( "<foo x=\"y\" p=\"r\"/>" );
- }
-
- public void testReplaceContents ( )
- throws Exception
- {
+ @Test
+ public void testReplaceContents() throws Exception {
XmlObject xDst = XmlObject.Factory.newInstance();
- XmlObject xSrc = XmlObject.Factory.parse( "<foo/>" );
- XmlObject newDst = xDst.set( xSrc );
- Assert.assertTrue( newDst.xmlText().equals( "<foo/>" ) );
-
- xDst = XmlObject.Factory.parse( "<bar/>" );
- xSrc = XmlObject.Factory.parse( "<foo/>" );
+ XmlObject xSrc = XmlObject.Factory.parse("<foo/>");
+ XmlObject newDst = xDst.set(xSrc);
+ assertEquals("<foo/>", newDst.xmlText());
+
+ xDst = XmlObject.Factory.parse("<bar/>");
+ xSrc = XmlObject.Factory.parse("<foo/>");
XmlCursor c = xDst.newCursor();
c.toNextToken();
xDst = c.getObject();
- xDst.set( xSrc );
+ xDst.set(xSrc);
c.toStartDoc();
xDst = c.getObject();
- Assert.assertTrue( xDst.xmlText().equals( "<bar><foo/></bar>" ) );
+ assertEquals("<bar><foo/></bar>", xDst.xmlText());
- xDst = XmlObject.Factory.parse( "<bar x='y'/>" );
- xSrc = XmlObject.Factory.parse( "<foo>moo</foo>" );
+ xDst = XmlObject.Factory.parse("<bar x='y'/>");
+ xSrc = XmlObject.Factory.parse("<foo>moo</foo>");
c = xDst.newCursor();
c.toNextToken();
c.toNextToken();
xDst = c.getObject();
- xDst.set( xSrc );
+ xDst.set(xSrc);
c.toStartDoc();
xDst = c.getObject();
- Assert.assertTrue( xDst.xmlText().equals( "<bar x=\"moo\"/>" ) );
+ assertEquals("<bar x=\"moo\"/>", xDst.xmlText());
}
-
- public void testSniffing ( )
- throws Exception
- {
+
+ @Test(expected = Exception.class)
+ public void testSniffing() throws Exception {
XmlObject x;
-
- x = XmlObject.Factory.parse( "<xoo/>" );
- Assert.assertTrue( x.schemaType() == XmlBeans.NO_TYPE );
-
+
+ x = XmlObject.Factory.parse("<xoo/>");
+ assertSame(x.schemaType(), XmlBeans.NO_TYPE);
+
x = XmlObject.Factory.parse(
- "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>" );
- Assert.assertTrue(
- x.schemaType() == org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.type );
+ "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>");
+ assertSame(x.schemaType(), SchemaDocument.type);
x = XmlObject.Factory.parse(
- "<schema xmlns='http://www.w3.org/2001/XMLSchema/moo'/>" );
- Assert.assertTrue( x.schemaType() == XmlBeans.NO_TYPE );
+ "<schema xmlns='http://www.w3.org/2001/XMLSchema/moo'/>");
+ assertSame(x.schemaType(), XmlBeans.NO_TYPE);
x = XmlObject.Factory.parse(
- "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>" );
- Assert.assertTrue(
- x.schemaType() == org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.type );
+ "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>");
+ assertSame(x.schemaType(), SchemaDocument.type);
x = org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.Factory.parse(
- "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>" );
- Assert.assertTrue(
- x.schemaType() == org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.type );
+ "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>");
+ assertSame(x.schemaType(), SchemaDocument.type);
- try {
- x =
- org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.Factory.parse(
- "<schema xmlns='http://www.w3.org/2001/XMLSchema/moo'/>" );
- Assert.assertTrue( false );
- }
- catch ( Throwable e ) { }
- }
-
- public void testCursorStack ( )
- throws Exception
- {
- XmlObject x = XmlObject.Factory.parse( "<foo x='y'/>" );
+ org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.Factory.parse(
+ "<schema xmlns='http://www.w3.org/2001/XMLSchema/moo'/>");
+ }
+
+ @Test
+ public void testCursorStack() throws Exception {
+ XmlObject x = XmlObject.Factory.parse("<foo x='y'/>");
XmlCursor c = x.newCursor();
c.push();
c.toNextToken();
c.push();
c.toNextToken();
- Assert.assertTrue( c.isAttr() );
+ assertTrue(c.isAttr());
c.pop();
- Assert.assertTrue( c.isStart() );
+ assertTrue(c.isStart());
c.pop();
- Assert.assertTrue( c.isStartdoc() );
+ assertTrue(c.isStartdoc());
}
-
- public void testImplicitNamespaces ( )
- throws Exception
- {
- Map namespaces = new HashMap();
- namespaces.put( "foo", "foo.com" );
- namespaces.put( "bar", "bar.com" );
- namespaces.put( "", "default.com" );
+
+ @Test
+ public void testImplicitNamespaces() throws Exception {
+ Map<String,String> namespaces = new HashMap<String,String>();
+ namespaces.put("foo", "foo.com");
+ namespaces.put("bar", "bar.com");
+ namespaces.put("", "default.com");
XmlOptions options = new XmlOptions();
- options.put( XmlOptions.SAVE_IMPLICIT_NAMESPACES, namespaces );
+ options.put(XmlOptions.SAVE_IMPLICIT_NAMESPACES, namespaces);
XmlObject x = XmlObject.Factory.newInstance();
XmlCursor c = x.newCursor();
c.toNextToken();
- c.beginElement( "a", "foo.com" );
- c.beginElement( "b", "default.com" );
- c.beginElement( "c", "bar.com" );
+ c.beginElement("a", "foo.com");
+ c.beginElement("b", "default.com");
+ c.beginElement("c", "bar.com");
- Assert.assertTrue(
- x.xmlText( options ).equals( "<foo:a><b><bar:c/></b></foo:a>" ) );
+ assertEquals("<foo:a><b><bar:c/></b></foo:a>", x.xmlText(options));
}
- private static class Content implements ContentHandler, LexicalHandler
- {
- public void startDocument ( ) throws SAXException
- {
- add( "START_DOCUMENT" );
+ private static class Content implements ContentHandler, LexicalHandler {
+ public void startDocument() {
+ add("START_DOCUMENT");
}
- public void endDocument ( ) throws SAXException
- {
- add( "END_DOCUMENT" );
+ public void endDocument() {
+ add("END_DOCUMENT");
}
- public void startElement (
+ public void startElement(
String namespaceURI, String localName,
- String qName, Attributes atts )
- throws SAXException
- {
- add( "START_ELEMENT" );
- add( " namespaceURI: " + namespaceURI );
- add( " localName: " + localName );
+ String qName, Attributes atts) {
+ add("START_ELEMENT");
+ add(" namespaceURI: " + namespaceURI);
+ add(" localName: " + localName);
// add( " qName: " + qName );
TreeSet sortedAttrs = new TreeSet();
- for ( int i = 0 ; i < atts.getLength() ; i++ )
- {
- String ln = atts.getLocalName( i );
- String uri = atts.getURI( i );
- String qname = atts.getQName( i );
+ for (int i = 0; i < atts.getLength(); i++) {
+ String ln = atts.getLocalName(i);
+ String uri = atts.getURI(i);
+ String qname = atts.getQName(i);
if (ln.equals("xmlns"))
continue;
@@ -259,397 +200,295 @@ public class StoreTests extends TestCase
sortedAttrs.add(
uri + "-" + ln + "-" +
- atts.getQName( i ) + "-" + atts.getType( i ) + "-" +
- atts.getValue( i ) );
+ atts.getQName(i) + "-" + atts.getType(i) + "-" +
+ atts.getValue(i));
}
- for ( Iterator i = sortedAttrs.iterator() ; i.hasNext() ; )
- add( " Attr: " + i.next() );
+ for (Iterator i = sortedAttrs.iterator(); i.hasNext(); )
+ add(" Attr: " + i.next());
}
- public void endElement (
- String namespaceURI, String localName, String qName )
- throws SAXException
- {
- add( "END_ELEMENT" );
- add( " namespaceURI: " + namespaceURI );
- add( " localName: " + localName );
+ public void endElement(
+ String namespaceURI, String localName, String qName) {
+ add("END_ELEMENT");
+ add(" namespaceURI: " + namespaceURI);
+ add(" localName: " + localName);
// add( " qName: " + qName );
}
- public void characters ( char ch[], int start, int length )
- throws SAXException
- {
- if (length > 0)
- {
- add( "CHARACTERS" );
- add( ch, start, length );
+ public void characters(char[] ch, int start, int length) {
+ if (length > 0) {
+ add("CHARACTERS");
+ add(ch, start, length);
}
}
- public void comment ( char ch[], int start, int length )
- throws SAXException
- {
- add( "COMMENT" );
- add( " Comment: ", ch, start, length );
- }
-
- public void processingInstruction ( String target, String data )
- throws SAXException
- {
- add( "PROCESSING_INSTRUCTION" );
- add( "target: " + target );
- add( "data: " + data );
- }
-
- public void ignorableWhitespace ( char ch[], int start, int length )
- throws SAXException
- {
- if (length > 0)
- {
- add( "IGNORABLE_WHITESPACE" );
- add( " whitespace: ", ch, start, length );
+ public void comment(char[] ch, int start, int length) {
+ add("COMMENT");
+ add(" Comment: ", ch, start, length);
+ }
+
+ public void processingInstruction(String target, String data) {
+ add("PROCESSING_INSTRUCTION");
+ add("target: " + target);
+ add("data: " + data);
+ }
+
+ public void ignorableWhitespace(char[] ch, int start, int length) {
+ if (length > 0) {
+ add("IGNORABLE_WHITESPACE");
+ add(" whitespace: ", ch, start, length);
}
}
-
- public void startPrefixMapping ( String prefix, String uri )
- throws SAXException
- {
- add( "START_PREFIX_MAPPING" );
+
+ public void startPrefixMapping(String prefix, String uri) {
+ add("START_PREFIX_MAPPING");
// add( " prefix: " + prefix );
- add( " uri: " + uri );
+ add(" uri: " + uri);
}
-
- public void endPrefixMapping ( String prefix ) throws SAXException
- {
- add( "END_PREFIX_MAPPING" );
+
+ public void endPrefixMapping(String prefix) {
+ add("END_PREFIX_MAPPING");
// add( " prefix: " + prefix );
}
-
- public void startCDATA ( ) throws SAXException
- {
- add( "START_CDATA" );
- }
-
- public void endCDATA ( ) throws SAXException
- {
- add( "END_CDATA" );
- }
-
- public void startDTD ( String name, String publicId, String systemId )
- throws SAXException
- {
- add( "START_DTD" );
- add( " name: " + name );
- add( " publicId: " + publicId );
- add( " systemId: " + systemId );
- }
-
- public void endDTD ( ) throws SAXException
- {
- add( "END_DTD" );
- }
-
- public void startEntity ( String name ) throws SAXException
- {
- add( "START_ENTITY" );
- add( " name: " + name );
- }
-
- public void endEntity ( String name ) throws SAXException
- {
- add( "END_ENTITY" );
- add( " name: " + name );
- }
-
- public void setDocumentLocator ( Locator locator )
- {
+
+ public void startCDATA() {
+ add("START_CDATA");
+ }
+
+ public void endCDATA() {
+ add("END_CDATA");
+ }
+
+ public void startDTD(String name, String publicId, String systemId) {
+ add("START_DTD");
+ add(" name: " + name);
+ add(" publicId: " + publicId);
+ add(" systemId: " + systemId);
+ }
+
+ public void endDTD() {
+ add("END_DTD");
+ }
+
+ public void startEntity(String name) {
+ add("START_ENTITY");
+ add(" name: " + name);
+ }
+
+ public void endEntity(String name) {
+ add("END_ENTITY");
+ add(" name: " + name);
+ }
+
+ public void setDocumentLocator(Locator locator) {
// add( "START_DOCUMENT_LOCATOR" );
}
- public void skippedEntity ( String name ) throws SAXException
- {
- add( "SKIPPED_ENTITY" );
- add( " name: " + name );
+ public void skippedEntity(String name) {
+ add("SKIPPED_ENTITY");
+ add(" name: " + name);
}
- private void add ( String s )
- {
- _sb.append( s );
- _sb.append( "\n" );
- }
-
- private void add ( String s, char[] buf, int off, int cch )
- {
- _sb.append( s );
+ private void add(String s) {
+ _sb.append(s);
+ _sb.append("\n");
+ }
+
+ private void add(String s, char[] buf, int off, int cch) {
+ _sb.append(s);
if (buf != null)
- _sb.append( buf, off, cch );
- _sb.append( "\n" );
+ _sb.append(buf, off, cch);
+ _sb.append("\n");
+ }
+
+ private void add(char[] buf, int off, int cch) {
+ _sb.append(buf, off, cch);
+ _sb.append("\n");
}
-
- private void add ( char[] buf, int off, int cch )
- {
- _sb.append( buf, off, cch );
- _sb.append( "\n" );
- }
-
- public boolean equals ( Object that )
- {
- return toString().equals( that.toString() );
+
+ public boolean equals(Object that) {
+ return toString().equals(that.toString());
}
- public String toString ( )
- {
+ public String toString() {
return _sb.toString();
}
private StringBuffer _sb = new StringBuffer();
}
-
- public void doTestSaxSaver ( String xml )
- throws Exception
- {
+
+ private void doTestSaxSaver(String xml)
+ throws Exception {
// ME
-
+
Content content2 = new Content();
- XmlObject x = XmlObject.Factory.parse( xml );
+ XmlObject x = XmlObject.Factory.parse(xml);
- x.save( content2, content2 );
+ x.save(content2, content2);
// THEM
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
-
+
XMLReader xr = sp.getXMLReader();
-
+
Content content1 = new Content();
-
- xr.setProperty( "http://xml.org/sax/properties/lexical-handler", content1 );
- xr.setFeature( "http://xml.org/sax/features/namespace-prefixes", true );
- xr.setFeature( "http://xml.org/sax/features/namespaces", true );
- xr.setFeature( "http://xml.org/sax/features/validation", false );
-
- xr.setContentHandler( content1 );
-
- InputSource is = new InputSource( new StringReader( xml ) );
-
- xr.parse( is );
-
-
- if (!content1.equals( content2 ))
- {
- System.err.println( "SAX save failure: " );
- System.err.println( xml );
- System.err.println();
-
- System.err.println( "SAX: " );
- System.err.println( content1.toString() );
- System.err.println();
-
- System.err.println( "ME: " );
- System.err.println( content2.toString() );
- System.err.println();
-
- Assert.assertTrue( false );
- }
- }
-
- public void testSaxSaver ( )
- throws Exception
- {
- doTestSaxSaver( "<a xmlns='nnn'></a>" );
- doTestSaxSaver( "<a x='y'><!---->x<b/><c p='q'>z</c></a>" );
- doTestSaxSaver( "<a x='y'><!----><b>moo</b><c p='q'></c></a>" );
- doTestSaxSaver( "<a>asa<b/>sdsd<c>aaz</c>adsasd</a>" );
- doTestSaxSaver( "<a><?target value?></a>" );
- doTestSaxSaver( "<n:a xmlns:n='nnn'></n:a>" );
- doTestSaxSaver( "<j:a x='y' p='q' xmlns:j='k'></j:a>" );
- }
-
- public void __testParsing ( )
- throws Exception
- {
- Random r = new Random( 1 );
-
- for ( int i = 0 ; i < 100000 ; i++ )
- {
- String xml = makeRandomDocument( r );
-// System.err.println( "Starting..." );
-//
-// System.err.println( xml );
+ xr.setProperty("http://xml.org/sax/properties/lexical-handler", content1);
+ xr.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
+ xr.setFeature("http://xml.org/sax/features/namespaces", true);
+ xr.setFeature("http://xml.org/sax/features/validation", false);
- try
- {
- XmlObject.Factory.parse( xml );
- }
- catch ( Throwable e )
- {
- System.err.println( "Failed parse test:" );
- e.printStackTrace();
- System.err.println( xml );
-
- OutputStream os = new FileOutputStream( "c:\\ee.xml" );
- PrintStream ps = new PrintStream( os );
- ps.println( xml );
- ps.close();
- os.close();
+ xr.setContentHandler(content1);
- throw (RuntimeException) e;
- }
-
-// System.err.println( "Finished..." );
+ InputSource is = new InputSource(new StringReader(xml));
+
+ xr.parse(is);
+
+ assertEquals(content1, content2);
+ }
+
+ @Test
+ public void testSaxSaver()
+ throws Exception {
+ doTestSaxSaver("<a xmlns='nnn'></a>");
+ doTestSaxSaver("<a x='y'><!---->x<b/><c p='q'>z</c></a>");
+ doTestSaxSaver("<a x='y'><!----><b>moo</b><c p='q'></c></a>");
+ doTestSaxSaver("<a>asa<b/>sdsd<c>aaz</c>adsasd</a>");
+ doTestSaxSaver("<a><?target value?></a>");
+ doTestSaxSaver("<n:a xmlns:n='nnn'></n:a>");
+ doTestSaxSaver("<j:a x='y' p='q' xmlns:j='k'></j:a>");
+ }
+
+ @Test
+ @Ignore
+ public void testParsing() throws Exception {
+ Random r = new Random(1);
+
+ for (int i = 0; i < 100000; i++) {
+ String xml = makeRandomDocument(r);
+ XmlObject.Factory.parse(xml);
}
}
- public void doTestLineNumbers ( String xml )
- throws Exception
- {
+ private void doTestLineNumbers(String xml)
+ throws Exception {
int line = 1;
int col = 1;
XmlCursor c =
XmlObject.Factory.parse(
- xml, new XmlOptions().setLoadLineNumbers() ).
- newCursor();
+ xml, new XmlOptions().setLoadLineNumbers()).
+ newCursor();
- for ( int i = 0 ; i < xml.length() ; i++ )
- {
- char ch = xml.charAt( i );
+ for (int i = 0; i < xml.length(); i++) {
+ char ch = xml.charAt(i);
- if (ch == '<' && Character.isLetter( xml.charAt( i + 1 ) ) )
- {
+ if (ch == '<' && Character.isLetter(xml.charAt(i + 1))) {
while (!c.currentTokenType().isStart())
c.toNextToken();
- Assert.assertTrue( c.currentTokenType().isStart() );
-
+ assertTrue(c.currentTokenType().isStart());
+
XmlLineNumber ln =
(XmlLineNumber)
- c.getBookmark( XmlLineNumber.class );
+ c.getBookmark(XmlLineNumber.class);
+
+ assertNotNull(ln);
- Assert.assertTrue( ln != null );
+ assertTrue(ln.getLine() == -1 || ln.getLine() == line);
+ assertTrue(ln.getColumn() == -1 || ln.getColumn() == col);
+ assertTrue(ln.getOffset() == -1 || ln.getOffset() == i);
- Assert.assertTrue( ln.getLine() == -1 || ln.getLine() == line );
- Assert.assertTrue( ln.getColumn() == -1 || ln.getColumn() == col );
- Assert.assertTrue( ln.getOffset() == -1 || ln.getOffset() == i );
-
c.toNextToken();
}
- if (ch == '\n')
- {
+ if (ch == '\n') {
line++;
- col= 1;
- }
- else
+ col = 1;
+ } else
col++;
}
}
-
- public void __testLineNumbers ( )
- throws Exception
- {
- Random r = new Random( 1 );
-
- for ( int i = 0 ; i < 1000 ; i++ )
- {
- String xml = makeRandomDocument( r );
-
-// System.err.println( "Starting..." );
-//
-// System.err.println( xml );
- try
- {
- doTestLineNumbers( xml );
- }
- catch ( Throwable e )
- {
- System.err.println( "Failed line number test:" );
- System.err.println( xml );
-
- OutputStream os = new FileOutputStream( "c:\\ee.xml" );
- PrintStream ps = new PrintStream( os );
- ps.println( xml );
- ps.close();
- os.close();
+ @Test
+ @Ignore
+ public void testLineNumbers() throws Exception {
+ Random r = new Random(1);
- throw (RuntimeException) e;
- }
-
-// System.err.println( "Finished..." );
+ for (int i = 0; i < 1000; i++) {
+ String xml = makeRandomDocument(r);
+ doTestLineNumbers(xml);
}
}
- private static class DocBuilder
- {
+ private static class DocBuilder {
Random r;
StringBuffer sb;
-
- DocBuilder ( Random _r, StringBuffer _sb )
- {
+
+ DocBuilder(Random _r, StringBuffer _sb) {
r = _r;
sb = _sb;
}
- void append ( char ch )
- {
- sb.append( ch );
- }
-
- void append ( String s )
- {
- sb.append( s );
+ void append(char ch) {
+ sb.append(ch);
+ }
+
+ void append(String s) {
+ sb.append(s);
}
- public void whitespace ( )
- {
- int p = r.nextInt( 100 );
+ public void whitespace() {
+ int p = r.nextInt(100);
if (p < 20)
- append( '\t' );
+ append('\t');
else if (p < 40)
- append( '\n' );
+ append('\n');
else
- append( ' ' );
+ append(' ');
}
- public void whitespaces ( )
- {
- for ( int i = r.nextInt( 8 ) ; i > 0 ; i-- )
+ void whitespaces() {
+ for (int i = r.nextInt(8); i > 0; i--)
whitespace();
}
- public char makeLetter ( )
- {
- return (char) (((int) 'a') + r.nextInt( 26 ));
- }
-
- public void letter ( )
- {
- append( makeLetter() );
- }
-
- public void charEntity ( )
- {
- switch ( r.nextInt( 5 ) )
- {
- case 0 : append( "<" ); break;
- case 1 : append( ">" ); break;
- case 2 : append( "&" ); break;
- case 3 : append( "'" ); break;
- case 4 : append( """ ); break;
+ char makeLetter() {
+ return (char) (((int) 'a') + r.nextInt(26));
+ }
+
+ public void letter() {
+ append(makeLetter());
+ }
+
+ void charEntity() {
+ switch (r.nextInt(5)) {
+ case 0:
+ append("<");
+ break;
+ case 1:
+ append(">");
+ break;
+ case 2:
+ append("&");
+ break;
+ case 3:
+ append("'");
+ break;
+ case 4:
+ append(""");
+ break;
}
}
-
- public void text ( )
- {
- for ( int i = r.nextInt( 20 ) ; i > 0 ; i-- )
- {
- int p = r.nextInt( 100 );
+
+ public void text() {
+ for (int i = r.nextInt(20); i > 0; i--) {
+ int p = r.nextInt(100);
if (p < 70)
letter();
@@ -660,59 +499,51 @@ public class StoreTests extends TestCase
}
}
- public String makeNcName ( )
- {
- StringBuffer name = new StringBuffer();
-
- for ( ; ; )
- {
+ String makeNcName() {
+ StringBuilder name = new StringBuilder();
+
+ for (; ; ) {
char ch = makeLetter();
if (ch == 'x' || ch == 'X')
continue;
- name.append( ch );
+ name.append(ch);
break;
}
-
- for ( int i = r.nextInt( 20 ) ; i > 0 ; i-- )
- name.append( makeLetter() );
+
+ for (int i = r.nextInt(20); i > 0; i--)
+ name.append(makeLetter());
return name.toString();
}
- public void ncName ( )
- {
- append( makeNcName() );
+ void ncName() {
+ append(makeNcName());
}
- public void comment ( )
- {
- append( "<!--" );
+ public void comment() {
+ append("<!--");
text();
- append( "-->" );
+ append("-->");
}
-
- public void procinst ( )
- {
- append( "<?" );
+
+ public void procinst() {
+ append("<?");
ncName();
- if (r.nextInt( 100 ) < 90)
- {
+ if (r.nextInt(100) < 90) {
whitespace();
text();
}
- append( "?>" );
+ append("?>");
}
- public void whiteContent ( )
- {
- for ( ; ; )
- {
- int p = r.nextInt( 100 );
+ void whiteContent() {
+ for (; ; ) {
+ int p = r.nextInt(100);
if (p < 20)
break;
@@ -724,270 +555,254 @@ public class StoreTests extends TestCase
procinst();
}
}
-
- public void xmlDecl ( )
- {
- append( "<?xml version=\"1.0\"?>" );
- }
-
- public void content ( int depth )
- {
- for ( int i = r.nextInt( 10 ) ; i > 0 ; i-- )
- {
- switch ( r.nextInt( 4 ) )
- {
- case 0 :
- elementContent( depth + 1 );
- break;
-
- case 1 : text(); break;
- case 2 : comment(); break;
- case 3 : procinst(); break;
+
+ void xmlDecl() {
+ append("<?xml version=\"1.0\"?>");
+ }
+
+ public void content(int depth) {
+ for (int i = r.nextInt(10); i > 0; i--) {
+ switch (r.nextInt(4)) {
+ case 0:
+ elementContent(depth + 1);
+ break;
+
+ case 1:
+ text();
+ break;
+ case 2:
+ comment();
+ break;
+ case 3:
+ procinst();
+ break;
}
}
}
-
- public void attribute ( )
- {
+
+ public void attribute() {
ncName();
-
- if (r.nextInt( 100 ) == 0)
+
+ if (r.nextInt(100) == 0)
whitespaces();
- append( '=' );
-
- if (r.nextInt( 100 ) == 0)
+ append('=');
+
+ if (r.nextInt(100) == 0)
whitespaces();
- char q = r.nextInt( 2 ) == 0 ? '\'' : '"';
+ char q = r.nextInt(2) == 0 ? '\'' : '"';
- append( q );
+ append(q);
text();
-
- append( q );
+
+ append(q);
}
-
- public void elementContent ( int depth )
- {
+
+ void elementContent(int depth) {
// If depth == 0, guarantee an element, otherwise, as depth
// increases, the probablility we'll spit out an element
// gets smaller.
- if (r.nextInt( depth + 1 ) <= 1)
- {
+ if (r.nextInt(depth + 1) <= 1) {
String name = makeNcName();
- append( '<' );
- append( name );
+ append('<');
+ append(name);
- if (r.nextInt( 100 ) == 0)
+ if (r.nextInt(100) == 0)
whitespaces();
HashMap attrs = new HashMap();
-
- for ( int i = r.nextInt( 3 ) ; i > 0 ; i-- )
- {
- append( ' ' );
-
+
+ for (int i = r.nextInt(3); i > 0; i--) {
+ append(' ');
+
String aname;
- for ( ; ; )
- {
+ for (; ; ) {
aname = makeNcName();
-
- if (!attrs.containsKey( aname ))
+
+ if (!attrs.containsKey(aname))
break;
}
- attrs.put( aname, null );
+ attrs.put(aname, null);
- append( aname );
+ append(aname);
- if (r.nextInt( 100 ) == 0)
+ if (r.nextInt(100) == 0)
whitespaces();
- append( '=' );
+ append('=');
- if (r.nextInt( 100 ) == 0)
+ if (r.nextInt(100) == 0)
whitespaces();
- char q = r.nextInt( 2 ) == 0 ? '\'' : '"';
+ char q = r.nextInt(2) == 0 ? '\'' : '"';
- append( q );
+ append(q);
text();
- append( q );
-
- if (r.nextInt( 10 ) == 0)
+ append(q);
+
+ if (r.nextInt(10) == 0)
whitespaces();
}
- append( '>' );
+ append('>');
+
+ content(depth);
- content( depth );
+ append("</");
+ append(name);
- append( "</" );
- append( name );
-
- if (r.nextInt( 100 ) == 0)
+ if (r.nextInt(100) == 0)
whitespaces();
- append( '>' );
+ append('>');
}
}
-
- public void document ( )
- {
- if (r.nextInt( 2 ) == 0)
+
+ public void document() {
+ if (r.nextInt(2) == 0)
xmlDecl();
-
+
whiteContent();
-
- elementContent( 0 );
-
+
+ elementContent(0);
+
whiteContent();
}
}
-
- public String makeRandomDocument ( Random r )
- {
+
+ private String makeRandomDocument(Random r) {
StringBuffer sb = new StringBuffer();
- DocBuilder db = new DocBuilder( r, sb );
+ DocBuilder db = new DocBuilder(r, sb);
db.document();
return sb.toString();
}
-
- /*public void testThatAssertIsOn ( )
- {
- try
- {
- assert false;
- Assert.assertTrue( false );
- }
- catch ( Throwable e )
- {
- }
- }
- */
- static class MyMark extends XmlBookmark
- {
+ private static class MyMark extends XmlBookmark {
}
- public void testBookmarks ( )
- throws Exception
- {
- XmlObject x = XmlObject.Factory.parse( "<foo x='y'>abcdefg<!---->xy</foo>" );
-
+ @Test
+ public void testBookmarks()
+ throws Exception {
+ XmlObject x = XmlObject.Factory.parse("<foo x='y'>abcdefg<!---->xy</foo>");
+
XmlCursor c = x.newCursor();
- MyMark m1 = new MyMark(); c.setBookmark( m1 );
-
+ MyMark m1 = new MyMark();
+ c.setBookmark(m1);
+
c.toNextToken();
- MyMark m2 = new MyMark(); c.setBookmark( m2 );
-
+ MyMark m2 = new MyMark();
+ c.setBookmark(m2);
+
c.toNextToken();
- MyMark m3 = new MyMark(); c.setBookmark( m3 );
-
+ MyMark m3 = new MyMark();
+ c.setBookmark(m3);
+
c.toNextToken();
- MyMark m4 = new MyMark(); c.setBookmark( m4 );
-
- c.toNextChar( 1 );
- MyMark m5 = new MyMark(); c.setBookmark( m5 );
-
- c.toNextChar( 3 );
- MyMark m6 = new MyMark(); c.setBookmark( m6 );
+ MyMark m4 = new MyMark();
+ c.setBookmark(m4);
+
+ c.toNextChar(1);
+ MyMark m5 = new MyMark();
+ c.setBookmark(m5);
+
+ c.toNextChar(3);
+ MyMark m6 = new MyMark();
+ c.setBookmark(m6);
c.toNextToken();
c.toNextToken();
c.toNextToken();
- MyMark m7 = new MyMark(); c.setBookmark( m7 );
-
+ MyMark m7 = new MyMark();
+ c.setBookmark(m7);
+
c.toNextToken();
- MyMark m8 = new MyMark(); c.setBookmark( m8 );
+ MyMark m8 = new MyMark();
+ c.setBookmark(m8);
c.toStartDoc();
- Assert.assertTrue( c.getBookmark ( MyMark.class ) == m1 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m2 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m3 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m4 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m5 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m6 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m7 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m8 );
- Assert.assertTrue( c.toNextBookmark( MyMark.class ) == null );
-
+ assertSame(c.getBookmark(MyMark.class), m1);
+ assertSame(c.toNextBookmark(MyMark.class), m2);
+ assertSame(c.toNextBookmark(MyMark.class), m3);
+ assertSame(c.toNextBookmark(MyMark.class), m4);
+ assertSame(c.toNextBookmark(MyMark.class), m5);
+ assertSame(c.toNextBookmark(MyMark.class), m6);
+ assertSame(c.toNextBookmark(MyMark.class), m7);
+ assertSame(c.toNextBookmark(MyMark.class), m8);
+ assertNull(c.toNextBookmark(MyMark.class));
+
c.toEndDoc();
-
- Assert.assertTrue( c.getBookmark ( MyMark.class ) == m8 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m7 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m6 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m5 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m4 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m3 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m2 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m1 );
- Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == null );
- }
-
- public void testSetName( )
- throws Exception
- {
- XmlObject x = XmlObject.Factory.parse( "<foo x='a'/>" );
+
+ assertSame(c.getBookmark(MyMark.class), m8);
+ assertSame(c.toPrevBookmark(MyMark.class), m7);
+ assertSame(c.toPrevBookmark(MyMark.class), m6);
+ assertSame(c.toPrevBookmark(MyMark.class), m5);
+ assertSame(c.toPrevBookmark(MyMark.class), m4);
+ assertSame(c.toPrevBookmark(MyMark.class), m3);
+ assertSame(c.toPrevBookmark(MyMark.class), m2);
+ assertSame(c.toPrevBookmark(MyMark.class), m1);
+ assertNull(c.toPrevBookmark(MyMark.class));
+ }
+
+ @Test
+ public void testSetName()
+ throws Exception {
+ XmlObject x = XmlObject.Factory.parse("<foo x='a'/>");
XmlCursor c = x.newCursor();
c.toNextToken();
- c.setName( new QName( "bar" ) );
+ c.setName(new QName("bar"));
c.toNextToken();
- c.setName( new QName( "y" ) );
+ c.setName(new QName("y"));
- Assert.assertTrue( x.xmlText().equals( "<bar y=\"a\"/>" ) );
+ assertEquals("<bar y=\"a\"/>", x.xmlText());
}
-
+
//
// Basic load up a file and iterate through it
//
-
-
- public void testBasicXml( )
- throws Exception
- {
+ @Test
+ public void testBasicXml()
+ throws Exception {
XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
int n = 0;
-
- for ( ; ; )
- {
+
+ for (; ; ) {
TokenType t = c.toNextToken();
n++;
-
+
if (t == TokenType.NONE)
break;
}
-
- Assert.assertTrue( n == 6 );
+
+ assertEquals(6, n);
}
//
// Make sure the tokens going forward the the reverse of the tokens
// going backward
//
-
- public void testConsistentTokenOrder( )
- throws Exception
- {
- ArrayList l = new ArrayList();
+ @Test
+ public void testConsistentTokenOrder()
+ throws Exception {
+ ArrayList<TokenType> l = new ArrayList<TokenType>();
XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
- for ( ; ; )
- {
+ for (; ; ) {
// System.err.println(c.currentTokenType());
l.add(c.currentTokenType());
@@ -998,183 +813,114 @@ public class StoreTests extends TestCase
c.toEndDoc();
// System.err.println("Reversing");
- for ( int i = l.size() - 1 ; ; i-- )
- {
+ for (int i = l.size() - 1; ; i--) {
// System.err.println(c.currentTokenType());
- Assert.assertEquals(l.get(i), c.currentTokenType());
+ assertEquals(l.get(i), c.currentTokenType());
if (c.toPrevToken() == TokenType.NONE)
break;
}
}
- //
// Make sure you can't insert text before the doc begin
// going backward
- //
-
- public void testIllegalTextInsert( )
- throws Exception
- {
+ @Test(expected = IllegalStateException.class)
+ public void testIllegalTextInsert()
+ throws Exception {
XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
-
-
- try
- {
- c.insertChars( "Ho ho ho" );
- }
- catch (IllegalStateException e)
- {
- return;
- }
-
- Assert.assertTrue("Did not catch IllegalStateException", false);
+ c.insertChars("Ho ho ho");
}
- //
// Make sure getText works in a basic way
- //
-
- public void testgetText( )
- throws Exception
- {
+ @Test
+ public void testgetText()
+ throws Exception {
XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
-
-
- Assert.assertTrue( c.getTextValue().equals( "ab" ) ); // Doc node
+ assertEquals("ab", c.getTextValue()); // Doc node
c.toNextToken();
- Assert.assertTrue( c.getTextValue().equals( "ab" ) ); // Doc elem
+ assertEquals("ab", c.getTextValue()); // Doc elem
c.toNextToken();
- Assert.assertTrue( c.getTextValue().equals( "y" ) ); // Attr x
+ assertEquals("y", c.getTextValue()); // Attr x
c.toNextToken();
- Assert.assertTrue( c.getChars().equals( "ab" ) ); // Text
+ assertEquals("ab", c.getChars()); // Text
- c.toNextChar( 1 );
- Assert.assertTrue( c.getChars().equals( "b" ) ); // Text
+ c.toNextChar(1);
+ assertEquals("b", c.getChars()); // Text
c.toNextToken();
- Assert.assertTrue( c.getChars().length() == 0 ); // End tag
+ assertEquals(0, c.getChars().length()); // End tag
c.toNextToken();
- Assert.assertTrue( c.getChars().length() == 0 ); // End doc
+ assertEquals(0, c.getChars().length()); // End doc
}
//
// Text XMLInputStream support
//
- private void assertName (
- XMLName name, String uri, String local, String prefix )
- {
- Assert.assertTrue( local != null );
-
- String nameUri = name.getNamespaceUri();
- String nameLocal = name.getLocalName();
- String namePrefix = name.getPrefix();
-
- if (uri == null)
- Assert.assertTrue( nameUri == null );
- else
- Assert.assertTrue( nameUri.equals( uri ) );
-
- if (local == null)
- Assert.assertTrue( nameLocal == null );
- else
- Assert.assertTrue( nameLocal.equals( local ) );
-
- if (prefix == null)
- Assert.assertTrue( namePrefix == null );
- else
- Assert.assertTrue( namePrefix.equals( prefix ) );
-
- if (prefix != null)
- {
- String qName = prefix + ":" + local;
- Assert.assertTrue( name.getQualifiedName().equals( qName ) );
- }
- else
- Assert.assertTrue( name.getQualifiedName().equals( local ) );
- }
-
- private void doXmlStreamTest ( String xml )
- throws Exception
- {
- XmlCursor c = XmlObject.Factory.parse( xml ).newCursor();
- XMLInputStream xmlStream = c.newXMLInputStream();
- XmlObject o = XmlObject.Factory.parse( xmlStream );
- Assert.assertTrue( o.xmlText().equals( xml ) );
- }
-
- private void doSaverTest ( String xml )
- throws Exception
- {
- XmlCursor c = XmlObject.Factory.parse( xml ).newCursor();
- Assert.assertEquals( xml, c.xmlText() );
- }
-
- private void doSaveTest ( String xml )
- throws Exception
- {
- doSaverTest( xml );
+ private void doSaverTest(String xml) throws Exception {
+ XmlCursor c = XmlObject.Factory.parse(xml).newCursor();
+ assertEquals(xml, c.xmlText());
}
- public void testCDATA() throws Exception
- {
+ private void doSaveTest(String xml) throws Exception {
+ doSaverTest(xml);
+ }
+
+ @Test
+ public void testCDATA() throws Exception {
// https://issues.apache.org/jira/browse/XMLBEANS-404
String xml = "<foo>Unable to render embedded object: <![CDATA[>>>>>>>><<<<<<<<<<<]]></foo>";
String expected = "<foo><![CDATA[Unable to render embedded object: >>>>>>>><<<<<<<<<<<]]></foo>";
XmlOptions options = new XmlOptions().setSaveCDataLengthThreshold(0);
XmlCursor c = XmlObject.Factory.parse(xml, options).newCursor();
- Assert.assertEquals( expected, c.xmlText(options) );
+ assertEquals(expected, c.xmlText(options));
}
- public void testSaving ( )
- throws Exception
- {
- doSaveTest( "<foo xmlns=\"foo.com\"><bar>1</bar></foo>" );
- doSaveTest( "<foo><!--comment--><?target foo?></foo>" );
- doSaveTest( "<foo>a<bar>b</bar>c<bar>d</bar>e</foo>" );
- doSaveTest( "<foo xmlns:x=\"y\"><bar xmlns:x=\"z\"/></foo>" );
- doSaveTest( "<foo x=\"y\" p=\"r\"/>" );
+ @Test
+ public void testSaving() throws Exception {
+ doSaveTest("<foo xmlns=\"foo.com\"><bar>1</bar></foo>");
+ doSaveTest("<foo><!--comment--><?target foo?></foo>");
+ doSaveTest("<foo>a<bar>b</bar>c<bar>d</bar>e</foo>");
+ doSaveTest("<foo xmlns:x=\"y\"><bar xmlns:x=\"z\"/></foo>");
+ doSaveTest("<foo x=\"y\" p=\"r\"/>");
String s = "<foo>aaa</foo>bbb";
s = s + s + s + s + s + s + s + s + s + s + s + s + s + s + s;
s = "<bar>xxxx" + s + "</bar>";
-
- doSaveTest( s );
+
+ doSaveTest(s);
XmlObject x =
- XmlObject.Factory.parse( "<foo xmlns:a='a.com'><bar xmlns:a='b.com'/></foo>" );
+ XmlObject.Factory.parse("<foo xmlns:a='a.com'><bar xmlns:a='b.com'/></foo>");
XmlCursor c = x.newCursor();
c.toFirstChild();
c.toFirstChild();
- Assert.assertTrue( c.xmlText().equals( "<bar xmlns:a=\"b.com\"/>" ) );
-
- x = XmlObject.Factory.parse( "<foo xmlns:a='a.com'><bar/></foo>" );
+ assertEquals("<bar xmlns:a=\"b.com\"/>", c.xmlText());
+
+ x = XmlObject.Factory.parse("<foo xmlns:a='a.com'><bar/></foo>");
c = x.newCursor();
c.toFirstChild();
c.toFirstChild();
- Assert.assertTrue( c.xmlText().equals( "<bar xmlns:a=\"a.com\"/>" ) );
+ assertEquals("<bar xmlns:a=\"a.com\"/>", c.xmlText());
}
-
- private XmlCursor navDoc ( XmlObject x, String dirs )
- {
- return navCursor( x.newCursor(), dirs );
- }
-
- private XmlCursor navNewCursor ( XmlCursor c, String dirs )
- {
- return navCursor( c.newCursor(), dirs );
+
+ private XmlCursor navDoc(XmlObject x, String dirs) {
+ return navCursor(x.newCursor(), dirs);
+ }
+
+ private XmlCursor navNewCursor(XmlCursor c, String dirs) {
+ return navCursor(c.newCursor(), dirs);
}
//
@@ -1192,632 +938,578 @@ public class StoreTests extends TestCase
// r - end of the doc (root)
// b - begin of the doc
//
-
- private XmlCursor navCursor ( XmlCursor c, String dirs )
- {
+
+ private XmlCursor navCursor(XmlCursor c, String dirs) {
int n = 0;
boolean prev = false;
-
- for ( int i = 0 ; i < dirs.length() ; i++ )
- {
- char ch = dirs.charAt( i );
-
- if (ch == '-')
- {
- prev = ! prev;
+
+ for (int i = 0; i < dirs.length(); i++) {
+ char ch = dirs.charAt(i);
+
+ if (ch == '-') {
+ prev = !prev;
continue;
- }
- else if (ch >= '0' && ch <= '9')
- {
+ } else if (ch >= '0' && ch <= '9') {
n = n * 10 + (ch - '0');
continue;
}
if (n == 0)
n = 1;
-
- if (ch == 'c')
- {
+
+ if (ch == 'c') {
if (prev)
- Assert.assertTrue( c.toPrevChar( n ) == n );
+ assertEquals(c.toPrevChar(n), n);
else
- Assert.assertTrue( c.toNextChar( n ) == n );
- }
- else if (ch == 't')
- {
- while ( n-- > 0 )
- {
+ assertEquals(c.toNextChar(n), n);
+ } else if (ch == 't') {
+ while (n-- > 0) {
if (prev)
- Assert.assertTrue( c.toPrevToken() != TokenType.NONE );
+ assertNotSame(c.toPrevToken(), TokenType.NONE);
else
- Assert.assertTrue( c.toNextToken() != TokenType.NONE );
+ assertNotSame(c.toNextToken(), TokenType.NONE);
}
- }
- else if (ch == 'p')
- {
- Assert.assertTrue( ! prev );
-
- while ( n-- > 0 )
- Assert.assertTrue( c.toParent() );
- }
- else if (ch == 'r')
- {
- Assert.assertTrue( ! prev );
- Assert.assertTrue( n == 1 );
-
+ } else if (ch == 'p') {
+ assertTrue(!prev);
+
+ while (n-- > 0)
+ assertTrue(c.toParent());
+ } else if (ch == 'r') {
+ assertTrue(!prev);
+ assertEquals(1, n);
+
c.toEndDoc();
- }
- else if (ch == 'b')
- {
- Assert.assertTrue( ! prev );
- Assert.assertTrue( n == 1 );
-
+ } else if (ch == 'b') {
+ assertTrue(!prev);
+ assertEquals(1, n);
+
c.toStartDoc();
- }
- else if (ch == 's')
- {
- while ( n-- > 0 )
- {
+ } else if (ch == 's') {
+ while (n-- > 0) {
if (prev)
- Assert.assertTrue( c.toPrevSibling() );
+ assertTrue(c.toPrevSibling());
else
- Assert.assertTrue( c.toNextSibling() );
+ assertTrue(c.toNextSibling());
}
+ } else if (ch == 'd') {
+ assertTrue(!prev);
+
+ while (n-- > 0)
+ assertTrue(c.toFirstChild());
+ } else {
+ fail();
}
- else if (ch == 'd')
- {
- Assert.assertTrue( ! prev );
-
- while ( n-- > 0 )
- Assert.assertTrue( c.toFirstChild() );
- }
- else
- {
- Assert.assertTrue( false );
- }
-
+
n = 0;
prev = false;
}
return c;
}
-
- public void testOps ( )
- throws Exception
- {
+
+ @Test
+ public void testOps()
+ throws Exception {
XmlObject x, x2, y;
XmlCursor cFrom, cTo, cTemp, cTemp2, c, d;
XmlBookmark anno;
-
+
//
-
- x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
- cFrom = navDoc( x, "d" );
- cTo = navNewCursor( cFrom, "" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
+
+ x = XmlObject.Factory.parse("<foo>abcdef</foo>");
+ cFrom = navDoc(x, "d");
+ cTo = navNewCursor(cFrom, "");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
XmlOptions options = new XmlOptions();
-
+
options.put(
XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT,
- new QName( null, "bar" ) );
+ new QName(null, "bar"));
+
+ assertTrue(
+ x.xmlText(options).equals("<bar>[TO]<foo>abcdef</foo>[FROM]</bar>") ||
+ x.xmlText(options).equals("<bar>[FROM]<foo>abcdef</foo>[TO]</bar>"));
- Assert.assertTrue(
- x.xmlText( options ).equals( "<bar>[TO]<foo>abcdef</foo>[FROM]</bar>" ) ||
- x.xmlText( options ).equals( "<bar>[FROM]<foo>abcdef</foo>[TO]</bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-
- cFrom = navDoc( x, "d" );
- cTo = navNewCursor( cFrom, "ttt" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText( options ).equals( "<bar><foo>abcdef</foo>[FROM][TO]</bar>" ) ||
- x.xmlText( options ).equals( "<bar><foo>abcdef</foo>[TO][FROM]</bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-
- cFrom = navDoc( x, "d" );
- cTo = navNewCursor( cFrom, "t3c" );
- Assert.assertTrue( !cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText( options ).equals( "<bar>[FROM]<foo>abc[TO]def</foo></bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b></r>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navNewCursor( cFrom, "r-1t" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals( "<r>[FROM]<b>pqr</b><a>xyz</a>[TO]</r>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navNewCursor( cFrom, "r-1t-1c" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals( "<r>[FROM]<b>pqr</b>A<a>xyz</a>[TO]B</r>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navNewCursor( cFrom, "stc" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals( "<r>[FROM]<b>p<a>xyz</a>[TO]qr</b>AB</r>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navDoc( x, "d" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- testTextFrag( x.xmlText(), "<a>xyz</a>[TO]<r>[FROM]<b>pqr</b>AB</r>" );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navDoc( x, "r" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText( options ).equals( "<bar><r>[FROM]<b>pqr</b>AB</r><a>xyz</a>[TO]</bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a></r>" );
- x2 = XmlObject.Factory.parse( "<s></s>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navDoc( x2, "dt" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue( x.xmlText().equals( "<r>[FROM]</r>" ) );
- Assert.assertTrue( x2.xmlText().equals( "<s><a>xyz</a>[TO]</s>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>pq</a><b></b></r>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navDoc( x, "ddst" );
- cTemp = navDoc( x, "ddt1c" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
- cTemp.insertChars( "[TEMP]" );
-
- Assert.assertTrue(
- x.xmlText().equals( "<r>[FROM][TEMP]<b><a>pq</a>[TO]</b></r>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-
- cFrom = navDoc( x, "2t2c" );
- cTo = navNewCursor( cFrom, "-1c" );
- cFrom.moveChars( 2, cTo );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals( "<foo>acd[TO]b[FROM]ef</foo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-
- cFrom = navDoc( x, "2t2c" );
- cTo = navNewCursor( cFrom, "3c" );
- cFrom.moveChars( 2, cTo );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals( "<foo>ab[FROM]ecd[TO]f</foo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<bar><foo>abcdef</foo><foo>123456</foo></bar>" );
-
- cFrom = navDoc( x, "3t2c" );
- cTo = navNewCursor( cFrom, "3t3c" );
- cFrom.moveChars( 2, cTo );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals(
- "<bar><foo>ab[FROM]ef</foo><foo>123cd[TO]456</foo></bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<bar><foo>abcdef</foo><foo>123456</foo></bar>" );
-
- cFrom = navDoc( x, "2d" );
- cTo = navDoc( x, "2dst2c" );
- Assert.assertTrue( cFrom.copyXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals(
- "<bar>[FROM]<foo>abcdef</foo><foo>12" +
- "<foo>abcdef</foo>[TO]3456</foo></bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<r><a>xyz</a></r>" );
- x2 = XmlObject.Factory.parse( "<s></s>" );
-
- cFrom = navDoc( x, "dd" );
- cTo = navDoc( x2, "dt" );
- Assert.assertTrue( cFrom.copyXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue( x.xmlText().equals( "<r>[FROM]<a>xyz</a></r>" ) );
- Assert.assertTrue( x2.xmlText().equals( "<s><a>xyz</a>[TO]</s>" ) );
-
//
-
+
+ x = XmlObject.Factory.parse("<foo>abcdef</foo>");
+
+ cFrom = navDoc(x, "d");
+ cTo = navNewCursor(cFrom, "ttt");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertTrue(
+ x.xmlText(options).equals("<bar><foo>abcdef</foo>[FROM][TO]</bar>") ||
+ x.xmlText(options).equals("<bar><foo>abcdef</foo>[TO][FROM]</bar>"));
+
+ //
+
+ x = XmlObject.Factory.parse("<foo>abcdef</foo>");
+
+ cFrom = navDoc(x, "d");
+ cTo = navNewCursor(cFrom, "t3c");
+ assertTrue(!cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<bar>[FROM]<foo>abc[TO]def</foo></bar>", x.xmlText(options));
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b></r>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navNewCursor(cFrom, "r-1t");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<r>[FROM]<b>pqr</b><a>xyz</a>[TO]</r>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navNewCursor(cFrom, "r-1t-1c");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<r>[FROM]<b>pqr</b>A<a>xyz</a>[TO]B</r>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navNewCursor(cFrom, "stc");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<r>[FROM]<b>p<a>xyz</a>[TO]qr</b>AB</r>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navDoc(x, "d");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ testTextFrag(x.xmlText(), "<a>xyz</a>[TO]<r>[FROM]<b>pqr</b>AB</r>");
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navDoc(x, "r");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<bar><r>[FROM]<b>pqr</b>AB</r><a>xyz</a>[TO]</bar>", x.xmlText(options));
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a></r>");
+ x2 = XmlObject.Factory.parse("<s></s>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navDoc(x2, "dt");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<r>[FROM]</r>", x.xmlText());
+ assertEquals("<s><a>xyz</a>[TO]</s>", x2.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>pq</a><b></b></r>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navDoc(x, "ddst");
+ cTemp = navDoc(x, "ddt1c");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ cTemp.insertChars("[TEMP]");
+
+ assertEquals("<r>[FROM][TEMP]<b><a>pq</a>[TO]</b></r>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<foo>abcdef</foo>");
+
+ cFrom = navDoc(x, "2t2c");
+ cTo = navNewCursor(cFrom, "-1c");
+ cFrom.moveChars(2, cTo);
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<foo>acd[TO]b[FROM]ef</foo>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<foo>abcdef</foo>");
+
+ cFrom = navDoc(x, "2t2c");
+ cTo = navNewCursor(cFrom, "3c");
+ cFrom.moveChars(2, cTo);
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<foo>ab[FROM]ecd[TO]f</foo>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<bar><foo>abcdef</foo><foo>123456</foo></bar>");
+
+ cFrom = navDoc(x, "3t2c");
+ cTo = navNewCursor(cFrom, "3t3c");
+ cFrom.moveChars(2, cTo);
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<bar><foo>ab[FROM]ef</foo><foo>123cd[TO]456</foo></bar>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<bar><foo>abcdef</foo><foo>123456</foo></bar>");
+
+ cFrom = navDoc(x, "2d");
+ cTo = navDoc(x, "2dst2c");
+ assertTrue(cFrom.copyXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals(x.xmlText(),
+ "<bar>[FROM]<foo>abcdef</foo><foo>12" +
+ "<foo>abcdef</foo>[TO]3456</foo></bar>");
+
+ //
+
+ x = XmlObject.Factory.parse("<r><a>xyz</a></r>");
+ x2 = XmlObject.Factory.parse("<s></s>");
+
+ cFrom = navDoc(x, "dd");
+ cTo = navDoc(x2, "dt");
+ assertTrue(cFrom.copyXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<r>[FROM]<a>xyz</a></r>", x.xmlText());
+ assertEquals("<s><a>xyz</a>[TO]</s>", x2.xmlText());
+
+ //
+
x = XmlObject.Factory.parse(
- "<bar><foo>abcdef</foo>blah<foo>123456</foo></bar>" );
-
- cFrom = navDoc( x, "2d" );
- cTo = navDoc( x, "2dst2c" );
- Assert.assertTrue( cFrom.copyXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals(
- "<bar>[FROM]<foo>abcdef</foo>blah<foo>12" +
- "<foo>abcdef</foo>[TO]3456</foo></bar>" ) );
-
+ "<bar><foo>abcdef</foo>blah<foo>123456</foo></bar>");
+
+ cFrom = navDoc(x, "2d");
+ cTo = navDoc(x, "2dst2c");
+ assertTrue(cFrom.copyXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals(x.xmlText(), "<bar>[FROM]<foo>abcdef</foo>blah<foo>12" +
+ "<foo>abcdef</foo>[TO]3456</foo></bar>");
+
//
-
+
x = XmlObject.Factory.parse(
- "<bar><foo x='y'>abcdef</foo><foo>123456</foo>7890</bar>" );
-
- cFrom = navDoc( x, "2dt" );
- cTo = navDoc( x, "2dst" );
- cTemp = navDoc( x, "2dst3c" );
- cTemp2 = navDoc( x, "2ds3t2c" );
- Assert.assertTrue( cFrom.copyXml( cTo ) );
- cTemp.insertChars( "[TEMP]" );
- cTemp2.insertChars( "[TEMP2]" );
-
- Assert.assertTrue(
- x.xmlText().equals(
- "<bar><foo x=\"y\">abcdef</foo>" +
- "<foo x=\"y\">123[TEMP]456</foo>78[TEMP2]90</bar>" ) );
+ "<bar><foo x='y'>abcdef</foo><foo>123456</foo>7890</bar>");
+
+ cFrom = navDoc(x, "2dt");
+ cTo = navDoc(x, "2dst");
+ cTemp = navDoc(x, "2dst3c");
+ cTemp2 = navDoc(x, "2ds3t2c");
+ assertTrue(cFrom.copyXml(cTo));
+ cTemp.insertChars("[TEMP]");
+ cTemp2.insertChars("[TEMP2]");
+
+ assertEquals(x.xmlText(),
+ "<bar><foo x=\"y\">abcdef</foo>" +
+ "<foo x=\"y\">123[TEMP]456</foo>78[TEMP2]90</bar>");
//
-
+
x = XmlObject.Factory.parse(
- "<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>" );
-
- cFrom = navDoc( x, "2d" );
- cTo = navDoc( x, "2ds-2c" );
-
- Assert.assertTrue( cFrom.removeXml() );
-
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals(
- "<bar>xy[FROM]p[TO]qr<foo>123456</foo></bar>" ) );
-
+ "<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>");
+
+ cFrom = navDoc(x, "2d");
+ cTo = navDoc(x, "2ds-2c");
+
+ assertTrue(cFrom.removeXml());
+
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<bar>xy[FROM]p[TO]qr<foo>123456</foo></bar>", x.xmlText());
+
//
-
+
x = XmlObject.Factory.parse(
- "<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>" );
-
- cFrom = navDoc( x, "2d2t2c" );
- cTo = navDoc( x, "2d2t5c" );
-
- cFrom.removeChars( 2 );
-
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
-
- Assert.assertTrue(
- x.xmlText().equals(
- "<bar>xy<foo x=\"y\">ab[FROM]e[TO]f" +
- "</foo>pqr<foo>123456</foo></bar>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<bar><!---->abc</bar>" );
-
- cFrom = navDoc( x, "tt" );
- cTo = navDoc( x, "tttc" );
-
- Assert.assertTrue( cFrom.removeXml() );
+ "<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>");
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
+ cFrom = navDoc(x, "2d2t2c");
+ cTo = navDoc(x, "2d2t5c");
- Assert.assertTrue( x.xmlText().equals( "<bar>[FROM]a[TO]bc</bar>" ) );
+ cFrom.removeChars(2);
+
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals(x.xmlText(),
+ "<bar>xy<foo x=\"y\">ab[FROM]e[TO]f" +
+ "</foo>pqr<foo>123456</foo></bar>");
+
+ //
+
+ x = XmlObject.Factory.parse("<bar><!---->abc</bar>");
+
+ cFrom = navDoc(x, "tt");
+ cTo = navDoc(x, "tttc");
+
+ assertTrue(cFrom.removeXml());
+
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+
+ assertEquals("<bar>[FROM]a[TO]bc</bar>", x.xmlText());
//
-
+
x = XmlObject.Factory.newInstance();
- cTo = navDoc( x, "t" );
- cTo.insertElement( "boo" );
+ cTo = navDoc(x, "t");
+ cTo.insertElement("boo");
cTo.toPrevToken();
- cTo.insertElement( "moo" );
+ cTo.insertElement("moo");
cTo.toPrevToken();
- cTo.insertElement( "goo" );
+ cTo.insertElement("goo");
- Assert.assertTrue( x.xmlText().equals(
- "<boo><moo><goo/></moo></boo>" ) );
+ assertEquals("<boo><moo><goo/></moo></boo>", x.xmlText());
//
-
+
x = XmlObject.Factory.newInstance();
- cTo = navDoc( x, "t" );
- cTo.insertElement( "boo" );
+ cTo = navDoc(x, "t");
+ cTo.insertElement("boo");
cTo.toPrevToken();
- cTo.insertElement( "moo" );
+ cTo.insertElement("moo");
cTo.toPrevToken();
- cTo.insertAttributeWithValue( "x", "y" );
+ cTo.insertAttributeWithValue("x", "y");
- Assert.assertTrue( x.xmlText().equals(
- "<boo><moo x=\"y\"/></boo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<bar x='y'>abc</bar>" );
- cTo = navDoc( x, "tt" );
- cTo.insertAttributeWithValue( "p", "q" );
-
- Assert.assertTrue( x.xmlText().equals(
- "<bar p=\"q\" x=\"y\">abc</bar>" ) );
+ assertEquals("<boo><moo x=\"y\"/></boo>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<bar x='y'>abc</bar>");
+ cTo = navDoc(x, "tt");
+ cTo.insertAttributeWithValue("p", "q");
+
+ assertEquals("<bar p=\"q\" x=\"y\">abc</bar>", x.xmlText());
// Text XmlBookmark
- x = XmlObject.Factory.parse( "<r><foo>abc</foo><bar></bar></r>" );
- cFrom = navDoc( x, "tt" );
+ x = XmlObject.Factory.parse("<r><foo>abc</foo><bar></bar></r>");
+ cFrom = navDoc(x, "tt");
anno = new Anno();
- cFrom.setBookmark( anno );
- cTo = navDoc( x, "6t" );
- Assert.assertTrue( cFrom.moveXml( cTo ) );
- cFrom.insertChars( "[FROM]" );
- cTo.insertChars( "[TO]" );
- anno.createCursor().insertChars( "[ANNO]" );
-
- Assert.assertTrue( x.xmlText().equals(
- "<r>[FROM]<bar>[ANNO]<foo>abc</foo>[TO]</bar></r>" ) );
+ cFrom.setBookmark(anno);
+ cTo = navDoc(x, "6t");
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ anno.createCursor().insertChars("[ANNO]");
+
+ assertEquals("<r>[FROM]<bar>[ANNO]<foo>abc</foo>[TO]</bar></r>", x.xmlText());
// Test content ops
- x = XmlObject.Factory.parse( "<foo x='y'>abc</foo>" );
+ x = XmlObject.Factory.parse("<foo x='y'>abc</foo>");
y = XmlObject.Factory.newInstance();
d = y.newCursor();
d.toNextToken();
- x.newCursor().moveXmlContents( d );
- Assert.assertTrue( y.xmlText().equals( "<foo x=\"y\">abc</foo>" ) );
-
- x = XmlObject.Factory.parse( "<bar><foo x='y'>abc</foo></bar>" );
+ x.newCursor().moveXmlContents(d);
+ assertEquals("<foo x=\"y\">abc</foo>", y.xmlText());
+
+ x = XmlObject.Factory.parse("<bar><foo x='y'>abc</foo></bar>");
y = XmlObject.Factory.newInstance();
c = x.newCursor();
c.toNextToken();
d = y.newCursor();
d.toNextToken();
- c.moveXmlContents( d );
- Assert.assertTrue( y.xmlText().equals( "<foo x=\"y\">abc</foo>" ) );
+ c.moveXmlContents(d);
+ assertEquals("<foo x=\"y\">abc</foo>", y.xmlText());
- x = XmlObject.Factory.parse( "<bar><foo x='y'>abc</foo></bar>" );
+ x = XmlObject.Factory.parse("<bar><foo x='y'>abc</foo></bar>");
c = x.newCursor();
c.toNextToken();
c.removeXmlContents();
- Assert.assertTrue( x.xmlText().equals( "<bar/>" ) );
+ assertEquals("<bar/>", x.xmlText());
- x = XmlObject.Factory.parse( "<foo x='y'>abc</foo>" );
+ x = XmlObject.Factory.parse("<foo x='y'>abc</foo>");
y = XmlObject.Factory.newInstance();
d = y.newCursor();
d.toNextToken();
- x.newCursor().copyXmlContents( d );
- Assert.assertTrue( y.xmlText().equals( "<foo x=\"y\">abc</foo>" ) );
- }
-
- public static class Anno extends XmlBookmark
- {
- }
-
- public void testSave ( )
- throws Exception
- {
+ x.newCursor().copyXmlContents(d);
+ assertEquals("<foo x=\"y\">abc</foo>", y.xmlText());
+ }
+
+ private static class Anno extends XmlBookmark {
+ }
+
+ @Test
+ public void testSave() throws Exception {
XmlObject x;
XmlCursor cTo;
-
+
+ //
+
+ x = XmlObject.Factory.parse("<foo>abcdef</foo>");
+
+ assertEquals("<foo>abcdef</foo>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<foo>a<b&c</foo>");
+
+ assertEquals("<foo>a<b&c</foo>", x.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<foo></foo>");
+
+ cTo = navDoc(x, "dt");
+ cTo.insertChars("&<");
+
+ assertEquals("<foo>&<</foo>", x.xmlText());
+
//
-
- x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-
- Assert.assertTrue( x.xmlText().equals( "<foo>abcdef</foo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo>a<b&c</foo>" );
-
- Assert.assertTrue( x.xmlText().equals( "<foo>a<b&c</foo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo></foo>" );
-
- cTo = navDoc( x, "dt" );
- cTo.insertChars( "&<" );
-
- Assert.assertTrue( x.xmlText().equals( "<foo>&<</foo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo><boo>bar</boo></foo>" );
-
- cTo = navDoc( x, "dt" );
-
- Assert.assertTrue( cTo.xmlText().equals( "<boo>bar</boo>" ) );
-
- //
-
- x = XmlObject.Factory.parse( "<foo><boo x=\"y\">bar</boo></foo>" );
-
- cTo = navDoc( x, "dt" );
-
- Assert.assertTrue( cTo.xmlText().equals( "<boo x=\"y\">bar</boo>" ) );
+
+ x = XmlObject.Factory.parse("<foo><boo>bar</boo></foo>");
+
+ cTo = navDoc(x, "dt");
+
+ assertEquals("<boo>bar</boo>", cTo.xmlText());
+
+ //
+
+ x = XmlObject.Factory.parse("<foo><boo x=\"y\">bar</boo></foo>");
+
+ cTo = navDoc(x, "dt");
+
+ assertEquals("<boo x=\"y\">bar</boo>", cTo.xmlText());
// Tests fragment saving and loading
-
- x = XmlObject.Factory.parse( "<foo>Eric</foo>" );
-
- cTo = navDoc( x, "dt" );
-
- x = XmlObject.Factory.parse( cTo.xmlText() );
-
- cTo = navDoc( x, "" );
-
- Assert.assertTrue( cTo.getTextValue().equals( "Eric" ) );
+
+ x = XmlObject.Factory.parse("<foo>Eric</foo>");
+
+ cTo = navDoc(x, "dt");
+
+ x = XmlObject.Factory.parse(cTo.xmlText());
+
+ cTo = navDoc(x, "");
+
+ assertEquals("Eric", cTo.getTextValue());
// test save where I replace the name of an element
-
- x = XmlObject.Factory.parse( "<foo>Eric</foo>" );
-
- cTo = navDoc( x, "d" );
+
+ x = XmlObject.Factory.parse("<foo>Eric</foo>");
+
+ cTo = navDoc(x, "d");
XmlOptions options = new XmlOptions();
-
+
options.put(
XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT,
- new QName( null, "bar" ) );
-
- x = XmlObject.Factory.parse( cTo.xmlText( options ) );
-
- cTo = navDoc( x, "" );
-
- Assert.assertTrue( cTo.xmlText().equals( "<bar>Eric</bar>" ) );
+ new QName(null, "bar"));
+
+ x = XmlObject.Factory.parse(cTo.xmlText(options));
+
+ cTo = navDoc(x, "");
+
+ assertEquals("<bar>Eric</bar>", cTo.xmlText());
// test save where I replace the name of the document
-
- x = XmlObject.Factory.parse( "<foo>Eric</foo>" );
-
- cTo = navDoc( x, "" );
+
+ x = XmlObject.Factory.parse("<foo>Eric</foo>");
+
+ cTo = navDoc(x, "");
options = new XmlOptions();
-
+
options.put(
XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT,
- new QName( null, "bar" ) );
-
- x = XmlObject.Factory.parse( cTo.xmlText( options ) );
-
- cTo = navDoc( x, "" );
-
- Assert.assertTrue(
- cTo.xmlText().equals( "<bar><foo>Eric</foo></bar>" ) );
+ new QName(null, "bar"));
- //
- //
- //
-
- x = XmlObject.Factory.parse( "<a xmlns='foo'/>" );
+ x = XmlObject.Factory.parse(cTo.xmlText(options));
+
+ cTo = navDoc(x, "");
+
+ assertEquals("<bar><foo>Eric</foo></bar>", cTo.xmlText());
+
+ x = XmlObject.Factory.parse("<a xmlns='foo'/>");
XmlCursor c = x.newCursor();
c.toFirstContentToken();
c.toFirstContentToken();
- c.insertElement( "b" );
+ c.insertElement("b");
c.toPrevSibling();
- Assert.assertTrue( c.getName().getLocalPart().equals( "b" ) );
- Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
-
- x = XmlObject.Factory.parse( x.xmlText() );
-
+ assertEquals("b", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
+
+ x = XmlObject.Factory.parse(x.xmlText());
+
c = x.newCursor();
-
+
c.toFirstContentToken();
c.toFirstContentToken();
- Assert.assertTrue( c.getName().getLocalPart().equals( "b" ) );
- Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
+ assertEquals("b", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
}
- private void testTextFrag ( String actual, String expected )
- {
+ private void testTextFrag(String actual, String expected) {
String pre = "<xml-fragment>";
-
+
String post = "</xml-fragment>";
-
- Assert.assertTrue( actual.startsWith( pre ) );
- Assert.assertTrue( actual.endsWith( post ) );
-
- Assert.assertTrue(
- expected.equals(
- actual.substring(
- pre.length(), actual.length() - post.length() ) ) );
- }
-
- public void testSaveFrag ( )
- throws Exception
- {
+
+ assertTrue(actual.startsWith(pre));
+ assertTrue(actual.endsWith(post));
+
+ assertEquals(expected, actual.substring(
+ pre.length(), actual.length() - post.length()));
+ }
+
+ @Test
+ public void testSaveFrag() {
XmlObject x;
XmlCursor c;
-
+
x = XmlObject.Factory.newInstance();
c = x.newCursor();
-
+
c.toNextToken();
-
- c.insertChars( "Eric" );
- testTextFrag( x.xmlText(), "Eric" );
+ c.insertChars("Eric");
+
+ testTextFrag(x.xmlText(), "Eric");
//
@@ -1827,10 +1519,10 @@ public class StoreTests extends TestCase
c.toNextToken();
- c.insertComment( "" );
- c.insertChars( "x" );
-
- testTextFrag( x.xmlText(), "<!---->x" );
+ c.insertComment("");
+ c.insertChars("x");
+
+ testTextFrag(x.xmlText(), "<!---->x");
//
@@ -1840,11 +1532,11 @@ public class StoreTests extends TestCase
c.toNextToken();
- c.insertElement( "foo" );
- c.insertChars( "x" );
-
- testTextFrag( x.xmlText(), "<foo/>x" );
-
+ c.insertElement("foo");
+ c.insertChars("x");
+
+ testTextFrag(x.xmlText(), "<foo/>x");
+
//
x = XmlObject.Factory.newInstance();
@@ -1853,91 +1545,82 @@ public class StoreTests extends TestCase
c.toNextToken();
- c.insertElement( "foo" );
- c.insertElement( "bar" );
-
- testTextFrag( x.xmlText(), "<foo/><bar/>" );
- }
-
- public void testLoad ( )
- throws Exception
- {
+ c.insertElement("foo");
+ c.insertElement("bar");
+
+ testTextFrag(x.xmlText(), "<foo/><bar/>");
+ }
+
+ @Test
+ public void testLoad() throws Exception {
XmlObject x;
-
+
XmlOptions options = new XmlOptions();
-
- options.put( XmlOptions.LOAD_REPLACE_DOCUMENT_ELEMENT, null );
-
+
+ options.put(XmlOptions.LOAD_REPLACE_DOCUMENT_ELEMENT, null);
+
x =
XmlObject.Factory.parse(
- "<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>", options );
-
- XmlCursor c = navDoc( x, "t" );
+ "<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>", options);
+
+ XmlCursor c = navDoc(x, "t");
- assertTrue( c.currentTokenType() == TokenType.ATTR );
+ assertSame(c.currentTokenType(), TokenType.ATTR);
String open = "xmlns:open='http://www.openuri.org/fragment'";
-
+
x =
XmlObject.Factory.parse(
"<open:fragment p='q' x='y' " + open +
- ">ab<foo>xy</foo>cd</open:fragment>" );
-
- c = navDoc( x, "t" );
-
- assertTrue( c.currentTokenType() == TokenType.ATTR );
- }
-
- public void testCompare ( )
- throws Exception
- {
+ ">ab<foo>xy</foo>cd</open:fragment>");
+
+ c = navDoc(x, "t");
+
+ assertSame(c.currentTokenType(), TokenType.ATTR);
+ }
+
+ @Test
+ public void testCompare() throws Exception {
XmlObject x;
XmlCursor cFrom, cTo;
// Forward navigation
-
- x = XmlObject.Factory.parse( "<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>" );
- cFrom = navDoc( x, "" );
- cTo = navDoc( x, "" );
-
- for ( ; ; )
- {
- Assert.assertTrue( cFrom.comparePosition( cTo ) == 0 );
- Assert.assertTrue( cFrom.isAtSamePositionAs( cTo ) );
+ x = XmlObject.Factory.parse("<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>");
+
+ cFrom = navDoc(x, "");
+ cTo = navDoc(x, "");
+
+ for (; ; ) {
+ assertEquals(0, cFrom.comparePosition(cTo));
+ assertTrue(cFrom.isAtSamePositionAs(cTo));
TokenType tt = cFrom.currentTokenType();
-
- if (tt == TokenType.ENDDOC)
- {
+
+ if (tt == TokenType.ENDDOC) {
break;
- }
- else if (tt == TokenType.TEXT)
- {
- cFrom.toNextChar( 1 );
- cTo.toNextChar( 1 );
- }
- else
- {
+ } else if (tt == TokenType.TEXT) {
+ cFrom.toNextChar(1);
+ cTo.toNextChar(1);
+ } else {
cFrom.toNextToken();
[... 597 lines stripped ...]
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org