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
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn