Author: bimargulies
Date: Thu Nov  1 06:15:45 2007
New Revision: 590992

URL: http://svn.apache.org/viewvc?rev=590992&view=rev
Log:
More deserialization testing. Still needs tests of bean->bean references.


Modified:
    
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
    
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptTestUtilities.java
    
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java
    
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java
    incubator/cxf/trunk/rt/javascript/src/test/resources/deserializationTests.js

Modified: 
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java?rev=590992&r1=590991&r2=590992&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
 (original)
+++ 
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
 Thu Nov  1 06:15:45 2007
@@ -535,13 +535,18 @@
             utils.endBlock(); // the if for the nil.
             if (isParticleArray(elChild)) {
                 utils.appendLine("item.push(arrayItem);");
+                utils.appendLine("curElement = 
cxfjsutils.getNextElementSibling(curElement);");
                 utils.endBlock();
-                utils.appendLine("while(cfjsutils.isNodeNamedNS(curElement, '" 
+                utils.appendLine("  while(curElement != null && 
cxfjsutils.isNodeNamedNS(curElement, '" 
                                   + elementNamespaceURI + "', '" 
                                   + elChild.getName() + "'));");
             }
             utils.appendLine("newobject." + accessorName + "(item);");
-            utils.appendLine("curElement = 
cxfjsutils.getNextElementSibling(curElement);");
+            if (!isParticleArray(elChild)) {
+                utils.startIf("curElement != null");
+                utils.appendLine("curElement = 
cxfjsutils.getNextElementSibling(curElement);");
+                utils.endBlock();
+            }
             if (isParticleOptional(elChild) || isParticleArray(elChild)) {
                 utils.endBlock();
             }

Modified: 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptTestUtilities.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptTestUtilities.java?rev=590992&r1=590991&r2=590992&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptTestUtilities.java
 (original)
+++ 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/JavascriptTestUtilities.java
 Thu Nov  1 06:15:45 2007
@@ -51,6 +51,7 @@
 
         public Assert() { }
         public void jsConstructor(String exp) {
+            LOG.severe("Assertion failed: " + exp);
             throw new JavaScriptAssertionFailed(exp);
         }
         @Override
@@ -71,7 +72,7 @@
         
         //CHECKSTYLE:OFF
         public static void jsStaticFunction_trace(String message) {
-            LOG.info(message);
+            LOG.fine(message);
         }
         //CHECKSTYLE:ON
         

Modified: 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java?rev=590992&r1=590991&r2=590992&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java
 (original)
+++ 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/TestBean1.java
 Thu Nov  1 06:15:45 2007
@@ -42,6 +42,8 @@
     public String optionalStringItem;
     @XmlElement(required = false)
     public int[] optionalIntArrayItem;
+    @XmlElement(defaultValue = "-1.0")
+    public double doubleItem;
     
     //CHECKSTYLE:ON
 }

Modified: 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java?rev=590992&r1=590991&r2=590992&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java
 (original)
+++ 
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/types/SerializationTests.java
 Thu Nov  1 06:15:45 2007
@@ -28,6 +28,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
@@ -80,13 +81,24 @@
         try {
             TestBean1 bean = new TestBean1();
             bean.stringItem = "bean1>stringItem";
-            DataWriter<XMLStreamWriter> writer = 
dataBinding.createWriter(XMLStreamWriter.class);
-            StringWriter stringWriter = new StringWriter();
-            XMLStreamWriter xmlStreamWriter = 
xmlOutputFactory.createXMLStreamWriter(stringWriter);
-            writer.write(bean, xmlStreamWriter);
-            xmlStreamWriter.flush();
-            xmlStreamWriter.close();
-            testUtilities.rhinoCall("deserializeTestBean1_1", 
stringWriter.toString());
+            bean.doubleItem = -1.0;
+            String serialized = serializeObject(dataBinding, bean);
+            testUtilities.rhinoCall("deserializeTestBean1_1", serialized);
+            
+            bean = new TestBean1();
+            bean.stringItem = null;
+            bean.intItem = 21;
+            bean.longItem = 200000001;
+            bean.optionalIntItem = 456123;
+            bean.optionalIntArrayItem = new int[4];
+            bean.optionalIntArrayItem[0] = 3;
+            bean.optionalIntArrayItem[1] = 1;
+            bean.optionalIntArrayItem[2] = 4;
+            bean.optionalIntArrayItem[3] = 1;
+            bean.doubleItem = -1.0;
+            serialized = serializeObject(dataBinding, bean);
+            testUtilities.rhinoCall("deserializeTestBean1_2", serialized);
+
         } catch (JavaScriptAssertionFailed assertion) {
             fail(assertion.getMessage());
         } catch (RhinoException angryRhino) {
@@ -94,6 +106,16 @@
             Assert.fail("Javascript error: " + angryRhino.toString() + " " + 
trace);
         }
 
+    }
+
+    private String serializeObject(DataBinding dataBinding, TestBean1 bean) 
throws XMLStreamException {
+        DataWriter<XMLStreamWriter> writer = 
dataBinding.createWriter(XMLStreamWriter.class);
+        StringWriter stringWriter = new StringWriter();
+        XMLStreamWriter xmlStreamWriter = 
xmlOutputFactory.createXMLStreamWriter(stringWriter);
+        writer.write(bean, xmlStreamWriter);
+        xmlStreamWriter.flush();
+        xmlStreamWriter.close();
+        return stringWriter.toString();
     }
     
     @Test

Modified: 
incubator/cxf/trunk/rt/javascript/src/test/resources/deserializationTests.js
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/deserializationTests.js?rev=590992&r1=590991&r2=590992&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/javascript/src/test/resources/deserializationTests.js 
(original)
+++ 
incubator/cxf/trunk/rt/javascript/src/test/resources/deserializationTests.js 
Thu Nov  1 06:15:45 2007
@@ -35,6 +35,51 @@
        var dom = parseXml(xml);
        var bean = 
org_apache_cxf_javascript_testns_testBean1_deserialize(jsutils, dom);
        if(bean.getStringItem() != "bean1>stringItem")
-               assertionFailed("deserializeTestBean1_1 stringItem " + 
bean.getStringItem()); 
+               assertionFailed("deserializeTestBean1_1 stringItem " + 
bean.getStringItem());
+       if(bean.getIntItem() != 0)
+               assertionFailed("deserializeTestBean1_1 intItem " + 
bean.getIntItem());
+       if(bean.getLongItem() != 0)
+               assertionFailed("deserializeTestBean1_1 longItem " + 
bean.getLongItem());
+       if(bean.getOptionalIntItem() != 0)
+               assertionFailed("deserializeTestBean1_1 optionalIntItem " + 
bean.getOptionalIntItem());
+       if(bean.getOptionalStringItem() != null)
+               assertionFailed("deserializeTestBean1_1 optionalStringItem " + 
bean.getOptionalStringItem());
+       if(bean.getOptionalIntArrayItem() == null)
+               assertionFailed("deserializeTestBean1_1 optionalIntArrayItem 
null");
+       if(bean.getOptionalIntArrayItem().length != 0)
+               assertionFailed("deserializeTestBean1_1 optionalIntArrayItem 
length != 0");
+       if(bean.getDoubleItem() != -1.0)
+               assertionFailed("deserializeTestBean1_1 doubleItem " + 
bean.getDoubleItem());
+}
+
+function deserializeTestBean1_2(xml)
+{
+       var dom = parseXml(xml);
+       var bean = 
org_apache_cxf_javascript_testns_testBean1_deserialize(jsutils, dom);
+       if(bean.getStringItem() != null)
+               assertionFailed("deserializeTestBean1_2 stringItem not null: " 
+ bean.getStringItem());
+       if(bean.getIntItem() != 21)
+               assertionFailed("deserializeTestBean1_2 intItem " + 
bean.getIntItem());
+       if(bean.getLongItem() != 200000001)
+               assertionFailed("deserializeTestBean1_2 longItem " + 
bean.getLongItem());
+       if(bean.getOptionalIntItem() != 456123)
+               assertionFailed("deserializeTestBean1_2 optionalIntItem " + 
bean.getOptionalIntItem());
+       if(bean.getOptionalStringItem() != null)
+               assertionFailed("deserializeTestBean1_2 optionalStringItem " + 
bean.getOptionalStringItem());
+       if(bean.getOptionalIntArrayItem() == null)
+               assertionFailed("deserializeTestBean1_2 optionalIntArrayItem 
null");
+       if(bean.getOptionalIntArrayItem().length != 4)
+               assertionFailed("deserializeTestBean1_2 optionalIntArrayItem 
length != 4");
+       if(bean.getOptionalIntArrayItem()[0] != 3)
+               assertionFailed("deserializeTestBean1_2 optionalIntArrayItem[0] 
" + bean.getOptionalIntArrayItem()[0]);
+       if(bean.getOptionalIntArrayItem()[1] != 1)
+               assertionFailed("deserializeTestBean1_2 optionalIntArrayItem[1] 
" + bean.getOptionalIntArrayItem()[1]);
+       if(bean.getOptionalIntArrayItem()[2] != 4)
+               assertionFailed("deserializeTestBean1_2 optionalIntArrayItem[2] 
" + bean.getOptionalIntArrayItem()[2]);
+       if(bean.getOptionalIntArrayItem()[3] != 1)
+               assertionFailed("deserializeTestBean1_2 optionalIntArrayItem[3] 
" + bean.getOptionalIntArrayItem()[3]);
+       if(bean.getDoubleItem() != -1.0)
+               assertionFailed("deserializeTestBean1_2 doubleItem " + 
bean.getDoubleItem());
+               
 }
 


Reply via email to