Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinWorkerTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinWorkerTest.java?rev=795264&r1=795263&r2=795264&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinWorkerTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinWorkerTest.java
 Fri Jul 17 22:53:30 2009
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
 import org.apache.tapestry5.services.ComponentClassResolver;
 import org.apache.tapestry5.services.TransformConstants;
 import org.testng.annotations.Test;
+import org.easymock.EasyMock;
 
 public class MixinWorkerTest extends InternalBaseTestCase
 {
@@ -41,12 +42,13 @@
     }
 
     @Test
-    public void field_with_explicit_type()
+    public void field_with_explicit_type_and_order()
     {
         ComponentClassResolver resolver = mockComponentClassResolver();
         ClassTransformation transformation = mockClassTransformation();
         MutableComponentModel model = mockMutableComponentModel();
-        Mixin annotation = newMixin("Bar");
+        String[] order = {"before:*"};
+        Mixin annotation = newMixin("Bar",order);
 
         train_findFieldsWithAnnotation(transformation, Mixin.class, "fred");
         train_getFieldAnnotation(transformation, "fred", Mixin.class, 
annotation);
@@ -54,7 +56,7 @@
 
         train_resolveMixinTypeToClassName(resolver, "Bar", "foo.bar.BazMixin");
 
-        model.addMixinClassName("foo.bar.BazMixin");
+        model.addMixinClassName("foo.bar.BazMixin",order);
 
         transformation.makeReadOnly("fred");
 
@@ -75,18 +77,19 @@
     }
 
     @Test
-    public void field_with_no_specific_mixin_type()
+    public void field_with_no_specific_mixin_type_or_order()
     {
         ComponentClassResolver resolver = mockComponentClassResolver();
         ClassTransformation transformation = mockClassTransformation();
         MutableComponentModel model = mockMutableComponentModel();
-        Mixin annotation = newMixin("");
+        String[] order = new String[0];
+        Mixin annotation = newMixin("",order);
 
         train_findFieldsWithAnnotation(transformation, Mixin.class, "fred");
         train_getFieldAnnotation(transformation, "fred", Mixin.class, 
annotation);
         train_getFieldType(transformation, "fred", "foo.bar.Baz");
 
-        model.addMixinClassName("foo.bar.Baz");
+        model.addMixinClassName("foo.bar.Baz",order);
 
         transformation.makeReadOnly("fred");
 
@@ -113,12 +116,12 @@
         
expect(resolver.resolveMixinTypeToClassName(mixinType)).andReturn(mixinClassName);
     }
 
-    private Mixin newMixin(String value)
+    private Mixin newMixin(String value,String...order)
     {
         Mixin annotation = newMock(Mixin.class);
 
         expect(annotation.value()).andReturn(value);
-
+        expect(annotation.order()).andReturn(order);
         return annotation;
     }
 }

Added: 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/components/BindParameterComponentContainer.tml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/components/BindParameterComponentContainer.tml?rev=795264&view=auto
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/components/BindParameterComponentContainer.tml
 (added)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/components/BindParameterComponentContainer.tml
 Fri Jul 17 22:53:30 2009
@@ -0,0 +1,21 @@
+<!--
+  ~ Copyright 2009 The Apache Software Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";>
+
+    <t:bindparametercomponent/>
+
+</t:container>
\ No newline at end of file

Copied: 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterDemo.tml
 (from r786676, 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ParameterDefault.tml)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterDemo.tml?p2=tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterDemo.tml&p1=tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ParameterDefault.tml&r1=786676&r2=795264&rev=795264&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ParameterDefault.tml
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterDemo.tml
 Fri Jul 17 22:53:30 2009
@@ -1,6 +1,32 @@
-<html t:type="Border" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
-    
+<!--
+  ~ Copyright 2009 The Apache Software Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
 
-  Echo component default: [<t:echo t:id="echo"/>]
+<html t:type="Border" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";>
     
+  <t:form>
+      <t:textfield t:id="testmixin" value="myproperty" t:mixins="echovalue"/>
+      <t:textfield t:id="testmixin2" value="myproperty2" 
t:mixins="echovalue2"/>
+      <t:textfield t:id="testmixin3" value="myproperty3" 
t:mixins="echovalue3"/>
+      <t:textfield t:id="multimixins" value="myproperty4" 
t:mixins="echovalue::before:*, echovalue2::before:echovalue3, echovalue3"/>
+      <t:textonlyondisabledtextfield t:id="defaultbinding" value="myproperty5" 
disabled="true" t:mixins="echovalue"/>
+  </t:form>
+
+  <div id="mypropertyoutput">${myproperty}</div>
+  <div id="mypropertyoutput2">${myproperty2}</div>
+  <div id="mypropertyoutput3">${myproperty3}</div>
+  <div id="mypropertyoutput4">${myproperty4}</div>
+  <div id="mypropertyoutput5">${myproperty5}</div>
 </html>

