Revision: 3767
          http://vexi.svn.sourceforge.net/vexi/?rev=3767&view=rev
Author:   mkpg2
Date:     2009-12-14 17:48:12 +0000 (Mon, 14 Dec 2009)

Log Message:
-----------
Fix & test. Throw js exn in event of missing template.

Modified Paths:
--------------
    trunk/core/org.vexi.core/src/org/vexi/core/Blessing.java
    trunk/core/org.vexi.core/src/org/vexi/core/VML.java
    trunk/core/org.vexi.core/src_junit/test/core/CoreTestSuite.java
    trunk/core/org.vexi.core/src_junit/test/core/TestExec.java
    trunk/core/org.vexi.core/src_junit/test/core/general/TestGeneral.java

Added Paths:
-----------
    trunk/core/org.vexi.core/src_junit/test/core/TestMissingMainFile.java

Modified: trunk/core/org.vexi.core/src/org/vexi/core/Blessing.java
===================================================================
--- trunk/core/org.vexi.core/src/org/vexi/core/Blessing.java    2009-12-14 
00:10:20 UTC (rev 3766)
+++ trunk/core/org.vexi.core/src/org/vexi/core/Blessing.java    2009-12-14 
17:48:12 UTC (rev 3767)
@@ -181,10 +181,13 @@
         return s;
     }
     public int callType() { return CALLTYPE_APPLY; }
-    private Template getTemplate() throws JSExn {
+    // FEATURE: This is a gross hack
+    //Template getTemplate() throws JSExn { ...
+    // COROLLARY: this must also be then ...
+    Template getTemplate() throws JSExn {
         // Ensure template is created by creating the static part.
         resolve();
-        if (static_ == null) {
+        if (static_.template == null) {
             throw new JSExn("No such template '"+description()+"'");
         }
         return static_.template;
@@ -210,16 +213,7 @@
         }
     }
     
-    // FEATURE: This is a gross hack
-    //Template getTemplate() throws JSExn { ...
-    // COROLLARY: this must also be then ...
-    Static initTemplate() throws JSExn {
-        resolve();
-        if (static_ == null) {
-            throw new JSExn("No such template '"+description()+"'");
-        }
-        return static_;
-    }
+
  
     public String coerceToString() {
         return description()+"$"+Integer.toHexString(hashCode());

Modified: trunk/core/org.vexi.core/src/org/vexi/core/VML.java
===================================================================
--- trunk/core/org.vexi.core/src/org/vexi/core/VML.java 2009-12-14 00:10:20 UTC 
(rev 3766)
+++ trunk/core/org.vexi.core/src/org/vexi/core/VML.java 2009-12-14 17:48:12 UTC 
(rev 3767)
@@ -143,11 +143,11 @@
                 if (o==null) return null;
                 Template t;
                 if(o instanceof String){
-                    t = 
((Blessing)Vexi.resolveString(vexi,(String)o)).initTemplate().template;
+                    t = 
((Blessing)Vexi.resolveString(vexi,(String)o)).getTemplate();
                 }else {
                     t = (Template)o;
                     if(Main.hotreplace  && t.isTop()){
-                        t = 
((Blessing)Vexi.resolveString(vexi,t.getStatic().sourceName)).initTemplate().template;
+                        t = 
((Blessing)Vexi.resolveString(vexi,t.getStatic().sourceName)).getTemplate();
                     }
                 }
                 t.apply(thisHolder, args, null);

Modified: trunk/core/org.vexi.core/src_junit/test/core/CoreTestSuite.java
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/CoreTestSuite.java     
2009-12-14 00:10:20 UTC (rev 3766)
+++ trunk/core/org.vexi.core/src_junit/test/core/CoreTestSuite.java     
2009-12-14 17:48:12 UTC (rev 3767)
@@ -37,7 +37,7 @@
                return false;
        }
        
-       public static Test suite(Class suiteClass) {
+       static public Test suite(Class suiteClass) {
                return suite(new CoreTestSuite(suiteClass));
        }
 }

Modified: trunk/core/org.vexi.core/src_junit/test/core/TestExec.java
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/TestExec.java  2009-12-14 
00:10:20 UTC (rev 3766)
+++ trunk/core/org.vexi.core/src_junit/test/core/TestExec.java  2009-12-14 
17:48:12 UTC (rev 3767)
@@ -1,12 +1,15 @@
 package test.core;
 
 import junit.framework.Test;
+import junit.framework.TestSuite;
 
 import org.ibex.js.JSTestUtil;
 
 public class TestExec {
 
        static public Test suite() {
-               return JSTestUtil.buildScriptSuite(new TestExec());
+               TestSuite r = JSTestUtil.buildScriptSuite(new TestExec());
+               r.addTestSuite(TestMissingMainFile.class);
+               return r;
        }
 }

Added: trunk/core/org.vexi.core/src_junit/test/core/TestMissingMainFile.java
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/TestMissingMainFile.java       
                        (rev 0)
+++ trunk/core/org.vexi.core/src_junit/test/core/TestMissingMainFile.java       
2009-12-14 17:48:12 UTC (rev 3767)
@@ -0,0 +1,25 @@
+package test.core;
+
+import junit.framework.TestCase;
+
+import org.ibex.js.Fountain;
+import org.ibex.js.JSExn;
+import org.vexi.core.Main;
+import org.vexi.core.Vexi;
+import org.vexi.plat.Platform;
+
+
+public class TestMissingMainFile extends TestCase {
+
+
+    public void testFileMissing() throws Exception{
+        Fountain.Multiple path = new Fountain.Multiple(4);
+        path.addOverrideStream(CoreTestSuite.getSharedDir());
+        Main.SCHEDULER = new Platform.Scheduler(true);
+        final Vexi v =  new Vexi(path);//DevUtil.createVexi(jspath);
+        
+        CoreTestCase.schedule(v, "no_such_file.t");
+        Exception e = (Exception)Main.SCHEDULER.run();
+        assertTrue("Expect JSExn", (e instanceof JSExn));
+    }
+}


Property changes on: 
trunk/core/org.vexi.core/src_junit/test/core/TestMissingMainFile.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: trunk/core/org.vexi.core/src_junit/test/core/general/TestGeneral.java
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/general/TestGeneral.java       
2009-12-14 00:10:20 UTC (rev 3766)
+++ trunk/core/org.vexi.core/src_junit/test/core/general/TestGeneral.java       
2009-12-14 17:48:12 UTC (rev 3767)
@@ -17,4 +17,5 @@
        TestCase t = cts.createTestCase(cts.getResourceDirs(), "log.t");
        t.runBare();
        }
+
 }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to