Author: thorsten
Date: Thu Sep 11 05:57:52 2008
New Revision: 694233

URL: http://svn.apache.org/viewvc?rev=694233&view=rev
Log:
Adding test cases to invoke various transformations of a test contract

Added:
    forrest/trunk/whiteboard/dispatcher/testing/
    forrest/trunk/whiteboard/dispatcher/testing/org/
    forrest/trunk/whiteboard/dispatcher/testing/org/apache/
    forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/
    forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/
    
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/TestContract.java
   (with props)
    
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/master.contract.xml
      - copied, changed from r694158, 
forrest/trunk/whiteboard/dispatcher/themes/contracts/master.contract.xml

Added: 
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/TestContract.java
URL: 
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/TestContract.java?rev=694233&view=auto
==============================================================================
--- 
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/TestContract.java
 (added)
+++ 
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/TestContract.java
 Thu Sep 11 05:57:52 2008
@@ -0,0 +1,48 @@
+package org.apache.forrest.dispatcher;
+
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.util.HashMap;
+
+import org.apache.forrest.dispatcher.api.Contract;
+import org.apache.forrest.dispatcher.impl.XSLContract;
+import org.xml.sax.InputSource;
+
+import junit.framework.TestCase;
+
+public class TestContract extends TestCase {
+
+  public void testContractWithoutParameter() throws DispatcherException, 
FileNotFoundException {
+    Contract contract = new XSLContract(false);
+    String rawContract = "master.contract.xml";
+    InputStream xslStream = this.getClass().getResourceAsStream(rawContract);
+    contract.initializeFromStream(xslStream);
+    // testing the transformation without parameters
+    HashMap<String, String> properties = new HashMap<String, String>();
+    contract.execute(null, properties);
+  }
+  public void testContractWithParameter() throws DispatcherException, 
FileNotFoundException {
+    Contract contract = new XSLContract(false);
+    String rawContract = "master.contract.xml";
+    InputStream xslStream = this.getClass().getResourceAsStream(rawContract);
+    contract.initializeFromStream(xslStream);
+    HashMap<String, String> properties = new HashMap<String, String>();
+    // testing the transformation with parameters
+    properties.put("test-inline", this.getClass().getCanonicalName());
+    contract.execute(null, properties);
+  }
+  public void testContractWithXMLParameter() throws DispatcherException, 
FileNotFoundException {
+    Contract contract = new XSLContract(true);
+    String rawContract = "master.contract.xml";
+    InputStream xslStream = this.getClass().getResourceAsStream(rawContract);
+    contract.initializeFromStream(xslStream);
+    HashMap<String, InputSource> properties = new HashMap<String, 
InputSource>();
+    // testing the transformation with parameters
+    String valueString = 
"<class>"+this.getClass().getCanonicalName()+"</class>";
+    InputSource value = new InputSource(new StringReader(valueString));
+    properties.put("test-inline-xml", value);
+    contract.execute(null, properties);
+  }
+  
+}

Propchange: 
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/TestContract.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/master.contract.xml
 (from r694158, 
forrest/trunk/whiteboard/dispatcher/themes/contracts/master.contract.xml)
URL: 
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/master.contract.xml?p2=forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/master.contract.xml&p1=forrest/trunk/whiteboard/dispatcher/themes/contracts/master.contract.xml&r1=694158&r2=694233&rev=694233&view=diff
==============================================================================
--- forrest/trunk/whiteboard/dispatcher/themes/contracts/master.contract.xml 
(original)
+++ 
forrest/trunk/whiteboard/dispatcher/testing/org/apache/forrest/dispatcher/master.contract.xml
 Thu Sep 11 05:57:52 2008
@@ -35,7 +35,8 @@
     name="master" inputFormat="xsl">
     <xsl:stylesheet version="1.0"
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
-      <xsl:param name="test-inline" select="'test.html'"/>
+      <xsl:param name="test-inline" select="'No parameter has been passed'"/>
+      <xsl:param name="test-inline-xml" select="'No xml parameter has been 
passed'"/>
       <xsl:template match="/">
 <!-- The dispatcher needs a well-formed xml document to work with. 
             The forrest:content element (as root element) can contain as many 
forrest:part's as you want. -->
@@ -44,6 +45,8 @@
             If you use no @xpath then we insert content on the current 
structurer position.-->
           <forrest:part>
             Content going to the location defined by the structurer.
+            $test-inline: <xsl:value-of select="$test-inline"/>
+            $test-inline-xml: <xsl:copy-of select="$test-inline-xml"/>
           </forrest:part>
 <!--If you want to inject the content into a certain DOM position and
               *not* the current position in the structurer, you can use the 
@xpath attribute. -->