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 2004/05/03 18:04:26 UTC

cvs commit: jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse ConfigureBadLong.application ComponentCopyOf.jwc ConfigureBadBoolean.application ComponentFieldBinding.jwc PageDescription.page LibraryFrameworkNamespace.library ConfigureExtension.application ComponentWithTypeAndCopyOf.jwc ConfigureBadDouble.application ComponentBadCopy.jwc ComponentWithoutType.jwc BeanDescription.jwc LibraryDescription.library ComponentProperty.jwc TestSpecificationParser.java

hlship      2004/05/03 09:04:26

  Modified:    junit/src/org/apache/tapestry/junit/parse
                        TestSpecificationParser.java
  Added:       junit/src/org/apache/tapestry/junit/parse
                        ConfigureBadLong.application ComponentCopyOf.jwc
                        ConfigureBadBoolean.application
                        ComponentFieldBinding.jwc PageDescription.page
                        LibraryFrameworkNamespace.library
                        ConfigureExtension.application
                        ComponentWithTypeAndCopyOf.jwc
                        ConfigureBadDouble.application ComponentBadCopy.jwc
                        ComponentWithoutType.jwc BeanDescription.jwc
                        LibraryDescription.library ComponentProperty.jwc
  Log:
  Add new tests for features added to the SpecificationParser over the last couple of years!
  
  Revision  Changes    Path
  1.20      +290 -4    jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/TestSpecificationParser.java
  
  Index: TestSpecificationParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/TestSpecificationParser.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- TestSpecificationParser.java	30 Apr 2004 15:17:55 -0000	1.19
  +++ TestSpecificationParser.java	3 May 2004 16:04:25 -0000	1.20
  @@ -25,6 +25,7 @@
   import org.apache.tapestry.spec.IBindingSpecification;
   import org.apache.tapestry.spec.IComponentSpecification;
   import org.apache.tapestry.spec.IContainedComponent;
  +import org.apache.tapestry.spec.IExtensionSpecification;
   import org.apache.tapestry.spec.ILibrarySpecification;
   import org.apache.tapestry.spec.IListenerBindingSpecification;
   import org.apache.tapestry.spec.IParameterSpecification;
  @@ -40,8 +41,7 @@
    *  @author Howard Lewis Ship
    *  @version $Id$
    *  @since 2.0.4
  - *
  - **/
  + */
   
   public class TestSpecificationParser extends TapestryTestCase
   {
  @@ -191,6 +191,8 @@
               spec.getComponentTypes());
   
           checkList("libraryIds", new String[] { "lib1", "lib2" }, spec.getLibraryIds());
  +
  +        assertNotNull(spec.getSpecificationLocation());
       }
   
       /**
  @@ -360,6 +362,8 @@
           assertNull(spec.getEngineClassName());
           assertNull(spec.getName());
           checkLine(spec, 25);
  +
  +        assertNotNull(spec.getSpecificationLocation());
       }
   
       /**
  @@ -388,6 +392,9 @@
   
           assertNull(spec.getComponentClassName());
           checkLine(spec, 22);
  +
  +        assertEquals(false, spec.isPageSpecification());
  +        assertNotNull(spec.getSpecificationLocation());
       }
   
       /**
  @@ -402,6 +409,9 @@
   
           assertNull(spec.getComponentClassName());
           checkLine(spec, 22);
  +
  +        assertEquals(true, spec.isPageSpecification());
  +        assertNotNull(spec.getSpecificationLocation());
       }
   
       /**
  @@ -513,7 +523,6 @@
           String expectedScript =
               buildExpectedScript(
                   new String[] {
  -                    "",
                       "if page.isFormInputValid():",
                       "  cycle.page = \"Results\"",
                       "else:",
  @@ -648,5 +657,282 @@
   
           IContainedComponent textField = spec.getComponent("textField");
           assertEquals(textField.getInheritInformalParameters(), true);
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testConfigureExtension() throws Exception
  +    {
  +        IApplicationSpecification spec = parseApp("ConfigureExtension.application");
  +        IExtensionSpecification es = spec.getExtensionSpecification("my-extension");
  +
  +        assertEquals(new Long(-227), es.getConfiguration().get("long"));
  +        assertEquals(new Double(22.7), es.getConfiguration().get("double"));
  +        assertEquals(Boolean.TRUE, es.getConfiguration().get("boolean"));
  +        assertEquals("An extended string.", es.getConfiguration().get("string"));
  +    }
  +
  +    public void testConfigureExtensionProperty() throws Exception
  +    {
  +        IApplicationSpecification spec = parseApp("ConfigureExtension.application");
  +        IExtensionSpecification es = spec.getExtensionSpecification("my-extension");
  +
  +        assertEquals("my-value", es.getProperty("my-property"));
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testConfigureBadBoolean() throws Exception
  +    {
  +        try
  +        {
  +            parseApp("ConfigureBadBoolean.application");
  +            unreachable();
  +        }
  +        catch (DocumentParseException ex)
  +        {
  +            checkException(ex, "Could not convert 'sure!' to boolean.");
  +        }
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testConfigureBadDouble() throws Exception
  +    {
  +        try
  +        {
  +            parseApp("ConfigureBadDouble.application");
  +            unreachable();
  +        }
  +        catch (DocumentParseException ex)
  +        {
  +            checkException(ex, "Could not convert 'nogo!' to double.");
  +        }
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testConfigureBadLong() throws Exception
  +    {
  +        try
  +        {
  +            parseApp("ConfigureBadLong.application");
  +            unreachable();
  +        }
  +        catch (DocumentParseException ex)
  +        {
  +            checkException(ex, "Could not convert 'nogo!' to long.");
  +        }
  +    }
  +
  +    /**
  +     * 
  +     * Tests the DTD 1.3 <field-binding> element.
  +     * 
  +     * @since 3.1
  +     */
  +
  +    public void testComponentFieldBinding() throws Exception
  +    {
  +        IComponentSpecification cs = parseComponent("ComponentFieldBinding.jwc");
  +
  +        IContainedComponent cc = cs.getComponent("insertVersion");
  +
  +        IBindingSpecification b = cc.getBinding("value");
  +
  +        assertEquals(BindingType.FIELD, b.getType());
  +        assertEquals("org.apache.tapestry.Tapestry.VERSION", b.getValue());
  +        assertNotNull(b.getLocation());
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testComponentProperty() throws Exception
  +    {
  +        IComponentSpecification cs = parseComponent("ComponentProperty.jwc");
  +
  +        IContainedComponent cc = cs.getComponent("body");
  +
  +        assertEquals("my-value", cc.getProperty("my-property"));
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testBeanDescription() throws Exception
  +    {
  +        IComponentSpecification cs = parseComponent("BeanDescription.jwc");
  +        IBeanSpecification bs = cs.getBeanSpecification("mybean");
  +
  +        assertEquals("Description of mybean.", bs.getDescription());
  +        assertNotNull(bs.getLocation());
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testBeanProperty() throws Exception
  +    {
  +        IComponentSpecification cs = parseComponent("BeanDescription.jwc");
  +        IBeanSpecification bs = cs.getBeanSpecification("mybean");
  +
  +        assertEquals("myvalue", bs.getProperty("myproperty"));
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testLibraryDescription() throws Exception
  +    {
  +        ILibrarySpecification ls = parseLib("LibraryDescription.library");
  +
  +        assertEquals("Often, these are just placeholders.", ls.getDescription());
  +    }
  +
  +    /** @since 3.1 **/
  +
  +    public void testPageDescription() throws Exception
  +    {
  +        IComponentSpecification spec = parsePage("PageDescription.page");
  +
  +        assertEquals("Description of this page.", spec.getDescription());
  +    }
  +
  +    /**
  +     * Excercies the check that the correct root element is used.
  +     * 
  +     * @since 3.1
  +     */
  +
  +    public void testRootElementMismatch() throws Exception
  +    {
  +        try
  +        {
  +            parseComponent("NulledPage.page");
  +            unreachable();
  +        }
  +        catch (Exception ex)
  +        {
  +            checkException(
  +                ex,
  +                "Incorrect document type; expected page-specification but received component-specification.");
  +        }
  +    }
  +
  +    /**
  +     * Checks to make sure that a application or library may not
  +     * defined a lbirary with id 'framework'.
  +     * 
  +     * @since 3.1
  +     */
  +
  +    public void testLibraryFrameworkNamespace() throws Exception
  +    {
  +        try
  +        {
  +            parseLib("LibraryFrameworkNamespace.library");
  +            unreachable();
  +        }
  +        catch (Exception ex)
  +        {
  +            checkException(ex, "The library id 'framework' is reserved and may not be used.");
  +        }
  +    }
  +
  +    /**
  +     * Tests that a <component> element may not have both type and
  +     * copy-of attributes.
  +     * 
  +     * @since 3.1
  +     */
  +
  +    public void testComponentWithTypeAndCopyOf() throws Exception
  +    {
  +        try
  +        {
  +            parseComponent("ComponentWithTypeAndCopyOf.jwc");
  +            unreachable();
  +        }
  +        catch (Exception ex)
  +        {
  +            checkException(
  +                ex,
  +                "Contained component bad contains both type and copy-of attributes.");
  +        }
  +    }
  +
  +    /**
  +     * Tests that <component> must have either type or copy-of
  +     * attribute.
  +     * 
  +     * @since 3.1
  +     */
  +
  +    public void testComponentWithoutType() throws Exception
  +    {
  +        try
  +        {
  +            parseComponent("ComponentWithoutType.jwc");
  +            unreachable();
  +        }
  +        catch (Exception ex)
  +        {
  +            checkException(
  +                ex,
  +                "Contained component bad does not specify attribute type or copy-of.");
  +        }
  +    }
  +
  +    /**
  +     * Tests the use of copy-of attribute inside <component>.
  +     * 
  +     * @since 3.1
  +     */
  +
  +    public void testComponentCopyOf() throws Exception
  +    {
  +        IComponentSpecification cs = parseComponent("ComponentCopyOf.jwc");
  +
  +        IContainedComponent source = cs.getComponent("source");
  +        IContainedComponent copy = cs.getComponent("copy");
  +        IContainedComponent override = cs.getComponent("override");
  +
  +        assertEquals("Insert", source.getType());
  +        assertEquals("Insert", copy.getType());
  +        assertEquals("Insert", override.getType());
  +
  +        IBindingSpecification b = source.getBinding("value");
  +
  +        assertEquals(BindingType.DYNAMIC, b.getType());
  +        assertEquals("date", b.getValue());
  +
  +        assertSame(b, copy.getBinding("value"));
  +
  +        IBindingSpecification b2 = override.getBinding("value");
  +        assertEquals("tomorrow", b2.getValue());
  +
  +        b = copy.getBinding("foo");
  +
  +        assertSame(b, override.getBinding("foo"));
  +
  +        b = copy.getBinding("formatter");
  +
  +        assertSame(b, override.getBinding("formatter"));
  +    }
  +
  +    /**
  +     * And here's what happens when copy-of doesn't match
  +     * a known component.
  +     * 
  +     * @since 3.1
  +     */
  +    public void testComponentBadCopy()
  +    {
  +        try
  +        {
  +            parseComponent("ComponentBadCopy.jwc");
  +            unreachable();
  +        }
  +        catch (Exception ex)
  +        {
  +            checkException(ex, "Unable to copy component missing, which does not exist.");
  +        }
       }
   }
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ConfigureBadLong.application
  
  Index: ConfigureBadLong.application
  ===================================================================
  <?xml version="1.0"?>
  <!--
      Copyright 2004 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.
  -->
  <!-- $Id: ConfigureBadLong.application,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE application PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <application>
  	<extension name="my-extension" class="my-extension-class">
  		<configure property-name="myproperty"	type="long" value="nogo!"/>
  	</extension>
  </application>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ComponentCopyOf.jwc
  
  Index: ComponentCopyOf.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: ComponentCopyOf.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <component-specification>
  
    <component id="source" type="Insert">
    		<binding name="value" expression="date"/>
    </component>
    
    <component id="copy" copy-of="source">
    	<binding name="formatter" expression="formatter"/>
    	<static-binding name="foo" value="bar"/>
    </component>
    
    <component id="override" copy-of="copy">
    	<binding name="value" expression="tomorrow"/>	
    </component>
  	
  </component-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ConfigureBadBoolean.application
  
  Index: ConfigureBadBoolean.application
  ===================================================================
  <?xml version="1.0"?>
  <!--
      Copyright 2004 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.
  -->
  <!-- $Id: ConfigureBadBoolean.application,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE application PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <application>
  	<extension name="my-extension" class="my-extension-class">
  		<configure property-name="myproperty"	type="boolean" value="sure!"/>
  	</extension>
  </application>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ComponentFieldBinding.jwc
  
  Index: ComponentFieldBinding.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: ComponentFieldBinding.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Howard Lewis Ship//Tapestry Specification 1.3//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_1_3.dtd">
       	
  <component-specification class="ClassIsRequiredIn1.3">
  	
  	<component id="insertVersion" type="Insert">
  		<field-binding name="value" field-name="org.apache.tapestry.Tapestry.VERSION"/>
  	</component>
  </component-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/PageDescription.page
  
  Index: PageDescription.page
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: PageDescription.page,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE page-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <page-specification>
  		<description>Description of this page.</description>
  </page-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/LibraryFrameworkNamespace.library
  
  Index: LibraryFrameworkNamespace.library
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: LibraryFrameworkNamespace.library,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE library-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <library-specification>
  
  	<library id="framework" specification-path="/invalid.library"/>
  	
  </library-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ConfigureExtension.application
  
  Index: ConfigureExtension.application
  ===================================================================
  <?xml version="1.0"?>
  <!--
      Copyright 2004 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.
  -->
  <!-- $Id: ConfigureExtension.application,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE application PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <application>
  	<extension name="my-extension" class="my-extension-class">
  
  		<property name="my-property" value="my-value"/>
  
  		<configure property-name="long"	type="long" value="-227"/>
  		<configure property-name="double" type="double" value="22.7"/>
  		<configure property-name="boolean" type="boolean" value="true"/>
  		<configure property-name="string">
  		
  			An extended string.
  				
  		</configure>
  		
  		
  	</extension>
  </application>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ComponentWithTypeAndCopyOf.jwc
  
  Index: ComponentWithTypeAndCopyOf.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: ComponentWithTypeAndCopyOf.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <component-specification>
  
    <component id="bad" type="Insert" copy-of="other"/>
  	
  </component-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ConfigureBadDouble.application
  
  Index: ConfigureBadDouble.application
  ===================================================================
  <?xml version="1.0"?>
  <!--
      Copyright 2004 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.
  -->
  <!-- $Id: ConfigureBadDouble.application,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE application PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <application>
  	<extension name="my-extension" class="my-extension-class">
  		<configure property-name="myproperty"	type="double" value="nogo!"/>
  	</extension>
  </application>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ComponentBadCopy.jwc
  
  Index: ComponentBadCopy.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: ComponentBadCopy.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <component-specification>
  
    <component id="source" copy-of="missing"/>
   	
  </component-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ComponentWithoutType.jwc
  
  Index: ComponentWithoutType.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: ComponentWithoutType.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <component-specification>
  
    <component id="bad"/>
  	
  </component-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/BeanDescription.jwc
  
  Index: BeanDescription.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: BeanDescription.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <component-specification>
  	<bean name="mybean" class="MyBean">
  		<description>
  			Description of mybean.	
  		</description>	
  		
  		<property name="myproperty" value="myvalue"/>
  		
  	</bean>
  </component-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/LibraryDescription.library
  
  Index: LibraryDescription.library
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: LibraryDescription.library,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE library-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <library-specification>
  	<description>
  		Often, these are just placeholders.	
  	</description>
  </library-specification>
  
  
  
  
  1.1                  jakarta-tapestry/junit/src/org/apache/tapestry/junit/parse/ComponentProperty.jwc
  
  Index: ComponentProperty.jwc
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2004 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.
  -->
  <!-- $Id: ComponentProperty.jwc,v 1.1 2004/05/03 16:04:25 hlship Exp $ -->
  <!DOCTYPE component-specification PUBLIC 
    "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
       	
  <component-specification>
  	<component id="body" type="Body">
  		<property name="my-property">
  			my-value	
  		</property>	
  	</component>
  </component-specification>
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org