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
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to