commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jbe...@apache.org
Subject svn commit: r956274 - in /commons/sandbox/gsoc/2010/scxml-js/branches/browser-tests.1.ie: build.js lib/js/requirejs/require/xml.js src/javascript/scxml/cgf/main.js src/javascript/scxml/cgf/util/xml.js
Date Sat, 19 Jun 2010 19:43:00 GMT
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



Mime
View raw message