CVS Update: xmlpull-api-v1/src/java/tests/org/xmlpull/v1/tests
Aleksander Andrzej Slominski <[email protected]> Mon, 23 Oct 2006 09:54:54 -0400 (EDT)
| Newsgroups | gmane.text.xml.xmlpull.devel |
|---|---|
| Message-ID | <[email protected]> |
aslom 06/10/23 09:54:54
Modified: src/java/tests/org/xmlpull/v1/tests TestCdsect.java
Log:
additional API test for large CDATA section
Revision Changes Path
1.5 +66 -19 xmlpull-api-v1/src/java/tests/org/xmlpull/v1/tests/TestCdsect.java
Index: TestCdsect.java
===================================================================
RCS file: /l/extreme/cvspub/xmlpull-api-v1/src/java/tests/org/xmlpull/v1/tests/TestCdsect.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -t -w -r1.4 -r1.5
--- TestCdsect.java 12 Jan 2004 16:20:59 -0000 1.4
+++ TestCdsect.java 23 Oct 2006 13:54:53 -0000 1.5
@@ -116,5 +116,52 @@
}
+ public void testBigCdsect() throws Exception {
+ testBigCdsect(1);
+ testBigCdsect(10);
+ testBigCdsect(15);
+ testBigCdsect(16);
+ testBigCdsect(100);
+ testBigCdsect(127);
+ testBigCdsect(128);
+ testBigCdsect(1023);
+ testBigCdsect(1024);
+ testBigCdsect(1025);
+ testBigCdsect(16*1024-1);
+ testBigCdsect(16*1024);
+ testBigCdsect(16*1024+1);
+ }
+
+ public void testBigCdsect(int size) throws Exception {
+ XmlPullParser xpp = factory.newPullParser();
+ assertEquals(true, xpp.getFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES));
+
+ // inspired by http://www.extreme.indiana.edu/bugzilla/show_bug.cgi?id=238
+ char[] oneToTen = "0123456789".toCharArray();
+ StringBuffer cdataContent = new StringBuffer(size+16);
+ for (int i = 0; i < size; i++) {
+ char c = oneToTen[i % 10];
+ cdataContent.append(c);
+ }
+
+ StringBuffer XML = new StringBuffer(size+16);
+ XML.append("<foo><![CDATA[");
+ XML.append(cdataContent);
+ XML.append("]]></foo>");
+
+ xpp.setInput(new StringReader(XML.toString()));
+
+ checkParserStateNs(xpp, 0, XmlPullParser.START_DOCUMENT, null, 0, null, null, null, false, -1);
+ xpp.next();
+ checkParserStateNs(xpp, 1, XmlPullParser.START_TAG, null, 0, "", "foo", null, false/*empty*/, 0);
+ xpp.next();
+ //System.err.println(getClass()+" text="+printable(xpp.getText()+" expected="+cdataContent.toString()));
+ checkParserStateNs(xpp, 1, XmlPullParser.TEXT, null, 0, null, null, cdataContent.toString(), false, -1);
+ xpp.next();
+ checkParserStateNs(xpp, 1, XmlPullParser.END_TAG, null, 0, "", "foo", null, false, -1);
+ xpp.next();
+ checkParserStateNs(xpp, 0, XmlPullParser.END_DOCUMENT, null, 0, null, null, null, false, -1);
+
+ }
}
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/xmlpull-dev/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/xmlpull-dev/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[email protected]
mailto:[email protected]
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/