You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2006/11/16 18:05:44 UTC

svn commit: r475816 - in /tapestry/tapestry5/tapestry-core/trunk/src: main/java/org/apache/tapestry/ main/java/org/apache/tapestry/corelib/components/ main/java/org/apache/tapestry/corelib/mixins/ main/java/org/apache/tapestry/internal/model/ main/java...

Author: hlship
Date: Thu Nov 16 09:05:42 2006
New Revision: 475816

URL: http://svn.apache.org/viewvc?view=rev&rev=475816
Log:
Add mixin for rendering informal parameters.

Added:
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java
Modified:
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/AbstractField.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ActionPage.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html
    tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.html
    tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/SimpleForm.html

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/ComponentResources.java Thu Nov 16 09:05:42 2006
@@ -53,4 +53,11 @@
     /** Returns true if the named parameter is bound, false if not. */
     boolean isBound(String parameterName);
 
+    /**
+     * Indentifies all parameters that are not formal parameters and writes each as a
+     * attribute/value pair into the current element of the markup writer.
+     * 
+     * @param writer
+     */
+    void renderInformalParameters(MarkupWriter writer);
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/AbstractField.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/AbstractField.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/AbstractField.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/AbstractField.java Thu Nov 16 09:05:42 2006
@@ -22,15 +22,24 @@
 import org.apache.tapestry.annotations.ComponentClass;
 import org.apache.tapestry.annotations.Environmental;
 import org.apache.tapestry.annotations.Inject;
+import org.apache.tapestry.annotations.Mixin;
 import org.apache.tapestry.annotations.SetupRender;
+import org.apache.tapestry.corelib.mixins.RenderInformals;
 import org.apache.tapestry.services.FormSupport;
 import org.apache.tapestry.services.PageRenderSupport;
 import org.apache.tapestry.services.WebRequest;
 
