<?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 application PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
	
<application name="JUnit Mock Application -- Failure Testing"
	engine-class="org.apache.tapestry.engine.BaseEngine">
		
	<page name="MissingClass" specification-path="/org/apache/tapestry/junit/mock/fail/MissingClass.page"/>
	<page name="NotPage" specification-path="/org/apache/tapestry/junit/mock/fail/NotPage.page"/>
	<page name="NotComponent"
		specification-path="/org/apache/tapestry/junit/mock/fail/NotComponent.page"/>
		
	<component-type type="InvalidComponent" specification-path="/org/apache/tapestry/junit/mock/fail/InvalidComponent.jwc"/>
		
</application>	