<?xml version="1.0" encoding="UTF-8"?>
<!--
   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$ -->
<!DOCTYPE page-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<page-specification class="org.apache.tapestry.junit.mock.c7.Two">

	<component id="link" type="DirectLink">
		<listener-binding name="listener" language="jython">

page.message = "Component was clicked."
		
		</listener-binding>
	</component>

	<component id="invalidScriptLink" type="DirectLink">
		<listener-binding name="listener" language="jython">

# Note the missing trailing quote!

page.message = "invalidScriptLink component was clicked.
		
		</listener-binding>
	</component>
	
	<component id="unknownLanguageLink" type="DirectLink">
		<listener-binding name="listener" language="DoesNotExist">

page.message = "unknownLanguageLink component was clicked."
		
		</listener-binding>
	</component>	
	
</page-specification>