-/** Provides initialization of the clientId and elementName properties. */
+/**
+ * Provides initialization of the clientId and elementName properties. In addition, adds the
+ * {@link RenderInformals} mixin.
+ */
 @ComponentClass
 public abstract class AbstractField implements Field
 {
+    @SuppressWarnings("unused")
+    @Mixin
+    private RenderInformals _renderInformals;
+
     static class SetupAction implements ComponentAction<AbstractField>, Serializable
     {
         private static final long serialVersionUID = 2690270808212097020L;

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java Thu Nov 16 09:05:42 2006
@@ -25,7 +25,9 @@
 import org.apache.tapestry.annotations.BeginRender;
 import org.apache.tapestry.annotations.ComponentClass;
 import org.apache.tapestry.annotations.Inject;
+import org.apache.tapestry.annotations.Mixin;
 import org.apache.tapestry.annotations.Parameter;
+import org.apache.tapestry.corelib.mixins.RenderInformals;
 
 /**
  * Component that triggers an action on the server with a subsequent full page refresh.
@@ -45,6 +47,10 @@
 
     @Inject
     private ComponentResources _resources;
+    
+    @SuppressWarnings("unused")
+    @Mixin
+    private RenderInformals _renderInformals;
 
     @BeginRender
     void begin(MarkupWriter writer)

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java Thu Nov 16 09:05:42 2006
@@ -30,8 +30,10 @@
 import org.apache.tapestry.annotations.ComponentClass;
 import org.apache.tapestry.annotations.Environmental;
 import org.apache.tapestry.annotations.Inject;
+import org.apache.tapestry.annotations.Mixin;
 import org.apache.tapestry.annotations.OnEvent;
 import org.apache.tapestry.annotations.SetupRender;
+import org.apache.tapestry.corelib.mixins.RenderInformals;
 import org.apache.tapestry.dom.Element;
 import org.apache.tapestry.internal.util.AcceptVoidEventHandler;
 import org.apache.tapestry.internal.util.Base64ObjectInputStream;
@@ -85,6 +87,11 @@
 
     private Base64ObjectOutputStream _actions;
 
+    
+    @SuppressWarnings("unused")
+    @Mixin
+    private RenderInformals _renderInformals;
+    
     @SetupRender
     void setup()
     {

Added: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java?view=auto&rev=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java Thu Nov 16 09:05:42 2006
@@ -0,0 +1,36 @@
+package org.apache.tapestry.corelib.mixins;
+
+import org.apache.tapestry.ComponentResources;
+import org.apache.tapestry.MarkupWriter;
+import org.apache.tapestry.annotations.AfterRenderTemplate;
+import org.apache.tapestry.annotations.BeforeRenderTemplate;
+import org.apache.tapestry.annotations.BeginRender;
+import org.apache.tapestry.annotations.ComponentClass;
+import org.apache.tapestry.annotations.Inject;
+import org.apache.tapestry.annotations.PostBeginRender;
+import org.apache.tapestry.annotations.SupportsInformalParameters;
+
+/**
+ * Used to render out all informal parameters, in the {@link PostBeginRender} phase.
+ * <p>
+ * This mixin can be used with components that render a single tag inside the {@link BeginRender}
+ * phase. RenderInformals will activate during the PostBeginRender phase to write additional
+ * attributes, from the informal parameters, into the active element.
+ * <p>
+ * If you want this behavior, but need to render more than a single tag, then implement render phase
+ * methods for the {@link BeforeRenderTemplate} and {@link AfterRenderTemplate} phases. Use those
+ * phases to write the additional elements and close them.
+ */
+@ComponentClass
+@SupportsInformalParameters
+public class RenderInformals
+{
+    @Inject
+    private ComponentResources _resources;
+
+    @PostBeginRender
+    void write(MarkupWriter writer)
+    {
+        _resources.renderInformalParameters(writer);
+    }
+}

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java Thu Nov 16 09:05:42 2006
@@ -237,10 +237,17 @@
 
     public List<String> getMixinClassNames()
     {
-        if (_mixinClassNames == null)
-            return Collections.emptyList();
-
-        return Collections.unmodifiableList(_mixinClassNames);
+        List<String> result = newList();
+        
+        if (_mixinClassNames != null)
+            result.addAll(_mixinClassNames);
+        
+        if (_parentModel != null)
+            result.addAll(_parentModel.getMixinClassNames());
+        
+        Collections.sort(result);
+        
+        return result;
     }
 
     public void enableSupportsInformalParameters()

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java Thu Nov 16 09:05:42 2006
@@ -22,6 +22,7 @@
 import org.apache.tapestry.Binding;
 import org.apache.tapestry.ComponentEventHandler;
 import org.apache.tapestry.Link;
+import org.apache.tapestry.MarkupWriter;
 import org.apache.tapestry.internal.InternalComponentResources;
 import org.apache.tapestry.internal.TapestryException;
 import org.apache.tapestry.internal.services.Instantiator;
@@ -216,6 +217,20 @@
     public Component getMixinByClassName(String mixinClassName)
     {
         return _element.getMixinByClassName(mixinClassName);
+    }
+
+    public void renderInformalParameters(MarkupWriter writer)
+    {
+        if (_bindings == null)
+            return;
+
+        for (String name : _bindings.keySet())
+        {
+            if (_componentModel.getParameterModel(name) != null)
+                continue;
+
+            writer.attributes(name, readParameter(name, String.class));
+        }
     }
 
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java Thu Nov 16 09:05:42 2006
@@ -34,6 +34,7 @@
 import org.apache.tapestry.internal.parser.TemplateToken;
 import org.apache.tapestry.internal.services.ComponentInstantiatorSource;
 import org.apache.tapestry.internal.services.ComponentTemplateSource;
+import org.apache.tapestry.internal.services.Instantiator;
 import org.apache.tapestry.internal.services.PageElementFactory;
 import org.apache.tapestry.internal.services.PageLoader;
 import org.apache.tapestry.internal.services.PagePool;
@@ -58,6 +59,7 @@
 import org.apache.tapestry.services.TapestryModule;
 import org.apache.tapestry.services.WebRequest;
 import org.apache.tapestry.test.BaseTestCase;
+import org.easymock.EasyMock;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.AfterSuite;
 import org.testng.annotations.BeforeSuite;
@@ -402,5 +404,21 @@
     {
         elementFactory.newRootComponentElement(isA(Page.class), eq(className));
         setReturnValue(rootElement);
+    }
+
+    protected final void train_getModel(Instantiator ins, ComponentModel model)
+    {
+        ins.getModel();
+        setReturnValue(model);
+    }
+
+    protected final Instantiator newInstantiator(Component component)
+    {
+        Instantiator ins = newMock(Instantiator.class);
+    
+        ins.newInstance(EasyMock.isA(InternalComponentResources.class));
+        setReturnValue(component);
+    
+        return ins;
     }
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/IntegrationTests.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/IntegrationTests.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/IntegrationTests.java Thu Nov 16 09:05:42 2006
@@ -225,7 +225,7 @@
             clickAndWait("link=" + i);
 
             String body = _selenium.getBodyText();
-
+            
             assertTrue(body.contains("You chose: " + i));
         }
     }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ActionPage.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ActionPage.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ActionPage.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ActionPage.java Thu Nov 16 09:05:42 2006
@@ -51,4 +51,9 @@
     {
         return _value;
     }
+    
+    public String getLinkClass()
+    {
+        return _index == _value ? "selected" : null;
+    }
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java Thu Nov 16 09:05:42 2006
@@ -19,6 +19,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.tapestry.Resource;
 import org.apache.tapestry.internal.test.InternalBaseTestCase;
+import org.apache.tapestry.model.ComponentModel;
 import org.apache.tapestry.model.MutableComponentModel;
 import org.apache.tapestry.model.MutableEmbeddedComponentModel;
 import org.apache.tapestry.model.ParameterModel;
@@ -514,5 +515,42 @@
 
         verify();
     }
