Revision: 3735
http://vexi.svn.sourceforge.net/vexi/?rev=3735&view=rev
Author: mkpg2
Date: 2009-10-30 15:09:53 +0000 (Fri, 30 Oct 2009)
Log Message:
-----------
Feature. Expose sub components to facilitate testing.
Modified Paths:
--------------
trunk/core/org.vexi.core/src/org/vexi/core/Constants.java
trunk/core/org.vexi.core/src/org/vexi/core/Template.java
trunk/core/org.vexi.core/src_junit/test/core/template/TestTemplate.java
Added Paths:
-----------
trunk/core/org.vexi.core/src_junit/test/core/template/_subComponents.t
trunk/core/org.vexi.core/src_junit/test/core/template/subComponents.t
Modified: trunk/core/org.vexi.core/src/org/vexi/core/Constants.java
===================================================================
--- trunk/core/org.vexi.core/src/org/vexi/core/Constants.java 2009-10-30
13:16:49 UTC (rev 3734)
+++ trunk/core/org.vexi.core/src/org/vexi/core/Constants.java 2009-10-30
15:09:53 UTC (rev 3735)
@@ -48,6 +48,7 @@
static final JS SC_redirect = JSU.S("redirect",true);
static final JS SC_shrink = JSU.S("shrink",true);
static final JS SC_stringify = JSU.S("stringify",true);
+ static final JS SC_subComponents = JSU.S("subComponents",true);
static final JS SC_surface = JSU.S("surface",true);
static final JS SC_thisobj = JSU.S("thisobj",true);
static final JS SC_vertical = JSU.S("vertical",true);
Modified: trunk/core/org.vexi.core/src/org/vexi/core/Template.java
===================================================================
--- trunk/core/org.vexi.core/src/org/vexi/core/Template.java 2009-10-30
13:16:49 UTC (rev 3734)
+++ trunk/core/org.vexi.core/src/org/vexi/core/Template.java 2009-10-30
15:09:53 UTC (rev 3735)
@@ -383,6 +383,7 @@
PerInstantiationScope parentBoxPis;
final JS box;
final boolean jsObj;
+ private JS subComponents;
void putDollar(String key, JS target) throws JSExn {
if (parentBoxPis!=null) {
parentBoxPis.putDollar(key, target);
@@ -394,7 +395,13 @@
// as no way to do it otherwise in java?)
Static getStaticPart() { return staticPart; }
// JS:FIXME: ugly
- void sput(JS key, JS val) throws JSExn { super.put(key,val); }
+ void sput(JS key, JS val) throws JSExn {
+ if(subComponents==null){
+ subComponents = new JS.Obj();
+ box.put(SC_subComponents, subComponents);
+ }
+ subComponents.put(key,val);
+ }
public PerInstantiationScope(JS box, PerInstantiationScope
parentBoxPis, boolean isBox) {
this.parentBoxPis = parentBoxPis;
this.box = box;
@@ -405,8 +412,8 @@
if (JSU.isString(key)) {
// FIXME This is a hack
// 1.returns $x for named child boxes
- if (super.get(key)!=null) {
- return super.get(key);
+ if (subComponents!=null && subComponents.get(key)!=null) {
+ return subComponents.get(key);
}
// FEATURE store null placeholder here if uri prefix doesn't
// exist and cache values using super.put to save one hash
lookup
Modified:
trunk/core/org.vexi.core/src_junit/test/core/template/TestTemplate.java
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/template/TestTemplate.java
2009-10-30 13:16:49 UTC (rev 3734)
+++ trunk/core/org.vexi.core/src_junit/test/core/template/TestTemplate.java
2009-10-30 15:09:53 UTC (rev 3735)
@@ -15,7 +15,7 @@
public static void main(String[] args) throws Throwable {
CoreTestSuite cts = new CoreTestSuite(TestTemplate.class);
- TestCase t = cts.createTestCase(cts.getResourceDirs(), "instanceof.t");
+ TestCase t = cts.createTestCase(cts.getResourceDirs(),
"subComponents.t");
t.runBare();
}
}
Added: trunk/core/org.vexi.core/src_junit/test/core/template/_subComponents.t
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/template/_subComponents.t
(rev 0)
+++ trunk/core/org.vexi.core/src_junit/test/core/template/_subComponents.t
2009-10-30 15:09:53 UTC (rev 3735)
@@ -0,0 +1,6 @@
+<vexi xmlns:ui="vexi://ui" xmlns="">
+
+ <ui:box>
+ <ui:box id="sub1" text="Sub 1"/>
+ </ui:box>
+</vexi>
Added: trunk/core/org.vexi.core/src_junit/test/core/template/subComponents.t
===================================================================
--- trunk/core/org.vexi.core/src_junit/test/core/template/subComponents.t
(rev 0)
+++ trunk/core/org.vexi.core/src_junit/test/core/template/subComponents.t
2009-10-30 15:09:53 UTC (rev 3735)
@@ -0,0 +1,9 @@
+<vexi xmlns:ui="vexi://ui" xmlns="">
+
+ <ui:box>
+ var main = new ._subComponents();
+ var sub = main.subComponents["$sub1"];
+ .util..assertEquals("Sub 1",sub.text);
+ </ui:box>
+
+</vexi>
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn