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