Added: 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterNoSuchParameter.tml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterNoSuchParameter.tml?rev=795264&view=auto
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterNoSuchParameter.tml
 (added)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterNoSuchParameter.tml
 Fri Jul 17 22:53:30 2009
@@ -0,0 +1,21 @@
+<!--
+  ~ Copyright 2009 The Apache Software Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<html t:type="Border" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";>
+    
+ <t:any t:id="throwexception" t:mixins="echovalue2"/>
+
+</html>

Added: 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterOnComponent.tml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterOnComponent.tml?rev=795264&view=auto
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterOnComponent.tml
 (added)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BindParameterOnComponent.tml
 Fri Jul 17 22:53:30 2009
@@ -0,0 +1,21 @@
+<!--
+  ~ Copyright 2009 The Apache Software Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<html t:type="Border" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";>
+
+ <t:bindparametercomponentcontainer t:id="throwexception"/>
+
+</html>

Copied: 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MissingComponentClassException.tml
 (from r786676, 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BadTemplate.tml)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MissingComponentClassException.tml?p2=tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MissingComponentClassException.tml&p1=tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BadTemplate.tml&r1=786676&r2=795264&rev=795264&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/BadTemplate.tml
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MissingComponentClassException.tml
 Fri Jul 17 22:53:30 2009
@@ -1,12 +1,29 @@
+<!--
+  ~ Copyright 2009 The Apache Software Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
 <html t:type="Border" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
 
-    <p>
-        This template is not well formed.</p>
+    <p>
+        This template has a component with an undeterminable component class 
(not properly declared in either the
+    template or the containing component class).</p>
     
-    <t:foobar>content from template</foobar>
+    <input t:id="componentwithnotype" value="someproperty"/>
     
-    <p>
-        This page is used to test exception reporting.
+    <p>
+        This page is used to test exception reporting.
     </p>
     
 </html>   
\ No newline at end of file

Added: 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MixinOrderingDemo.tml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MixinOrderingDemo.tml?rev=795264&view=auto
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MixinOrderingDemo.tml
 (added)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/MixinOrderingDemo.tml
 Fri Jul 17 22:53:30 2009
@@ -0,0 +1,47 @@
+<!--
+  ~ Copyright 2009 The Apache Software Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<html t:type="Border" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";>
+    
+  <t:form>
+      <p>
+          Explicit and implicit ordering, all in template, using globbing:
+      </p>
+      <t:textfield t:id="order1" value="myproperty" 
t:mixins="echovalue::before:*, echovalue2::before:echovalue3, echovalue3"/>
+
+      <p>
+          Explicit and implicit ordering, all in template, no globbing, but 
multiple order constraints specified for at least one mixin:
+      </p>
+      <t:textfield t:id="order2" value="myproperty" 
t:mixins="echovalue::after:echovalue2;after:echovalue3, 
echovalue2::after:echovalue3, echovalue3"/>
+
+      <p>Mixture of template, @Mixins, and @MixinClasses ordering, all 
ordered.</p>
+      <input t:id="order3" value="myproperty" 
t:mixins="echovalue3::before:echovalue"/>
+
+      <p>Mixture of template, @Mixins, and @MixinClasses, with the only 
constraints specified in the template and @Mixins</p>
+      <input t:id="order4" value="myproperty" 
t:mixins="echovalue3::before:echovalue"/>
+
+      <p>Mixture of template, @Mixins, and @MixinClasses, with the only 
constraints specified in the template and @MixinClasses</p>
+      <input t:id="order5" value="myproperty" 
t:mixins="echovalue3::after:echovalue"/>
+
+      <p>Mixture of template, @Mixins, @MixinClasses, and @Mixin ordering. 
Note that all of the above also include @Mixin without explicit ordering 
constraints since textfield has an implementation mixin.</p>
+      <input t:id="order6" disabled="true" value="myproperty" 
t:mixins="echovalue::before:echovalue3"/>
+
+      <p>Mingling mixin after with mixin before</p>
+      <!-- the constraint on echoafter2 should have no effect. -->
+      <t:textfield t:id="order7" value="myproperty" 
t:mixins="echovalue::before:echovalue2, echovalue2, 
echoafter::after:echoafter2, echoafter2::before:echovalue"/>
+  </t:form>
+
+</html>

Modified: 
tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java?rev=795264&r1=795263&r2=795264&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java
 Fri Jul 17 22:53:30 2009
@@ -187,7 +187,7 @@
     {
         for (String item : text)
         {
-            if (isTextPresent(item)) return;
+            if (isTextPresent(item)) continue;
 
             System.err.printf("Text pattern '%s' not found in:\n%s\n\n", item, 
selenium
                     .getHtmlSource());


Reply via email to