-    
+
+    @Test
+    public void get_mixin_class_names_with_no_mixins()
+    {
+        Resource r = newResource();
+        Log log = newLog();
+
+        replay();
+        ComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
+
+        assertTrue(model.getMixinClassNames().isEmpty());
+
+        verify();
+    }
+
+    @Test
+    public void get_mixin_class_names_mixes_with_parent_model()
+    {
+        Resource r = newResource();
+        Log log = newLog();
+
+        replay();
+
+        MutableComponentModel parent = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
+
+        parent.addMixinClassName("Wilma");
+
+        MutableComponentModel child = new MutableComponentModelImpl(CLASS_NAME, log, r, parent);
+
+        child.addMixinClassName("Fred");
+        child.addMixinClassName("Barney");
+
+        assertEquals(child.getMixinClassNames(), Arrays.asList("Barney", "Fred", "Wilma"));
+
+        verify();
+
+    }
+
 }

Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java?view=auto&rev=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java Thu Nov 16 09:05:42 2006
@@ -0,0 +1,100 @@
+package org.apache.tapestry.internal.structure;
+
+import org.apache.tapestry.Binding;
+import org.apache.tapestry.MarkupWriter;
+import org.apache.tapestry.internal.InternalComponentResources;
+import org.apache.tapestry.internal.services.Instantiator;
+import org.apache.tapestry.internal.test.InternalBaseTestCase;
+import org.apache.tapestry.ioc.services.TypeCoercer;
+import org.apache.tapestry.model.ComponentModel;
+import org.apache.tapestry.model.ParameterModel;
+import org.apache.tapestry.runtime.Component;
+import org.testng.annotations.Test;
+
+public class InternalComponentResourcesImplTest extends InternalBaseTestCase
+{
+    @Test
+    public void render_informal_parameters_no_bindings()
+    {
+        ComponentPageElement element = newComponentPageElement();
+        Component component = newComponent();
+        Instantiator ins = newInstantiator(component);
+        MarkupWriter writer = newMarkupWriter();
+        TypeCoercer coercer = newTypeCoercer();
+        ComponentModel model = newComponentModel();
+
+        train_getModel(ins, model);
+
+        replay();
+
+        InternalComponentResources resources = new InternalComponentResourcesImpl(element, ins,
+                coercer);
+
+        resources.renderInformalParameters(writer);
+
+        verify();
+    }
+
+    @Test
+    public void render_informal_parameters_skips_formal_parameters()
+    {
+        ComponentPageElement element = newComponentPageElement();
+        Component component = newComponent();
+        Instantiator ins = newInstantiator(component);
+        MarkupWriter writer = newMarkupWriter();
+        TypeCoercer coercer = newTypeCoercer();
+        ComponentModel model = newComponentModel();
+        ParameterModel pmodel = newParameterModel();
+        Binding binding = newBinding();
+
+        train_getModel(ins, model);
+
+        train_getParameterModel(model, "fred", pmodel);
+
+        replay();
+
+        InternalComponentResources resources = new InternalComponentResourcesImpl(element, ins,
+                coercer);
+
+        resources.addParameter("fred", binding);
+
+        resources.renderInformalParameters(writer);
+
+        verify();
+    }
+
+    @Test
+    public void render_an_informal_parameter()
+    {
+        ComponentPageElement element = newComponentPageElement();
+        Component component = newComponent();
+        Instantiator ins = newInstantiator(component);
+        MarkupWriter writer = newMarkupWriter();
+        TypeCoercer coercer = newTypeCoercer();
+        ComponentModel model = newComponentModel();
+        Binding binding = newBinding();
+        Object rawValue = new Object();
+        String convertedValue = "*converted*";
+
+        train_getModel(ins, model);
+
+        train_getParameterModel(model, "fred", null);
+
+        train_get(binding, rawValue);
+
+        train_coerce(coercer, rawValue, String.class, convertedValue);
+
+        writer.attributes("fred", convertedValue);
+
+        replay();
+
+        InternalComponentResources resources = new InternalComponentResourcesImpl(element, ins,
+                coercer);
+
+        resources.addParameter("fred", binding);
+
+        resources.renderInformalParameters(writer);
+
+        verify();
+    }
+}

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html Thu Nov 16 09:05:42 2006
@@ -1,6 +1,13 @@
 <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
     <head>
         <title>Tapestry Integration Test Application #1</title>
+        <style>
+A.selected
+{
+  font-size: large;
+  font-weight: bold;
+}
+        </style>
     </head>
     <body>
         <t:body/>

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.html?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.html (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.html Thu Nov 16 09:05:42 2006
@@ -4,7 +4,7 @@
 
     <p>
         <t:comp type="Count" end="10" value="prop:index">
-            <t:comp id="choose" type="ActionLink" context="prop:index">${index}</t:comp>
+            <t:comp id="choose" type="ActionLink" context="prop:index" class="prop:linkClass">${index}</t:comp>
         </t:comp>
     </p>
 

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/SimpleForm.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/SimpleForm.html?view=diff&rev=475816&r1=475815&r2=475816
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/SimpleForm.html (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/resources/org/apache/tapestry/integration/app1/pages/SimpleForm.html Thu Nov 16 09:05:42 2006
@@ -5,7 +5,7 @@
 
     <t:comp type="Form">
 
-        <t:comp type="TextField" id="email" value="prop:email"/>
+        <t:comp type="TextField" id="email" value="prop:email" size="50"/>
 
         <br/>