Revision: 1760 http://svn.sourceforge.net/vexi/?rev=1760&view=rev Author: mkpg2 Date: 2007-03-29 04:45:34 -0700 (Thu, 29 Mar 2007)
Log Message: ----------- Tests. Test for 'partial virtualization' Modified Paths: -------------- core/trunk/org.vexi.core/src_junit/test/core/gut/TestGUT.java core/trunk/org.vexi.core/src_junit/test/core/gut/virtualize.t core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/a.t Added Paths: ----------- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/sub/ core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/sub/b.t core/trunk/org.vexi.core/src_junit/test/core/gut/virtualizepart.t Removed Paths: ------------- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/b.t Modified: core/trunk/org.vexi.core/src_junit/test/core/gut/TestGUT.java =================================================================== --- core/trunk/org.vexi.core/src_junit/test/core/gut/TestGUT.java 2007-03-27 16:30:41 UTC (rev 1759) +++ core/trunk/org.vexi.core/src_junit/test/core/gut/TestGUT.java 2007-03-29 11:45:34 UTC (rev 1760) @@ -15,7 +15,7 @@ public static void main(String[] args) throws Throwable { CoreTestSuite cts = new CoreTestSuite(TestGUT.class); - TestCase t = cts.createTestCase(cts.getResourceDirs(), "virtualize.t"); + TestCase t = cts.createTestCase(cts.getResourceDirs(), "virtualizepart.t"); t.runBare(); } } Modified: core/trunk/org.vexi.core/src_junit/test/core/gut/virtualize.t =================================================================== --- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualize.t 2007-03-27 16:30:41 UTC (rev 1759) +++ core/trunk/org.vexi.core/src_junit/test/core/gut/virtualize.t 2007-03-29 11:45:34 UTC (rev 1760) @@ -5,22 +5,38 @@ // REMARK - unclones automatically (so actually reblessing) // REMARK - must use cloned vexi to do the bless as it is the // vexi that will be passed into templates - // REMARK - need to clone the parent of the resource we want - // to virtualize as the trap has to be on the parent + // B1 B1b i + // | | i - trap + // | | i + // | | + // B"" B""b | + // |\ i | - refernce + // | \ i | + // | \ i + // V---V* X---X* - clone + // + // REMARK B"" here is the root of the namespace vexi../vexi[""] + // REMARK each blessing only shows one child, but they can have + // may. + var res_clone = vexi_world.bless(vexi[""]); vexi_world[""] ++= res_clone; return vexi_world; } vexi.thread = function(){ - var v = virtvexi(); - .util..assertEquals(0,v..virtualized.a..value); - v..virtualized.a..value = 1; + var v1 = virtvexi(); + .util..assertEquals(0,v1..virtualized.a..value); + v1..virtualized.a..value = 1; var v2 = virtvexi(); - vexi.log.info(""+v..virtualized); + vexi.log.info(""+v1..virtualized); vexi.log.info(""+v2..virtualized); - .util..assertEquals(1,v..virtualized.a..value); + .util..assertEquals(1,v1..virtualized.a..value); .util..assertEquals(0,v2..virtualized.a..value); + // Shouldn't affect either virtualized instance + vexi..virtualized.sub.b..value = 1; + .util..assertEquals(0,v1..virtualized.a..bvalue); + }; Modified: core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/a.t =================================================================== --- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/a.t 2007-03-27 16:30:41 UTC (rev 1759) +++ core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/a.t 2007-03-29 11:45:34 UTC (rev 1760) @@ -4,8 +4,10 @@ static.value = 0; // Accessing the vexi object from the global scope - static.bvalue = vexi.._b.value; - vexi..virtualized.b..value += 1; + static.bvalue ++= function(){ + return vexi..virtualized.sub.b..value; + }; + <ui:box/> </vexi> Deleted: core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/b.t =================================================================== --- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/b.t 2007-03-27 16:30:41 UTC (rev 1759) +++ core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/b.t 2007-03-29 11:45:34 UTC (rev 1760) @@ -1,7 +0,0 @@ -<vexi xmlns:ui="vexi://ui" xmlns=""> - vexi.log.info("init b"); - - static.value = 0; - - <ui:box/> -</vexi> Copied: core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/sub/b.t (from rev 1759, core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/b.t) =================================================================== --- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/sub/b.t (rev 0) +++ core/trunk/org.vexi.core/src_junit/test/core/gut/virtualized/sub/b.t 2007-03-29 11:45:34 UTC (rev 1760) @@ -0,0 +1,10 @@ +<vexi xmlns:ui="vexi://ui" xmlns=""> + vexi.log.info("init b"); + + static.value = 0; + static.avalue ++=function(){ + return vexi..virtualized.a..value; + }; + + <ui:box/> +</vexi> Added: core/trunk/org.vexi.core/src_junit/test/core/gut/virtualizepart.t =================================================================== --- core/trunk/org.vexi.core/src_junit/test/core/gut/virtualizepart.t (rev 0) +++ core/trunk/org.vexi.core/src_junit/test/core/gut/virtualizepart.t 2007-03-29 11:45:34 UTC (rev 1760) @@ -0,0 +1,61 @@ +<vexi xmlns:ui="vexi://ui" xmlns=""> + + var virtvexi = function(){ + // REMARK - need to make a chain of clones of all the shared + // blessings. For example: + // + // B3 B3b i + // | | i - trap + // | | i + // | | + // B2 B2b | + // |\ i | - refernce + // | \ i | + // | \ i + // B1---B1* X---X* - clone + // |\ i + // | \ i + // | \i + // B""---B""* + // |\ i + // | \ i + // | \i + // V---V* + // + // REMARK B"" here is the root of the namespace vexi../vexi[""] + // REMARK each blessing only shows one child, but they can have + // may. + var vexi_world = vexi.clone(vexi); + var B_clone = vexi_world.clone(vexi[""]); + vexi_world[""] ++= B_clone; + var B1_clone = vexi_world.clone(B_clone.virtualized); + B_clone.virtualized ++= B1_clone; + var B2b = vexi_world.bless(B1_clone.sub); + B1_clone.sub ++= B2b; + return vexi_world; + } + + vexi.thread = function(){ + var v1 = virtvexi(); + .util..assertEquals(0,v1..virtualized.a..value); + v1..virtualized.a..value = 1; + var v2 = virtvexi(); + vexi.log.info(""+v1[""] +","+v1..virtualized+","+v1..virtualized.sub); + vexi.log.info(""+v2[""] +","+v2..virtualized+","+v2..virtualized.sub); + // a is shared + .util..assertEquals(1,v1..virtualized.a..value); + .util..assertEquals(1,v2..virtualized.a..value); + // Values in b can be different + v1..virtualized.sub.b..value = 1; + .util..assertEquals(1,v1..virtualized.sub.b..value); + .util..assertEquals(0,v2..virtualized.sub.b..value); + // Access a.value through b + .util..assertEquals(1,v1..virtualized.sub.b..avalue); + .util..assertEquals(1,v2..virtualized.sub.b..avalue); + + }; + + + + <ui:box/> +</vexi> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn