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

Reply via email to