<?xml version="1.0" encoding="UTF-8"?>

<!-- $Id$ -->
<!--
   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.
-->

<mock-test>
    <context name="mock"/>
    
    <servlet name="app" class="org.apache.tapestry.ApplicationServlet">
  		<init-parameter
  			name="org.apache.tapestry.application-specification"
  			value="/org/apache/tapestry/junit/mock/app/Mock.application"/>
  	</servlet>  	
  	
  	     
  	<request>
  		<parameter name="service" value="page/Strings"/>
  		
	
		<assert-output name="Normal">
<![CDATA[
Normal: &lt;b&gt;Important Message&lt;/b&gt;
]]>	
		</assert-output>
		  	
		<assert-output name="Raw">
<![CDATA[
Raw: <b>Important Message</b>
]]>	
		</assert-output>
	
		<assert-output name="Span">
<![CDATA[
Style: <span class="custom"><b>Important Message</b></span>
]]>	
		</assert-output>
	
	</request>
		  	
</mock-test>