CVS Update: xmlpull-api-v1/addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit

Aleksander Andrzej Slominski <[email protected]> Sat, 3 May 2003 12:11:52 -0500 (EST)
Newsgroups gmane.text.xml.xmlpull.devel
Message-ID <[email protected]>
aslom       03/05/03 12:11:52

  Modified:    .        build.xml
  Added:       addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit
                        TestXmlPullWrapper.java
  Removed:     addons/java/wrapper/src/org/xmlpull/v1/wrapper/junit
                        TestXmlPullWrapper.java
  Log:
  updated to compile wrapper uinit test separately
  
  Revision  Changes    Path
  1.26      +11 -1     xmlpull-api-v1/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/build.xml,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -b -t -w -r1.25 -r1.26
  --- build.xml	3 May 2003 06:23:40 -0000	1.25
  +++ build.xml	3 May 2003 17:11:51 -0000	1.26
  @@ -58,6 +58,7 @@
     <!-- ======================================== -->
     <!-- ADDONS -->
     <property name="build_addons" value="${build}/addons"/>
  +  <property name="build_addons_tests" value="${build_addons}/tests"/>
   
     <property name="src_addons" value="addons/java"/>
   
  @@ -80,6 +81,7 @@
   
     <property name="build_wrapper" value="${build_addons}/wrapper"/>
     <property name="src_wrapper" value="${src_addons}/wrapper/src"/>
  +  <property name="src_wrapper_tests" value="${src_addons}/wrapper/tests"/>
     <property name="jar_wrapper"  value="${build_lib}/${xmlpull_version}-wrapper.jar"/>
   
     <property name="build_xmlrpc" value="${build_addons}/xmlrpc"/>
  @@ -227,6 +229,13 @@
       </jar>       
     </target>
   
  +  <target name="wrapper_tests" depends="require_junit,wrapper">
  +    <mkdir dir="${build_addons_tests}"/>
  +    <javac debug="${debug}" deprecation="${deprecation}"
  +       srcdir="${src_wrapper_tests}" destdir="${build_wrapper}" 
  +       classpath="${build_classes}:${build_util}:${build_wrapper}"/>
  +  </target>
  +
     <target name="xmlrpc" depends="api">
       <mkdir dir="${build_xmlrpc}"/>
       <javac debug="${debug}" deprecation="${deprecation}"
  @@ -236,8 +245,9 @@
       </jar>       
     </target>
         
  -
     <target name="addons" depends="prepare,sax2,util,wrapper,xmlrpc,parser_pool,dom2_builder"/>
  +
  +  <target name="addons_tests" depends="addons,wrapper_tests"/>
   
     <!-- =================================================================== -->
     <!-- JUnit automatic tests                                               -->
  
  
  
  1.1                  xmlpull-api-v1/addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit/TestXmlPullWrapper.java
  
  Index: TestXmlPullWrapper.java
  ===================================================================
  /* -*-             c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
  // for license see accompanying LICENSE_TESTS.txt file (available also at http://www.xmlpull.org)
  
  package org.xmlpull.v1.wrapper.junit;
  
  //import junit.framework.Test;
  import java.io.IOException;
  import java.io.StringReader;
  import junit.framework.TestCase;
  import junit.framework.TestSuite;
  import org.xmlpull.v1.XmlPullParser;
  import org.xmlpull.v1.XmlPullParserException;
  import org.xmlpull.v1.wrapper.XmlPullParserWrapper;
  import org.xmlpull.v1.wrapper.XmlPullWrapperFactory;
  
  /**
   * Test some wrapper utility operations.
   *
   * @author <a href="http://www.extreme.indiana.edu/~aslom/">Aleksander Slominski</a>
   */
  public class TestXmlPullWrapper extends TestCase {
      private XmlPullWrapperFactory wrappedFactory;
  
      public static void main (String[] args) {
          junit.textui.TestRunner.run (new TestSuite(TestXmlPullWrapper.class));
      }
  
  
      public TestXmlPullWrapper(String name) {
          super(name);
      }
  
      protected void setUp() throws XmlPullParserException {
          wrappedFactory = wrappedFactory.newInstance();
          wrappedFactory.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
          assertEquals(true, wrappedFactory.getFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES));
          assertEquals(false, wrappedFactory.getFeature(XmlPullParser.FEATURE_VALIDATION));
      }
  
      public void testPI() throws IOException, XmlPullParserException {
          final String PI_TARGET = "xml-stylesheet";
          final String PI_DATA = "href='test.css' type='text/css'";
          testPI(PI_TARGET, " ", PI_DATA);
          testPI(PI_TARGET, "\n", PI_DATA);
          testPI(PI_TARGET, "\r", PI_DATA);
          testPI(PI_TARGET, "\t", PI_DATA);
          testPI(PI_TARGET, "  ", PI_DATA);
          testPI(PI_TARGET, "  \n \n\r\n", PI_DATA);
          testPI(PI_TARGET, " ", null);
          testPI(PI_TARGET, "  \n \n\r", null);
          testPI(PI_TARGET, null, null); // TODO FIXME add when next release of XPP3 is fixed
      }
  
      public void testPI(final String piTarget,
                         final String s,
                         final String piData)
          throws IOException, XmlPullParserException
      {
          final String PI = piTarget + (s != null ? s : "") + (piData != null ? piData : "");
          final String XML_TEST_PI =
              "<tag><?"+PI+"?></tag>";
          final String PI_NORMALIZED = normalized(PI);
  
          XmlPullParserWrapper pw = wrappedFactory.newPullWrapper();
          pw.setInput(new StringReader(XML_TEST_PI));
  
          assertEquals(XmlPullParser.START_TAG, pw.next());
          assertEquals("tag", pw.getName());
          assertEquals(XmlPullParser.PROCESSING_INSTRUCTION, pw.nextToken());
          assertEquals(printable(PI_NORMALIZED), printable(pw.getText()));
          assertEquals(PI_NORMALIZED, pw.getText());
          assertEquals(printable(piTarget), printable(pw.getPITarget()));
          assertEquals(piTarget, pw.getPITarget());
          if(piData != null) {
              assertEquals(printable(piData), printable(pw.getPIData()));
              assertEquals(piData, pw.getPIData());
          }
          assertEquals(pw.next(), XmlPullParser.END_TAG);
          assertEquals("tag", pw.getName());
  
          assertEquals(pw.next(), XmlPullParser.END_DOCUMENT);
      }
  
      private static String printable(char ch) {
          if(ch == '\n') {
              return "\\n";
          } else if(ch == '\r') {
              return "\\r";
          } else if(ch == '\t') {
              return "\\t";
          } if(ch > 127 || ch < 32) {
              StringBuffer buf = new StringBuffer("\\u");
              String hex = Integer.toHexString((int)ch);
              for (int i = 0; i < 4-hex.length(); i++)
              {
                  buf.append('0');
              }
              buf.append(hex);
              return buf.toString();
          }
          return ""+ch;
      }
  
      private static String printable(String s) {
          if(s == null) return null;
          StringBuffer buf = new StringBuffer();
          for(int i = 0; i < s.length(); ++i) {
              buf.append(printable(s.charAt(i)));
          }
          s = buf.toString();
          return s;
      }
  
      private static String normalized(String s) {
          if(s == null) return null;
          StringBuffer buf = new StringBuffer();
          boolean seenCR = false;
          for(int i = 0; i < s.length(); ++i) {
              char ch = s.charAt(i);
              if(ch == '\r') {
                  buf.append('\n');
                  seenCR = true;
              } else if(ch == '\n') {
                  if( !seenCR ) {
                      buf.append(ch);
                  }
                  seenCR = false;
              } else {
                  buf.append(ch);
                  seenCR = false;
              }
          }
          s = buf.toString();
          return s;
      }
  
  }
  
  
  
  


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Rent DVDs Online - Over 14,500 titles.
No Late Fees & Free Shipping.
Try Netflix for FREE!
http://us.click.yahoo.com/YoVfrB/XP.FAA/uetFAA/2U_rlB/TM
---------------------------------------------------------------------~->

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/