Author: jbeard
Date: Sat Jun 19 19:43:00 2010
New Revision: 956274

URL: http://svn.apache.org/viewvc?rev=956274&view=rev
Log:
Unit tests pass with Rhino.

Added:
    
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/util/xml.js
   (with props)
Modified:
    commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/build.js
    
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/lib/js/requirejs/require/xml.js
    
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/main.js

Modified: 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/build.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/build.js?rev=956274&r1=956273&r2=956274&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/build.js 
(original)
+++ commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/build.js Sat 
Jun 19 19:43:00 2010
@@ -21,11 +21,12 @@ require.def("build",
                "src/javascript/scxml/cgf/util/file",   
                "src/javascript/scxml/cgf/SCXMLCompiler",
                "src/javascript/scxml/cgf/PerformanceAnalyzer",
+               "src/javascript/scxml/cgf/util/xml",
                "test/testHelpers.js",
                "lib/js/json2.js",
                "lib/test-js/env.js",
                "lib/test-js/dojo-release-1.4.2-src/dojo/dojo.js"],
-       function(util,utilFile,SCXMLCompiler,PerformanceAnalyzer){
+       function(util,utilFile,SCXMLCompiler,PerformanceAnalyzer,xmlUtil){
 
                return function(args){
 
@@ -198,7 +199,7 @@ require.def("build",
                                                         var 
sc,fpath,label,name;
 
                                                         sc = 
SCXMLCompiler.compile({
-                                                               
inFiles:[pathToTest],
+                                                               
inFiles:[pathToTest].map(xmlUtil.parseFromPath),
                                                                backend:backend,
                                                                beautify:true,
                                                                verbose:false,
@@ -228,7 +229,7 @@ require.def("build",
 
                                                        //compile with nomap 
and noforeach
                                                        sc = 
SCXMLCompiler.compile({
-                                                               
inFiles:[pathToTest],
+                                                               
inFiles:[pathToTest].map(xmlUtil.parseFromPath),
                                                                backend:backend,
                                                                beautify:true,
                                                                verbose:false,

Modified: 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/lib/js/requirejs/require/xml.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/lib/js/requirejs/require/xml.js?rev=956274&r1=956273&r2=956274&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/lib/js/requirejs/require/xml.js
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/lib/js/requirejs/require/xml.js
 Sat Jun 19 19:43:00 2010
@@ -80,6 +80,7 @@
                };
        }else{
                //FIXME: this is actually a rhino-specific API, so maybe we 
should switch on something like isRhino, rather than isBrowser
+               //FIXME: use the xmlutil api
                var File = java.io.File;
                var DocumentBuilderFactory = 
javax.xml.parsers.DocumentBuilderFactory;
                var dbf = DocumentBuilderFactory.newInstance();

Modified: 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/main.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/main.js?rev=956274&r1=956273&r2=956274&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/main.js
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/main.js
 Sat Jun 19 19:43:00 2010
@@ -35,8 +35,9 @@ It accepts command-line arguments, and c
 
 require.def("src/javascript/scxml/cgf/main",
        ["src/javascript/scxml/cgf/SCXMLCompiler",
-               "src/javascript/scxml/cgf/util/commandLine"],
-       function(SCXMLCompiler,cmdLineUtil){
+               "src/javascript/scxml/cgf/util/commandLine",
+               "src/javascript/scxml/cgf/util/xml"],
+       function(SCXMLCompiler,cmdLineUtil,xmlUtil){
 
                function parseXMLFromPath(path){
                        var file = new java.io.File(path);
@@ -62,7 +63,7 @@ require.def("src/javascript/scxml/cgf/ma
                        }
 
                        var parsedOptionsMap = 
cmdLineUtil.parseCommandLine(optionsMap,args);
-                       parsedOptionsMap.inFiles = 
parsedOptionsMap.args.map(parseXMLFromPath);
+                       parsedOptionsMap.inFiles = 
parsedOptionsMap.args.map(xmlUtil.parseFromString);
                        delete parsedOptionsMap.args;
 
                        //TODO: parse paths in inFiles into documents

Added: 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/util/xml.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/util/xml.js?rev=956274&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/util/xml.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/util/xml.js
 Sat Jun 19 19:43:00 2010
@@ -0,0 +1,89 @@
+require.def("src/javascript/scxml/cgf/util/xml",
+function(){
+
+       var serializeToString = !require.isBrowser      ?
+                               //assume Rhino
+                               (function(){
+                                       var ByteArrayOutputStream = 
java.io.ByteArrayOutputStream;
+
+                                       var xmlProps = 
Packages.org.apache.xml.serializer.OutputPropertiesFactory
+                                                                               
        .getDefaultMethodProperties("xml");
+                                       xmlProps.setProperty("indent", "yes");
+                                       xmlProps.setProperty("standalone", 
"no");
+
+                                       var serializer = 
Packages.org.apache.xml.serializer.SerializerFactory.getSerializer(xmlProps);   
                          
+
+                                       return function(d){
+                                               var baos = new 
ByteArrayOutputStream();
+                                               var serializer = new 
Packages.org.apache.xml.serialize.XMLSerializer(
+                                                                       baos,
+                                                                       new 
Packages.org.apache.xml.serialize.OutputFormat);
+
+                                               
serializer.setOutputStream(baos);
+                                               
serializer.asDOMSerializer().serialize(d);
+
+                                               var toReturn = String(new 
java.lang.String(baos.toByteArray()));
+                                               return toReturn;
+                                       }
+                               })()                    :
+                               window.XMLSerializer    ?
+                                       (function(){
+                                               var s = new XMLSerializer();  
+                                               return function(d){
+                                                       str = 
s.serializeToString(d);  
+                                                       return str;
+                                               }
+                                       })()            :
+                                       function(d){
+                                               return d.xml;
+                                       };
+
+       var parseFromString = !require.isBrowser        ?
+                               //assume Rhino
+                               function(){
+                                       //I think this would use 
DocumentBuilderFactory
+                                       new Error("No implementation for 
parseFromString.");
+                               }                       :
+                               window.DOMParser        ?
+                                       (function(){
+                                                var parser = new DOMParser();  
+                                               return function(str){
+                                                       var doc = 
parser.parseFromString(str);
+                                                       return doc;
+                                               }               
+                                       })()            :
+                                       function(str){
+                                               var xmlDoc=new 
ActiveXObject("Microsoft.XMLDOM");
+                                               xmlDoc.async="false";
+                                               xmlDoc.loadXML(str); 
+                                               
+                                               return xmlDoc;
+                                       };
+
+       var parseFromPath = !require.browser    ?
+                               (function(){
+                                       var File = java.io.File;
+                                       var DocumentBuilderFactory = 
javax.xml.parsers.DocumentBuilderFactory;
+                                       var dbf = 
DocumentBuilderFactory.newInstance();
+                                       dbf.setNamespaceAware(true);
+
+                                       return function (path) {
+
+                                               var file = new File(path);
+                                               var db = 
dbf.newDocumentBuilder();
+                                               var doc = db.parse(file);
+                                               return doc;
+                                       };
+                               })()            :
+                               function(){
+                                       new Error("No implementation for 
parseFromPath.")
+                               }
+
+       return {
+               parseFromString : parseFromString,
+               serializeToString : serializeToString,
+               parseFromPath : parseFromPath  
+       }
+})
+
+

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie/src/javascript/scxml/cgf/util/xml.js
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to