Revision: 1907
http://svn.sourceforge.net/vexi/?rev=1907&view=rev
Author: mkpg2
Date: 2007-07-02 10:31:04 -0700 (Mon, 02 Jul 2007)
Log Message:
-----------
Adding JS exception type, remote.
Refactoring xmlrpc tests.
Modified Paths:
--------------
core/branches/vexi2/org.ibex.js/src/org/ibex/js/Constants.java
core/branches/vexi2/org.ibex.js/src/org/ibex/js/Interpreter.jpp
core/branches/vexi2/org.ibex.js/src/org/ibex/js/XMLRPC.jpp
core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/DevUtil.java
core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/RunJS.java
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/TestXmlRpc.java
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/emptyline.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/lib.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_object.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector2.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/simple.js
Added Paths:
-----------
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/ioException.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException.js
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException2.js
Removed Paths:
-------------
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/no_handler.js
Modified: core/branches/vexi2/org.ibex.js/src/org/ibex/js/Constants.java
===================================================================
--- core/branches/vexi2/org.ibex.js/src/org/ibex/js/Constants.java
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src/org/ibex/js/Constants.java
2007-07-02 17:31:04 UTC (rev 1907)
@@ -22,6 +22,7 @@
static final JS SC_next = JSU.S("next",true);
static final JS SC_number = JSU.S("number",true);
static final JS SC_object = JSU.S("object",true);
+ static final JS SC_remote = JSU.S("remote",true);
static final JS SC_Progress = JSU.S("Progress",true);
static final JS SC_some = JSU.S("some",true);
static final JS SC_string = JSU.S("string",true);
Modified: core/branches/vexi2/org.ibex.js/src/org/ibex/js/Interpreter.jpp
===================================================================
--- core/branches/vexi2/org.ibex.js/src/org/ibex/js/Interpreter.jpp
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src/org/ibex/js/Interpreter.jpp
2007-07-02 17:31:04 UTC (rev 1907)
@@ -238,8 +238,12 @@
} else {
didTrapPut = true;
if(!tm.pauseOnCascade)
tm.t.target().put(tm.t.key(), tm.val);
+ else Thread.cascadedTo =
tm.trapargs.trapname;
}
- } else retval = CASCADE_PREVENTED;
+ }else{
+
Thread.cascadedTo = null;
+ retval
= CASCADE_PREVENTED;
+ }
}
}
CallMarker cm = (CallMarker) o;
Modified: core/branches/vexi2/org.ibex.js/src/org/ibex/js/XMLRPC.jpp
===================================================================
--- core/branches/vexi2/org.ibex.js/src/org/ibex/js/XMLRPC.jpp 2007-07-02
16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src/org/ibex/js/XMLRPC.jpp 2007-07-02
17:31:04 UTC (rev 1907)
@@ -356,7 +356,7 @@
try {
new Helper().parse(br);
if (fault)
- return new
JSExn(((JS)objects.get(0)).get(SC_faultString),SC_xmlrpc);
+ return new
JSExn(((JS)objects.get(0)).get(SC_faultString),SC_remote);
final JS result = (objects.size() == 0 ? (JS)null :
((JS)objects.get(0)));
return result;
Modified: core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/DevUtil.java
===================================================================
--- core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/DevUtil.java
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/DevUtil.java
2007-07-02 17:31:04 UTC (rev 1907)
@@ -8,6 +8,7 @@
import org.ibex.js.Interpreter.CallMarker;
import org.ibex.js.Interpreter.JSArgs;
import org.ibex.js.Parser.ScopeInfo;
+import org.ibex.util.Log;
/**
*
@@ -30,6 +31,15 @@
static public String dump(JS f){
return ((JSFunction)f).dump();
}
+
+ public static void logJSExn(String message){
+ try{
+ throw new JSExn(message);
+ }catch(JSExn e){
+ Log.warn("!", e);
+ }
+ }
+
// Stuff in Interpreter not visible (wait for bc optimisation before not
// using private
/* static public void printStack(Interpreter I, int n) throws JSExn{
Modified: core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/RunJS.java
===================================================================
--- core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/RunJS.java
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src_dev/org/ibex/js/RunJS.java
2007-07-02 17:31:04 UTC (rev 1907)
@@ -295,6 +295,7 @@
if("math".equals(key)) return vexiMath;
if("string".equals(key)) return
vexiString;
if("proxy".equals(key)) return new
JSProxy();
+ if("xmlrpc".equals(key)) return METHOD;
/*
if("bgget".equals(key)) {
action = "bgget";
@@ -367,7 +368,9 @@
JSU.schedule(callback, null);
}}.start();
}
-
+ if( "xmlrpc".equals(methName)){
+ return new XMLRPC(JSU.toString(args[0]), "");
+ }
return null;
}
}
Modified:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/TestXmlRpc.java
===================================================================
---
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/TestXmlRpc.java
2007-07-02 16:45:59 UTC (rev 1906)
+++
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/TestXmlRpc.java
2007-07-02 17:31:04 UTC (rev 1907)
@@ -40,7 +40,7 @@
Object r =
xmlrpc.execute("testServer.stringWithEmptyline", params);
System.out.println(r);*/
- RunJS.runJSFile(new String[]{resourceDir},
"emptyline.js", new String[]{"testXmlrpc"}, new JS[]{new
TestXmlRpcJSInterface()});
+ RunJS.runJSFile(new String[]{resourceDir},
"serverException.js");
}finally{
testwebserver.shutdown();
}
@@ -57,6 +57,7 @@
// Use the same webserver for all the tests
testwebserver = new WebServer(8091);
testwebserver.start();
+ testServer.start();
super.run(result);
testwebserver.shutdown();
}
@@ -75,60 +76,17 @@
}
protected void runTest() throws Throwable {
try{
- RunJS.runJSFile(resourceDirs, main,new
String[]{"testXmlrpc"}, new JS[]{new TestXmlRpcJSInterface()} );
+ RunJS.runJSFile(resourceDirs, main);
}catch(JSExn e){
fail(e.getMessage());
}
}
}
+ TestServer testServer = new TestServer();
-
- ////////////////////////////////////////////////////////////
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- //
- // Interface exposed in js, for controlling the testserver
- // and for creating the xmlrpc object!
- //
- ////////////////////////////////////////////////////////////
-
- // Object used in js tests to control the test server (start stop it)
- static class TestXmlRpcJSInterface extends JS.Immutable{
-
- TestServer testServer;
- TestXmlRpcJSInterface(){
- this.testServer = new TestServer();
- }
-
- public JS get(JS jsKey) throws JSExn {
- String key = JSU.toString(jsKey);
- if( "startTestServer".equals(key)
- || "stopTestServer".equals(key)
- || "xmlrpc".equals(key)){
- return METHOD;
- }
- return super.get(jsKey);
- }
-
- public JS call(JS method, JS[] args) throws JSExn {
- String key = JSU.toString(method);
- if( "startTestServer".equals(key)){
- testServer.start();
- return null;
- }
- if( "stopTestServer".equals(key)){
- testServer.stop();
- return null;
- }
- if( "xmlrpc".equals(key)){
- return new XMLRPC(JSU.toString(args[0]), "");
- }
- return super.call(method, args);
- }
-
- }
-
+
////////////////////////////////////////////////////////////
@@ -183,6 +141,10 @@
return "blah\n\nblah";
}
+ public String throwsException() throws Exception{
+ throw new Exception("argh!");
+ }
+
// factored out here for tests so we don't have to
start/stop the
// webserver for each test (which is slow)
void start(){
Modified:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/emptyline.js
===================================================================
--- core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/emptyline.js
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/emptyline.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,8 +1,6 @@
sys.import("lib");
-
-sys.testXmlrpc.startTestServer();
var xmlrpc = getServer();
var r = xmlrpc.stringWithEmptyline();
assert(r=="blah\n\nblah");
Added:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/ioException.js
===================================================================
--- core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/ioException.js
(rev 0)
+++ core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/ioException.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -0,0 +1,14 @@
+sys.import("lib");
+
+try{
+ // no server on this port
+ var xmlrpc = sys.xmlrpc("http://localhost:31173/").testServer;
+ var r = xmlrpc.thowsException();
+ assert(false);
+}
+catch(e){
+ sys.print(e.type);
+ assert(e.type=="xmlrpc");
+ sys.print(e.message);
+}
+
Modified: core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/lib.js
===================================================================
--- core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/lib.js
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/lib.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,4 +1,4 @@
export.getServer = function(){
- return sys.testXmlrpc.xmlrpc("http://localhost:8091/").testServer;
+ return sys.xmlrpc("http://localhost:8091/").testServer;
};
\ No newline at end of file
Modified:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_object.js
===================================================================
---
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_object.js
2007-07-02 16:45:59 UTC (rev 1906)
+++
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_object.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,6 +1,5 @@
sys.import("lib");
-sys.testXmlrpc.startTestServer();
var xmlrpc = getServer();
var r = xmlrpc.nestedObject();
assert(r.A == "A");
Modified:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector.js
===================================================================
---
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector.js
2007-07-02 16:45:59 UTC (rev 1906)
+++
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,6 +1,5 @@
sys.import("lib");
-sys.testXmlrpc.startTestServer();
var xmlrpc = getServer();
var r = xmlrpc.nestedVector();
assert(r.x[0] == "melon");
\ No newline at end of file
Modified:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector2.js
===================================================================
---
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector2.js
2007-07-02 16:45:59 UTC (rev 1906)
+++
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/nested_vector2.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,6 +1,5 @@
sys.import("lib");
-sys.testXmlrpc.startTestServer();
var xmlrpc = getServer();
var r = xmlrpc.nestedVector2();
sys.print(r.vars[0] +","+r.vars[1] +","+r.vars[2]);
Deleted:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/no_handler.js
===================================================================
--- core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/no_handler.js
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/no_handler.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,13 +0,0 @@
-sys.import("lib");
-
-sys.testXmlrpc.stopTestServer();
-try{
- var xmlrpc = getServer();
- var r = xmlrpc.addOne(2);
- assert(false);
-}
-catch(e){
- sys.print(e.type);
- assert(e.type=="xmlrpc");
- sys.print(e.message);
-}
Added:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException.js
===================================================================
---
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException.js
(rev 0)
+++
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -0,0 +1,13 @@
+sys.import("lib");
+
+try{
+ var xmlrpc = getServer();
+ var r = xmlrpc.thowsException();
+ assert(false);
+}
+catch(e){
+ sys.print(e.type);
+ assert(e.type=="remote");
+ sys.print(e.message);
+}
+
Copied:
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException2.js
(from rev 1903,
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/no_handler.js)
===================================================================
---
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException2.js
(rev 0)
+++
core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/serverException2.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -0,0 +1,12 @@
+sys.import("lib");
+
+try{
+ var xmlrpc = sys.xmlrpc("http://localhost:8091/").notAHandler;
+ var r = xmlrpc.addOne(2);
+ assert(false);
+}
+catch(e){
+ sys.print(e.type);
+ assert(e.type=="remote");
+ sys.print(e.message);
+}
Modified: core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/simple.js
===================================================================
--- core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/simple.js
2007-07-02 16:45:59 UTC (rev 1906)
+++ core/branches/vexi2/org.ibex.js/src_junit/test/js/rpc/xmlrpc/simple.js
2007-07-02 17:31:04 UTC (rev 1907)
@@ -1,8 +1,6 @@
sys.import("lib");
-
-sys.testXmlrpc.startTestServer();
var xmlrpc = getServer();
var r = xmlrpc.addOne(2);
assert(r==3);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn