You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vh...@apache.org on 2012/04/05 18:20:17 UTC

svn commit: r1309921 [40/42] - in /xmlgraphics/fop/branches/Temp_TrueTypeInPostScript: ./ examples/embedding/ examples/embedding/java/embedding/ examples/embedding/java/embedding/atxml/ examples/embedding/java/embedding/tools/ examples/plan/src/org/apa...

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/config/UserConfigTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/config/UserConfigTestSuite.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/config/UserConfigTestSuite.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/config/UserConfigTestSuite.java Thu Apr  5 16:19:19 2012
@@ -19,35 +19,25 @@
 
 package org.apache.fop.config;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
 
 /**
  * Test suite for font configuration.
  */
+@RunWith(Suite.class)
+@SuiteClasses({
+    FontBaseBadTestCase.class,
+    FontAttributesMissingTestCase.class,
+    FontTripletAttributeMissingTestCase.class,
+    FontMetricsUrlBadTestCase.class,
+    FontEmbedUrlBadTestCase.class,
+    FontMetricsUrlMalformedTestCase.class,
+    FontsDirectoryRecursiveTestCase.class,
+    FontsAutoDetectTestCase.class,
+    FontsSubstitutionTestCase.class,
+    FOURIResolverTestCase.class
+})
 public class UserConfigTestSuite {
-
-    /**
-     * Builds the test suite
-     * @return the test suite
-     */
-    public static Test suite() {
-        TestSuite suite = new TestSuite(
-            "Basic functionality test suite for user configuration");
-        //$JUnit-BEGIN$
-        suite.addTest(new TestSuite(FontBaseBadTestCase.class));
-        suite.addTest(new TestSuite(FontAttributesMissingTestCase.class));
-        suite.addTest(new TestSuite(FontTripletAttributeMissingTestCase.class));
-        suite.addTest(new TestSuite(FontMetricsUrlBadTestCase.class));
-        suite.addTest(new TestSuite(FontEmbedUrlBadTestCase.class));
-        suite.addTest(new TestSuite(FontMetricsUrlMalformedTestCase.class));
-        suite.addTest(new TestSuite(FontEmbedUrlMalformedTestCase.class));
-        suite.addTest(new TestSuite(FontsDirectoryRecursiveTestCase.class));
-        suite.addTest(new TestSuite(FontsAutoDetectTestCase.class));
-        suite.addTest(new TestSuite(FontsSubstitutionTestCase.class));
-        suite.addTest(new TestSuite(FOURIResolverTestCase.class));
-        //$JUnit-END$
-        return suite;
-    }
-
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/datatypes/URISpecificationTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/datatypes/URISpecificationTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/datatypes/URISpecificationTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/datatypes/URISpecificationTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,13 +19,16 @@
 
 package org.apache.fop.datatypes;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * Tests for URISpecification.
  */
-public class URISpecificationTestCase extends TestCase {
+public class URISpecificationTestCase {
 
+    @Test
     public void testGetURL() throws Exception {
         String actual;
 
@@ -42,6 +45,7 @@ public class URISpecificationTestCase ex
         assertEquals("http://localhost/test", actual);
     }
 
+    @Test
     public void testEscapeURI() throws Exception {
         String actual;
 

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/BasicEventTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/BasicEventTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/BasicEventTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/BasicEventTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,12 +19,18 @@
 
 package org.apache.fop.events;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import org.apache.fop.events.model.EventSeverity;
+import org.junit.Test;
 
-public class BasicEventTestCase extends TestCase {
+public class BasicEventTestCase {
 
+    @Test
     public void testBasics() throws Exception {
 
         MyEventListener listener = new MyEventListener();
@@ -54,6 +60,7 @@ public class BasicEventTestCase extends 
         broadcaster.broadcastEvent(ev);
     }
 
+    @Test
     public void testEventProducer() throws Exception {
         MyEventListener listener = new MyEventListener();
 

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventChecker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventChecker.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventChecker.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventChecker.java Thu Apr  5 16:19:19 2012
@@ -19,12 +19,12 @@
 
 package org.apache.fop.events;
 
-import junit.framework.Assert;
+import static org.junit.Assert.fail;
 
 /**
  * Class that checks that an expected event is produced, and only this one.
  */
-class EventChecker extends Assert implements EventListener {
+class EventChecker implements EventListener {
 
     private final String expectedEventID;
 
@@ -36,11 +36,9 @@ class EventChecker extends Assert implem
 
     public void processEvent(Event event) {
         // Always create the message to make sure there is no error in the formatting process
-        String msg = EventFormatter.format(event);
-        if (event.getEventID().equals(expectedEventID)) {
+        String id = event.getEventID();
+        if (id.equals(expectedEventID)) {
             eventReceived = true;
-        } else {
-            fail("Unexpected event: id = " + event.getEventID() + ": " + msg);
         }
     }
 

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventProcessingTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventProcessingTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventProcessingTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/events/EventProcessingTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,7 +19,9 @@
 
 package org.apache.fop.events;
 
-import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
@@ -29,9 +31,8 @@ import javax.xml.transform.TransformerFa
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.stream.StreamSource;
 
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import org.junit.Test;
+import org.xml.sax.SAXException;
 
 import org.apache.commons.io.output.NullOutputStream;
 
@@ -39,87 +40,88 @@ import org.apache.xmlgraphics.util.MimeC
 
 import org.apache.fop.ResourceEventProducer;
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.FopFactory;
 import org.apache.fop.area.AreaEventProducer;
 import org.apache.fop.fo.FOValidationEventProducer;
 import org.apache.fop.fo.flow.table.TableEventProducer;
-import org.apache.fop.fonts.FontEventProducer;
 import org.apache.fop.layoutmgr.BlockLevelEventProducer;
 import org.apache.fop.layoutmgr.inline.InlineLevelEventProducer;
 
 /**
  * Tests that the event notification system runs smoothly.
  */
-public class EventProcessingTestCase extends TestCase {
+public class EventProcessingTestCase {
 
     private final FopFactory fopFactory = FopFactory.newInstance();
 
     private final TransformerFactory tFactory = TransformerFactory.newInstance();
 
-    private final File basedir;
+    private static final String BASE_DIR = "test/events/";
 
-    public EventProcessingTestCase(String name) {
-        super(name);
-        String base = System.getProperty("basedir");
-        if (base != null) {
-            basedir = new File(base);
-        } else {
-            basedir = new File(".");
-        }
-    }
+    /** The base directory of configuration files */
+    public static final String CONFIG_BASE_DIR = "test/config/";
 
-    private void doTest(String filename, String expectedEventID)
-            throws FOPException, TransformerException {
-        Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, new NullOutputStream());
+    public void doTest(InputStream inStream, String fopConf, String expectedEventID, String mimeType)
+            throws FOPException, TransformerException, IOException, SAXException {
         EventChecker eventChecker = new EventChecker(expectedEventID);
-        fop.getUserAgent().getEventBroadcaster().addEventListener(eventChecker);
+        if (fopConf != null) {
+            fopFactory.setUserConfig(fopConf);
+        }
+        FOUserAgent userAgent = fopFactory.newFOUserAgent();
+        userAgent.getEventBroadcaster().addEventListener(eventChecker);
+        Fop fop = fopFactory.newFop(mimeType, userAgent, new NullOutputStream());
         Transformer transformer = tFactory.newTransformer();
-        Source src = new StreamSource(new File(basedir, filename));
+        Source src = new StreamSource(inStream);
         Result res = new SAXResult(fop.getDefaultHandler());
         transformer.transform(src, res);
         eventChecker.end();
     }
 
-    public void testArea() throws FOPException, TransformerException {
+    public void doTest(String filename, String expectedEventID) throws
+            FOPException, TransformerException, IOException, SAXException {
+        doTest(new FileInputStream(BASE_DIR + filename), null, expectedEventID,
+                MimeConstants.MIME_PDF);
+    }
+
+    @Test
+    public void testArea() throws TransformerException, IOException, SAXException {
         doTest("area.fo",
                 AreaEventProducer.class.getName() + ".unresolvedIDReferenceOnPage");
     }
 
-    public void testResource() throws FOPException, TransformerException {
+    @Test
+    public void testResource() throws FOPException, TransformerException, IOException,
+            SAXException {
         doTest("resource.fo",
                 ResourceEventProducer.class.getName() + ".imageNotFound");
     }
 
-    public void testValidation() throws FOPException, TransformerException {
+    @Test
+    public void testValidation() throws FOPException, TransformerException, IOException,
+            SAXException {
         doTest("validation.fo",
                 FOValidationEventProducer.class.getName() + ".invalidPropertyValue");
     }
 
-    public void testTable() throws FOPException, TransformerException {
+    @Test
+    public void testTable() throws FOPException, TransformerException, IOException, SAXException {
         doTest("table.fo",
                 TableEventProducer.class.getName() + ".noTablePaddingWithCollapsingBorderModel");
     }
 
-    public void testBlockLevel() throws FOPException, TransformerException {
+    @Test
+    public void testBlockLevel() throws FOPException, TransformerException, IOException,
+            SAXException {
         doTest("block-level.fo",
                 BlockLevelEventProducer.class.getName() + ".overconstrainedAdjustEndIndent");
     }
 
-    public void testInlineLevel() throws FOPException, TransformerException {
+    @Test
+    public void testInlineLevel() throws FOPException, TransformerException, IOException,
+            SAXException {
         doTest("inline-level.fo",
                 InlineLevelEventProducer.class.getName() + ".lineOverflows");
     }
-
-    public void testFont() throws FOPException, TransformerException {
-        doTest("font.fo",
-                FontEventProducer.class.getName() + ".fontSubstituted");
-    }
-
-
-    public static Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTestSuite(EventProcessingTestCase.class);
-        return suite;
-    }
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/CollapsedConditionalBorderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/CollapsedConditionalBorderTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/CollapsedConditionalBorderTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/CollapsedConditionalBorderTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,10 +19,14 @@
 
 package org.apache.fop.fo.flow.table;
 
+import static org.junit.Assert.assertEquals;
+
 import java.awt.Color;
 import java.util.Iterator;
 import java.util.List;
 
+import org.junit.Test;
+
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode.FONodeIterator;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground.BorderInfo;
@@ -32,7 +36,7 @@ import org.apache.fop.fo.properties.Comm
  * conditionality into account. The resolved borders are generated by the
  * collapsed-conditional-borders_test-generator.py Python script.
  */
-public class CollapsedConditionalBorderTestCase extends AbstractTableTestCase {
+public class CollapsedConditionalBorderTestCase extends AbstractTableTest {
 
     private final Integer border0pt = new Integer(0);
 
@@ -104,10 +108,6 @@ public class CollapsedConditionalBorderT
 {{border8pt, Color.black}, {border6pt, Color.blue}, {border8pt, Color.black}, {border6pt, Color.blue}, {border4pt, Color.black}, {border4pt, Color.black}, {border4pt, Color.red}, {border8pt, Color.black}, {border8pt, Color.black}, {border8pt, Color.black}, {border8pt, Color.black}, {border4pt, Color.blue}, {border4pt, Color.red}, {border6pt, Color.magenta}, {border6pt, Color.magenta}, {border6pt, Color.magenta}}
     };
 
-    public CollapsedConditionalBorderTestCase() throws Exception {
-        super();
-    }
-
     private static GridUnit getGridUnit(TablePart part) {
         return (GridUnit) ((List) ((List) part.getRowGroups().get(0)).get(0)).get(0);
     }
@@ -130,6 +130,7 @@ public class CollapsedConditionalBorderT
                 (Color) resolvedBorder[1]);
     }
 
+    @Test
     public void testCollapsedConditionalBorders() throws Exception {
         setUp("table/collapsed-conditional-borders.fo");
         int tableNum = 0;
@@ -154,6 +155,7 @@ public class CollapsedConditionalBorderT
         } while (tableIterator.hasNext());
     }
 
+    @Test
     public void testCollapsedConditionalBordersHeaderFooter() throws Exception {
         setUp("table/collapsed-conditional-borders_header-footer.fo");
         int tableNum = 0;

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/IllegalRowSpanTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/IllegalRowSpanTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/IllegalRowSpanTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/IllegalRowSpanTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,28 +19,30 @@
 
 package org.apache.fop.fo.flow.table;
 
+import org.junit.Test;
+
 /**
  * Testcase checking that cells spanning further than their parent element aren't
  * accepted.
  */
-public class IllegalRowSpanTestCase extends ErrorCheckTestCase {
-
-    public IllegalRowSpanTestCase() throws Exception {
-        super();
-    }
+public class IllegalRowSpanTestCase extends ErrorCheckTest {
 
+    @Test
     public void testBody1() throws Exception {
         launchTest("table/illegal-row-span_body_1.fo");
     }
 
+    @Test
     public void testBody2() throws Exception {
         launchTest("table/illegal-row-span_body_2.fo");
     }
 
+    @Test
     public void testHeader() throws Exception {
         launchTest("table/illegal-row-span_header.fo");
     }
 
+    @Test
     public void testFooter() throws Exception {
         launchTest("table/illegal-row-span_footer.fo");
     }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/RowGroupBuilderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/RowGroupBuilderTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/RowGroupBuilderTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/RowGroupBuilderTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,18 +19,21 @@
 
 package org.apache.fop.fo.flow.table;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 import java.util.Iterator;
 import java.util.List;
 
+import org.junit.Test;
+
 /**
  * Tests that RowGroupBuilder returns, for each part of a table, the expected number of
  * row-groups with the expected number or rows in each.
  */
-public class RowGroupBuilderTestCase extends AbstractTableTestCase {
-
-    public RowGroupBuilderTestCase() throws Exception {
-        super();
-    }
+public class RowGroupBuilderTestCase extends AbstractTableTest {
 
     /**
      * Checks that the given table-body(header,footer) will return row groups as expected.
@@ -137,34 +140,42 @@ public class RowGroupBuilderTestCase ext
         checkNextTableRowGroups(tableIter, new int[] {2}, new int[] {1, 3}, new int[][] {{2, 1, 3}});
     }
 
+    @Test
     public void testWithRowsSimple() throws Exception {
         checkSimple("table/RowGroupBuilder_simple.fo");
     }
 
+    @Test
     public void testWithRowsSpans() throws Exception {
         checkSpans("table/RowGroupBuilder_spans.fo");
     }
 
+    @Test
     public void testNoRowSimple() throws Exception {
         checkSimple("table/RowGroupBuilder_no-row_simple.fo");
     }
 
+    @Test
     public void testNoRowSpans() throws Exception {
         checkSpans("table/RowGroupBuilder_no-row_spans.fo");
     }
 
+    @Test
     public void testNoColWithRowsSimple() throws Exception {
         checkSimple("table/RowGroupBuilder_no-col_simple.fo");
     }
 
+    @Test
     public void testNoColWithRowsSpans() throws Exception {
         checkSpans("table/RowGroupBuilder_no-col_spans.fo");
     }
 
+    @Test
     public void testNoColNoRowSimple() throws Exception {
         checkSimple("table/RowGroupBuilder_no-col_no-row_simple.fo");
     }
 
+    @Test
     public void testNoColNoRowSpans() throws Exception {
         checkSpans("table/RowGroupBuilder_no-col_no-row_spans.fo");
     }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TableColumnColumnNumberTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TableColumnColumnNumberTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TableColumnColumnNumberTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TableColumnColumnNumberTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,13 +19,17 @@
 
 package org.apache.fop.fo.flow.table;
 
+import static org.junit.Assert.assertEquals;
+
 import java.util.Iterator;
 
+import org.junit.Test;
+
 import org.apache.fop.datatypes.PercentBaseContext;
 import org.apache.fop.fo.FObj;
 
 
-public class TableColumnColumnNumberTestCase extends AbstractTableTestCase {
+public class TableColumnColumnNumberTestCase extends AbstractTableTest {
 
     /**
      * A percentBaseContext that mimics the behaviour of TableLM for computing the widths
@@ -47,10 +51,6 @@ public class TableColumnColumnNumberTest
 
     private TablePercentBaseContext percentBaseContext = new TablePercentBaseContext();
 
-    public TableColumnColumnNumberTestCase() throws Exception {
-        super();
-    }
-
     private void checkColumn(Table t, int number, boolean isImplicit, int spans, int repeated, int width) {
         TableColumn c = t.getColumn(number - 1);
         // TODO a repeated column has a correct number only for its first occurrence
@@ -61,6 +61,7 @@ public class TableColumnColumnNumberTest
         assertEquals(width, c.getColumnWidth().getValue(percentBaseContext));
     }
 
+    @Test
     public void testColumnNumber() throws Exception {
         setUp("table/table-column_column-number.fo");
         Iterator tableIter = getTableIterator();
@@ -97,6 +98,7 @@ public class TableColumnColumnNumberTest
         }
     }
 
+    @Test
     public void testImplicitColumns() throws Exception {
         setUp("table/implicit_columns_column-number.fo");
         percentBaseContext.setUnitaryWidth(100000);

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TooManyColumnsTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TooManyColumnsTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TooManyColumnsTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fo/flow/table/TooManyColumnsTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,33 +19,36 @@
 
 package org.apache.fop.fo.flow.table;
 
+import org.junit.Test;
 
-public class TooManyColumnsTestCase extends ErrorCheckTestCase {
-
-    public TooManyColumnsTestCase() throws Exception {
-        super();
-    }
+public class TooManyColumnsTestCase extends ErrorCheckTest {
 
+    @Test
     public void testBody1() throws Exception {
         launchTest("table/too-many-columns_body_1.fo");
     }
 
+    @Test
     public void testBody2() throws Exception {
         launchTest("table/too-many-columns_body_2.fo");
     }
 
+    @Test
     public void testBody3() throws Exception {
         launchTest("table/too-many-columns_body_3.fo");
     }
 
+    @Test
     public void testBody4() throws Exception {
         launchTest("table/too-many-columns_body_4.fo");
     }
 
+    @Test
     public void testHeader() throws Exception {
         launchTest("table/too-many-columns_header.fo");
     }
 
+    @Test
     public void testFooter() throws Exception {
         launchTest("table/too-many-columns_footer.fo");
     }

Copied: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java (from r1307575, xmlgraphics/fop/trunk/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java)
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java?p2=xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java&p1=xmlgraphics/fop/trunk/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java&r1=1307575&r2=1309921&rev=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/DejaVuLGCSerifTestCase.java Thu Apr  5 16:19:19 2012
@@ -43,7 +43,8 @@ public class DejaVuLGCSerifTestCase {
     @Before
     public void setUp() throws Exception {
         File file = new File("test/resources/fonts/ttf/DejaVuLGCSerif.ttf");
-        font = FontLoader.loadFont(file, "", true, EncodingMode.AUTO, fontResolver);
+        font = FontLoader.loadFont(file, "", true, EmbeddingMode.AUTO, EncodingMode.AUTO,
+                fontResolver);
     }
 
     /**

Copied: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/EncodingModeTestCase.java (from r1307575, xmlgraphics/fop/trunk/test/java/org/apache/fop/fonts/EncodingModeTestCase.java)
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/EncodingModeTestCase.java?p2=xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/EncodingModeTestCase.java&p1=xmlgraphics/fop/trunk/test/java/org/apache/fop/fonts/EncodingModeTestCase.java&r1=1307575&r2=1309921&rev=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/fonts/EncodingModeTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/EncodingModeTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,10 +19,10 @@
 
 package org.apache.fop.fonts;
 
-import static org.junit.Assert.assertEquals;
-
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 public class EncodingModeTestCase {
 
     @Test
@@ -34,8 +34,8 @@ public class EncodingModeTestCase {
 
     @Test
     public void testGetValue() {
-        assertEquals(EncodingMode.AUTO, EncodingMode.getEncodingMode("auto"));
-        assertEquals(EncodingMode.SINGLE_BYTE, EncodingMode.getEncodingMode("single-byte"));
-        assertEquals(EncodingMode.CID, EncodingMode.getEncodingMode("cid"));
+        assertEquals(EncodingMode.AUTO, EncodingMode.getValue("auto"));
+        assertEquals(EncodingMode.SINGLE_BYTE, EncodingMode.getValue("single-byte"));
+        assertEquals(EncodingMode.CID, EncodingMode.getValue("cid"));
     }
 }

Added: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/GlyfTableTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/GlyfTableTestCase.java?rev=1309921&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/GlyfTableTestCase.java (added)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/GlyfTableTestCase.java Thu Apr  5 16:19:19 2012
@@ -0,0 +1,198 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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$ */
+
+package org.apache.fop.fonts.truetype;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests {@link GlyfTable}.
+ */
+public class GlyfTableTestCase {
+
+    private final static class DirData {
+
+        final long offset;
+        final long length;
+
+        DirData(long offset, long length) {
+            this.offset = offset;
+            this.length = length;
+        }
+    }
+
+    private FontFileReader subsetReader;
+
+    private long[] glyphOffsets;
+
+    private FontFileReader originalFontReader;
+
+    @Before
+    public void setUp() throws IOException {
+        originalFontReader = new FontFileReader("test/resources/fonts/ttf/DejaVuLGCSerif.ttf");
+    }
+
+    /**
+     * Tests that composed glyphs are included in the glyph subset if a composite glyph is used.
+     *
+     * @throws IOException if an I/O error occurs
+     */
+    @Test
+    public void testPopulateGlyphsWithComposites() throws IOException {
+        // Glyph 408 -> U+01D8 "uni01D8" this is a composite glyph.
+        int[] composedIndices = setupTest(408);
+
+        int[] expected = new int[composedIndices.length];
+        expected[1] = 6;
+        expected[5] = 2;
+        expected[6] = 4;
+
+        assertArrayEquals(expected, composedIndices);
+    }
+
+    /**
+     * Tests that no glyphs are added if there are no composite glyphs the subset.
+     *
+     * @throws IOException if an I/O error occurs
+     */
+    @Test
+    public void testPopulateNoCompositeGlyphs() throws IOException {
+        int[] composedIndices = setupTest(36, 37, 38); // "A", "B", "C"
+        int[] expected = new int[composedIndices.length];
+
+        // There should be NO composite glyphs
+        assertArrayEquals(expected, composedIndices);
+    }
+
+    /**
+     * Tests that glyphs aren't remapped twice if the glyph before a composite glyph has 0-length.
+     *
+     * @throws IOException if an I/O error occurs
+     */
+    @Test
+    public void testGlyphsNotRemappedTwice() throws IOException {
+        int composedGlyph = 12;
+        // The order of these glyph indices, must NOT be changed! (see javadoc above)
+        int[] composedIndices = setupTest(1, 2, 3, 16, 2014, 4, 7, 8, 13, 2015, composedGlyph);
+
+        // There are 2 composed glyphs within the subset
+        int[] expected = new int[composedIndices.length];
+        expected[10] = composedGlyph;
+
+        assertArrayEquals(expected, composedIndices);
+    }
+
+    /**
+     * Tests that the correct glyph is included in the subset, when a composite glyph composed of a
+     * composite glyph is used.
+     *
+     * @throws IOException if an I/O error occurs
+     */
+    @Test
+    public void testSingleRecursionStep() throws IOException {
+        // Glyph 2077 -> U+283F "uni283F" this is composed of a composite glyph (recursive).
+        int[] composedIndices = setupTest(2077);
+
+        int[] expected = new int[composedIndices.length];
+        expected[1] = 2;
+
+        assertArrayEquals(expected, composedIndices);
+    }
+
+    private int[] setupTest(int... glyphIndices) throws IOException {
+        Map<Integer, Integer> glyphs = new HashMap<Integer, Integer>();
+        int index = 0;
+        glyphs.put(0, index++); // Glyph 0 (.notdef) must ALWAYS be in the subset
+
+        for (int glyphIndex : glyphIndices) {
+            glyphs.put(glyphIndex, index++);
+        }
+        setupSubsetReader(glyphs);
+        readLoca();
+
+        return retrieveIndicesOfComposedGlyphs();
+    }
+
+    private void setupSubsetReader(Map<Integer, Integer> glyphs) throws IOException {
+        TTFSubSetFile fontFile = new TTFSubSetFile();
+        fontFile.readFont(originalFontReader, "Deja", glyphs);
+        byte[] subsetFont = fontFile.getFontSubset();
+        InputStream intputStream = new ByteArrayInputStream(subsetFont);
+        subsetReader = new FontFileReader(intputStream);
+    }
+
+    private void readLoca() throws IOException {
+        DirData loca = getTableData("loca");
+        int numberOfGlyphs = (int) (loca.length - 4) / 4;
+        glyphOffsets = new long[numberOfGlyphs];
+        subsetReader.seekSet(loca.offset);
+
+        for (int i = 0; i < numberOfGlyphs; i++) {
+            glyphOffsets[i] = subsetReader.readTTFULong();
+        }
+    }
+
+    private int[] retrieveIndicesOfComposedGlyphs() throws IOException {
+        DirData glyf = getTableData("glyf");
+        int[] composedGlyphIndices = new int[glyphOffsets.length];
+
+        for (int i = 0; i < glyphOffsets.length; i++) {
+            long glyphOffset = glyphOffsets[i];
+            if (i != glyphOffsets.length - 1 && glyphOffset == glyphOffsets[i + 1]) {
+                continue;
+            }
+            subsetReader.seekSet(glyf.offset + glyphOffset);
+            short numberOfContours = subsetReader.readTTFShort();
+            if (numberOfContours < 0) {
+                subsetReader.skip(8);
+                subsetReader.readTTFUShort(); // flags
+                int glyphIndex = subsetReader.readTTFUShort();
+                composedGlyphIndices[i] = glyphIndex;
+            }
+        }
+        return composedGlyphIndices;
+    }
+
+    private DirData getTableData(String tableName) throws IOException {
+        subsetReader.seekSet(0);
+        subsetReader.skip(12);
+        String name;
+        do {
+            name = subsetReader.readTTFString(4);
+            subsetReader.skip(4 * 3);
+        } while (!name.equals(tableName));
+
+        subsetReader.skip(-8); // We've found the table, go back to get the data we skipped over
+        return new DirData(subsetReader.readTTFLong(), subsetReader.readTTFLong());
+    }
+
+    private void assertArrayEquals(int[] expected, int[] actual) {
+        assertTrue(Arrays.equals(expected, actual));
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/GlyfTableTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/GlyfTableTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Revision Id

Added: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/TTFFontLoaderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/TTFFontLoaderTestCase.java?rev=1309921&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/TTFFontLoaderTestCase.java (added)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/TTFFontLoaderTestCase.java Thu Apr  5 16:19:19 2012
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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$ */
+
+package org.apache.fop.fonts.truetype;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+
+import org.apache.fop.fonts.EmbeddingMode;
+import org.apache.fop.fonts.EncodingMode;
+import org.apache.fop.fonts.FontManager;
+import org.apache.fop.fonts.FontResolver;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Test case for {@link TTFFontLoader}.
+ */
+public class TTFFontLoaderTestCase {
+
+    @Test
+    public void testUseKerning() throws IOException {
+        boolean useComplexScriptFeatures = false;
+        File file = new File("test/resources/fonts/ttf/DejaVuLGCSerif.ttf");
+        String absoluteFilePath = file.toURI().toURL().toExternalForm();
+        FontResolver resolver = FontManager.createMinimalFontResolver(useComplexScriptFeatures);
+        String fontName = "Deja Vu";
+        boolean embedded = false;
+        boolean useKerning = true;
+
+        TTFFontLoader fontLoader = new TTFFontLoader(absoluteFilePath, fontName, embedded,
+                EmbeddingMode.AUTO, EncodingMode.AUTO, useKerning, useComplexScriptFeatures, resolver);
+        assertTrue(fontLoader.getFont().hasKerningInfo());
+        useKerning = false;
+
+        fontLoader = new TTFFontLoader(absoluteFilePath, fontName, embedded, EmbeddingMode.AUTO,
+                EncodingMode.AUTO, useKerning, useComplexScriptFeatures, resolver);
+        assertFalse(fontLoader.getFont().hasKerningInfo());
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/TTFFontLoaderTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fonts/truetype/TTFFontLoaderTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Revision Id

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/FOTreeTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/FOTreeTestSuite.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/FOTreeTestSuite.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/FOTreeTestSuite.java Thu Apr  5 16:19:19 2012
@@ -19,129 +19,20 @@
 
 package org.apache.fop.fotreetest;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.filefilter.AndFileFilter;
-import org.apache.commons.io.filefilter.IOFileFilter;
-import org.apache.commons.io.filefilter.NameFileFilter;
-import org.apache.commons.io.filefilter.PrefixFileFilter;
-import org.apache.commons.io.filefilter.SuffixFileFilter;
-import org.apache.commons.io.filefilter.TrueFileFilter;
-
-import org.apache.fop.DebugHelper;
-import org.apache.fop.fo.flow.table.CollapsedConditionalBorderTestCase;
-import org.apache.fop.fo.flow.table.IllegalRowSpanTestCase;
-import org.apache.fop.fo.flow.table.RowGroupBuilderTestCase;
-import org.apache.fop.fo.flow.table.TableColumnColumnNumberTestCase;
-import org.apache.fop.fo.flow.table.TooManyColumnsTestCase;
-import org.apache.fop.layoutengine.LayoutEngineTestSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
 
 /**
  * JUnit test suit for running layout engine test under JUnit control.
  */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+        org.apache.fop.fo.flow.table.AllTests.class,
+        org.apache.fop.fo.pagination.AllTests.class,
+        org.apache.fop.fotreetest.FOTreeTestCase.class,
+        org.apache.fop.fo.properties.CommonAccessibilityHolderTestCase.class,
+        org.apache.fop.fo.DelegatingFOEventHandlerTestCase.class
+})
 public final class FOTreeTestSuite {
 
-    static {
-        DebugHelper.registerStandardElementListObservers();
-    }
-
-    private FOTreeTestSuite() {
-        //don't instantiate!
-    }
-
-    /**
-     * @return the test suite with all the tests (one for each XML file)
-     * @throws IOException in case of an I/O problem
-     */
-    public static Test suite() throws IOException {
-        TestSuite suite = new TestSuite();
-        addXMLTestCases(suite);
-        addUnitTestCases(suite);
-        return suite;
-    }
-
-    private static void addXMLTestCases(TestSuite suite) throws IOException {
-        File mainDir = new File("test/fotree");
-
-        final FOTreeTester tester = new FOTreeTester();
-
-        IOFileFilter filter;
-        String single = System.getProperty("fop.fotree.single");
-        String startsWith = System.getProperty("fop.fotree.starts-with");
-        if (single != null) {
-            filter = new NameFileFilter(single);
-        } else if (startsWith != null) {
-            filter = new PrefixFileFilter(startsWith);
-            filter = new AndFileFilter(filter, new SuffixFileFilter(".fo"));
-        } else {
-            filter = new SuffixFileFilter(".fo");
-            filter = LayoutEngineTestSuite.decorateWithDisabledList(filter);
-        }
-        Collection files = FileUtils.listFiles(new File(mainDir, "testcases"),
-                filter, TrueFileFilter.INSTANCE);
-        String privateTests = System.getProperty("fop.fotree.private");
-        if ("true".equalsIgnoreCase(privateTests)) {
-            Collection privateFiles = FileUtils.listFiles(
-                    new File(mainDir, "private-testcases"),
-                    filter, TrueFileFilter.INSTANCE);
-            files.addAll(privateFiles);
-        }
-        Iterator i = files.iterator();
-        while (i.hasNext()) {
-            File f = (File)i.next();
-            addTestCase(suite, tester, f);
-        }
-    }
-
-    private static void addTestCase(TestSuite suite,
-                final FOTreeTester tester, final File f) {
-        suite.addTest(new FOTreeTestCase(f.getName()) {
-            public void runTest() throws Exception {
-                try {
-                    prepare(tester, f);
-                    testMain();
-                } catch (Exception e) {
-                    org.apache.commons.logging.LogFactory.getLog(this.getClass()).info(
-                            "Error on " + f.getName());
-                    throw e;
-                }
-            }
-        });
-    }
-
-    private static void addUnitTestCases(TestSuite suite) {
-        suite.addTestSuite(TooManyColumnsTestCase.class);
-        suite.addTestSuite(IllegalRowSpanTestCase.class);
-        suite.addTestSuite(RowGroupBuilderTestCase.class);
-        suite.addTestSuite(TableColumnColumnNumberTestCase.class);
-        suite.addTestSuite(CollapsedConditionalBorderTestCase.class);
-    }
-
-    private static class FOTreeTestCase extends TestCase {
-
-        private FOTreeTester tester;
-        private File testFile;
-
-        public FOTreeTestCase(String name) {
-            super(name);
-        }
-
-        public void prepare(FOTreeTester tester, File testFile) {
-            //super(testFile.getName());
-            this.tester = tester;
-            this.testFile = testFile;
-        }
-
-        public void testMain() throws Exception {
-            tester.runTest(testFile);
-        }
-    }
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ResultCollector.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ResultCollector.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ResultCollector.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ResultCollector.java Thu Apr  5 16:19:19 2012
@@ -19,6 +19,7 @@
 
 package org.apache.fop.fotreetest;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -29,7 +30,7 @@ public class ResultCollector {
 
     private static ResultCollector instance = null;
 
-    private List results = new java.util.ArrayList();
+    private List<String> results = new ArrayList<String>();
 
     /** @return the ResultCollector singleton */
     public static ResultCollector getInstance() {
@@ -70,7 +71,7 @@ public class ResultCollector {
     }
 
     /** @return the list of results */
-    public List getResults() {
+    public List<String> getResults() {
         return Collections.unmodifiableList(results);
     }
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/AssertElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/AssertElement.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/AssertElement.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/AssertElement.java Thu Apr  5 16:19:19 2012
@@ -61,7 +61,7 @@ public class AssertElement extends TestO
 
         ResultCollector collector = ResultCollector.getInstance();
         String propName = attlist.getValue("property");
-        String expected = attlist.getValue("expected");        
+        String expected = attlist.getValue("expected");
         String component = null;
         int dotIndex = propName.indexOf('.');
         if (dotIndex >= 0) {

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/TestElementMapping.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/TestElementMapping.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/TestElementMapping.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/fotreetest/ext/TestElementMapping.java Thu Apr  5 16:19:19 2012
@@ -40,7 +40,7 @@ public class TestElementMapping extends 
     /** @see org.apache.fop.fo.ElementMapping#initialize() */
     protected void initialize() {
         if (foObjs == null) {
-            foObjs = new java.util.HashMap();
+            foObjs = new java.util.HashMap<String, Maker>();
             foObjs.put("assert", new AssertMaker());
         }
     }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,12 +19,14 @@
 
 package org.apache.fop.image.loader.batik;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
 import java.awt.image.Raster;
 import java.awt.image.RenderedImage;
 import java.io.File;
 
-import junit.framework.TestCase;
-
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.FopFactory;
 import org.apache.xmlgraphics.image.loader.Image;
@@ -35,23 +37,24 @@ import org.apache.xmlgraphics.image.load
 import org.apache.xmlgraphics.image.loader.impl.ImageRendered;
 import org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM;
 import org.apache.xmlgraphics.image.writer.ImageWriterUtil;
+import org.junit.Test;
 
 /**
  * Tests for bundled ImageLoader implementations.
  */
-public class ImageLoaderTestCase extends TestCase {
+public class ImageLoaderTestCase {
 
     private static final File DEBUG_TARGET_DIR = null; //new File("D:/");
 
     private FopFactory fopFactory;
 
-    public ImageLoaderTestCase(String name) {
-        super(name);
+    public ImageLoaderTestCase() {
         fopFactory = FopFactory.newInstance();
         fopFactory.setSourceResolution(72);
         fopFactory.setTargetResolution(300);
     }
 
+    @Test
     public void testSVG() throws Exception {
         String uri = "test/resources/images/img-w-size.svg";
 
@@ -90,6 +93,7 @@ public class ImageLoaderTestCase extends
         assertEquals(16000, info.getSize().getHeightMpt());
     }
 
+    @Test
     public void testSVGNoViewbox() throws Exception {
         String uri = "test/resources/images/circles.svg";
 
@@ -135,6 +139,7 @@ public class ImageLoaderTestCase extends
         assertEquals(340158, info.getSize().getHeightMpt());
     }
 
+    @Test
     public void testWMF() throws Exception {
         String uri = "test/resources/images/testChart.wmf";
 
@@ -162,6 +167,7 @@ public class ImageLoaderTestCase extends
         assertEquals(612000, info.getSize().getHeightMpt());
     }
 
+    @Test
     public void testSVGWithReferences() throws Exception {
         String uri = "test/resources/fop/svg/images.svg";
         FopFactory ff = FopFactory.newInstance();
@@ -213,7 +219,4 @@ public class ImageLoaderTestCase extends
         }
         assertFalse("Embedding JPG into SVG failed", same);
     }
-
-
-    
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,6 +19,9 @@
 
 package org.apache.fop.image.loader.batik;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import java.io.IOException;
 
 import javax.xml.transform.Source;
@@ -26,42 +29,39 @@ import javax.xml.transform.TransformerEx
 import javax.xml.transform.URIResolver;
 import javax.xml.transform.dom.DOMSource;
 
-import junit.framework.TestCase;
-
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
 import org.apache.batik.dom.svg.SVGDOMImplementation;
-
-import org.apache.xmlgraphics.image.loader.ImageException;
-import org.apache.xmlgraphics.image.loader.ImageInfo;
-import org.apache.xmlgraphics.image.loader.ImageManager;
-
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.FopFactory;
 import org.apache.fop.apps.MimeConstants;
+import org.apache.xmlgraphics.image.loader.ImageException;
+import org.apache.xmlgraphics.image.loader.ImageInfo;
+import org.apache.xmlgraphics.image.loader.ImageManager;
+import org.junit.Test;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 /**
  * Tests for bundled image preloader implementations.
  */
-public class ImagePreloaderTestCase extends TestCase {
+public class ImagePreloaderTestCase {
 
     private FopFactory fopFactory;
 
-    public ImagePreloaderTestCase(String name) {
-        super(name);
+    public ImagePreloaderTestCase() {
         fopFactory = FopFactory.newInstance();
         fopFactory.setSourceResolution(72);
         fopFactory.setTargetResolution(300);
     }
 
+    @Test
     public void testSVG() throws Exception {
         String uri = "test/resources/images/img-w-size.svg";
 
         checkSVGFile(uri);
     }
 
+    @Test
     public void testSVGZ() throws Exception {
         String uri = "test/resources/images/img-w-size.svgz";
 
@@ -83,6 +83,7 @@ public class ImagePreloaderTestCase exte
         assertEquals(16000, info.getSize().getHeightMpt());
     }
 
+    @Test
     public void testSVGNoSize() throws Exception {
         String uri = "test/resources/images/img.svg";
         FOUserAgent userAgent = fopFactory.newFOUserAgent();
@@ -99,6 +100,7 @@ public class ImagePreloaderTestCase exte
         assertEquals(100000, info.getSize().getHeightMpt());
     }
 
+    @Test
     public void testSVGWithDOM() throws Exception {
         String uri = "my:SVGImage";
         FOUserAgent userAgent = fopFactory.newFOUserAgent();
@@ -143,6 +145,7 @@ public class ImagePreloaderTestCase exte
         assertEquals(20000, info.getSize().getHeightMpt());
     }
 
+    @Test
     public void testWMF() throws Exception {
         String uri = "test/resources/images/testChart.wmf";
 

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java Thu Apr  5 16:19:19 2012
@@ -22,6 +22,7 @@ package org.apache.fop.intermediate;
 import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Collection;
 
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
@@ -32,25 +33,39 @@ import javax.xml.transform.dom.DOMSource
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.sax.TransformerHandler;
 
-import org.w3c.dom.Document;
-
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
-import org.apache.fop.apps.FopFactory;
 import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.area.AreaTreeModel;
 import org.apache.fop.area.AreaTreeParser;
 import org.apache.fop.area.RenderPagesModel;
 import org.apache.fop.fonts.FontInfo;
+import org.apache.fop.layoutengine.LayoutEngineTestUtils;
 import org.apache.fop.render.Renderer;
 import org.apache.fop.render.xml.XMLRenderer;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.w3c.dom.Document;
 
 /**
  * Tests the area tree parser.
  */
-public class AreaTreeParserTestCase extends AbstractIntermediateTestCase {
+@RunWith(Parameterized.class)
+public class AreaTreeParserTestCase extends AbstractIntermediateTest {
 
     /**
+     * Creates the parameters for this test.
+     *
+     * @return the list of file arrays populated with test files
+     * @throws IOException if an I/O error occurs while reading the test file
+     */
+    @Parameters
+    public static Collection<File[]> getParameters() throws IOException {
+        return LayoutEngineTestUtils.getLayoutTestFiles();
+    }
+    /**
      * Constructor for the test suite that is used for each test file.
      * @param testFile the test file to run
      * @throws IOException
@@ -72,7 +87,7 @@ public class AreaTreeParserTestCase exte
         setErrorListener(transformer);
 
         //Set up XMLRenderer to render to a DOM
-        TransformerHandler handler = env.getTransformerFactory().newTransformerHandler();
+        TransformerHandler handler = testAssistant.getTransformerFactory().newTransformerHandler();
         DOMResult domResult = new DOMResult();
         handler.setResult(domResult);
 
@@ -82,10 +97,9 @@ public class AreaTreeParserTestCase exte
         Renderer targetRenderer = userAgent.getRendererFactory().createRenderer(
                 userAgent, getTargetMIME());
 
-        XMLRenderer renderer = new XMLRenderer();
+        XMLRenderer renderer = new XMLRenderer(userAgent);
         renderer.mimicRenderer(targetRenderer);
         renderer.setContentHandler(handler);
-        renderer.setUserAgent(userAgent);
 
         userAgent.setRendererOverride(renderer);
 
@@ -113,15 +127,13 @@ public class AreaTreeParserTestCase exte
         AreaTreeParser parser = new AreaTreeParser();
 
         //Set up XMLRenderer to render to a DOM
-        TransformerHandler handler = env.getTransformerFactory().newTransformerHandler();
+        TransformerHandler handler = testAssistant.getTransformerFactory().newTransformerHandler();
         DOMResult domResult = new DOMResult();
         handler.setResult(domResult);
-        XMLRenderer renderer = new XMLRenderer();
-        renderer.setContentHandler(handler);
-
         FOUserAgent userAgent = createUserAgent();
+        XMLRenderer renderer = new XMLRenderer(userAgent);
         userAgent.setRendererOverride(renderer);
-        renderer.setUserAgent(userAgent);
+        renderer.setContentHandler(handler);
 
         FontInfo fontInfo = new FontInfo();
         AreaTreeModel treeModel = new RenderPagesModel(userAgent,
@@ -132,4 +144,17 @@ public class AreaTreeParserTestCase exte
         return (Document)domResult.getNode();
     }
 
+    @Override
+    @Test
+    public void runTest() throws Exception {
+        try {
+            testParserToIntermediateFormat();
+            testParserToPDF();
+        } catch (Exception e) {
+            org.apache.commons.logging.LogFactory.getLog(this.getClass()).error(
+                    "Error on " + testFile.getName());
+            throw e;
+        }
+    }
+
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/AreaTreeXMLFormatTestSuite.java Thu Apr  5 16:19:19 2012
@@ -19,53 +19,14 @@
 
 package org.apache.fop.intermediate;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.apache.fop.layoutengine.LayoutEngineTestSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
 
 /**
  * JUnit test suite for the area tree XML format
  */
+@RunWith(Suite.class)
+@SuiteClasses({ AreaTreeParserTestCase.class })
 public class AreaTreeXMLFormatTestSuite {
-
-    /**
-     * @return the test suite with all the tests (one for each XML file)
-     * @throws IOException in case of an I/O problem
-     */
-    public static Test suite() throws IOException {
-        TestSuite suite = new TestSuite();
-
-        Collection files = LayoutEngineTestSuite.getTestFiles();
-
-        Iterator i = files.iterator();
-        while (i.hasNext()) {
-            File f = (File)i.next();
-            addATTestCase(suite, f);
-        }
-
-        return suite;
-    }
-
-    private static void addATTestCase(TestSuite suite,
-            final File f) throws IOException {
-        suite.addTest(new AreaTreeParserTestCase(f) {
-            public void runTest() throws Exception {
-                try {
-                    testParserToIntermediateFormat();
-                    testParserToPDF();
-                } catch (Exception e) {
-                    org.apache.commons.logging.LogFactory.getLog(
-                            this.getClass()).error("Error on " + f.getName());
-                    throw e;
-                }
-            }
-        });
-    }
-
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFCheck.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFCheck.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFCheck.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFCheck.java Thu Apr  5 16:19:19 2012
@@ -21,10 +21,12 @@ package org.apache.fop.intermediate;
 
 import org.w3c.dom.Document;
 
+import org.apache.fop.check.Check;
+
 /**
  * Check interface for intermediate format checks.
  */
-public interface IFCheck {
+public interface IFCheck extends Check {
 
     /**
      * Called to perform the check.

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java Thu Apr  5 16:19:19 2012
@@ -19,6 +19,8 @@
 
 package org.apache.fop.intermediate;
 
+import static org.junit.Assert.fail;
+
 import java.io.File;
 
 import javax.xml.transform.ErrorListener;
@@ -29,7 +31,8 @@ import javax.xml.transform.dom.DOMResult
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.stream.StreamSource;
 
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
 
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
@@ -48,13 +51,12 @@ import org.apache.fop.render.intermediat
 /**
  * This test checks the correct mimicking of a different output format.
  */
-public class IFMimickingTestCase extends TestCase {
+public class IFMimickingTestCase {
 
     private FopFactory fopFactory;
 
-    /** {@inheritDoc} */
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
         fopFactory = FopFactory.newInstance();
         File configFile = new File("test/test-no-xml-metrics.xconf");
         fopFactory.setUserConfig(configFile);
@@ -64,6 +66,7 @@ public class IFMimickingTestCase extends
      * Tests IF document handler mimicking with PDF output.
      * @throws Exception if an error occurs
      */
+    @Test
     public void testMimickingPDF() throws Exception {
         doTestMimicking(MimeConstants.MIME_PDF);
     }
@@ -72,6 +75,7 @@ public class IFMimickingTestCase extends
      * Tests IF document handler mimicking with PostScript output.
      * @throws Exception if an error occurs
      */
+    @Test
     public void testMimickingPS() throws Exception {
         doTestMimicking(MimeConstants.MIME_POSTSCRIPT);
     }
@@ -80,6 +84,7 @@ public class IFMimickingTestCase extends
      * Tests IF document handler mimicking with TIFF output.
      * @throws Exception if an error occurs
      */
+    @Test
     public void testMimickingTIFF() throws Exception {
         doTestMimicking(MimeConstants.MIME_TIFF);
     }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFParserTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFParserTestCase.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFParserTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFParserTestCase.java Thu Apr  5 16:19:19 2012
@@ -22,59 +22,56 @@ package org.apache.fop.intermediate;
 import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Collection;
 
-import javax.xml.XMLConstants;
-import javax.xml.transform.Result;
 import javax.xml.transform.Source;
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
 import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.stream.StreamResult;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
 
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
 import org.w3c.dom.Document;
 
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
 import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.Fop;
-import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.layoutengine.TestEnvironment;
+import org.apache.fop.layoutengine.LayoutEngineTestUtils;
 import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
 import org.apache.fop.render.intermediate.IFParser;
-import org.apache.fop.render.intermediate.IFRenderer;
 import org.apache.fop.render.intermediate.IFSerializer;
 
 /**
  * Tests the intermediate format parser.
  */
-public class IFParserTestCase extends AbstractIntermediateTestCase {
+@RunWith(Parameterized.class)
+public class IFParserTestCase extends AbstractIFTest {
 
-    private static TestEnvironment env = new TestEnvironment();
-    private static Schema ifSchema;
+    /** Set this to true to get the correspondence between test number and test file. */
+    private static final boolean DEBUG = false;
 
-    private static Schema getIFSchema() throws SAXException {
-        if (ifSchema == null) {
-            SchemaFactory sFactory;
-            try {
-                sFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
-            } catch (IllegalArgumentException iae) {
-                System.out.println("No suitable SchemaFactory for XML Schema validation found!");
-                return null;
-            }
-            File ifSchemaFile = new File(
-                    "src/documentation/intermediate-format-ng/fop-intermediate-format-ng.xsd");
-            ifSchema = sFactory.newSchema(ifSchemaFile);
+    /**
+     * Gets the parameters for this test
+     *
+     * @return a collection of file arrays containing the test files
+     * @throws IOException if an error occurs when trying to read the test files
+     */
+    @Parameters
+    public static Collection<File[]> getParameters() throws IOException {
+        Collection<File[]> testFiles = LayoutEngineTestUtils.getLayoutTestFiles();
+        if (DEBUG) {
+            printFiles(testFiles);
+        }
+        return testFiles;
+    }
+
+    private static void printFiles(Collection<File[]> files) {
+        int index = 0;
+        for (File[] file : files) {
+            assert file.length == 1;
+            System.out.println(String.format("%3d %s", index++, file[0]));
         }
-        return ifSchema;
     }
 
     /**
@@ -87,76 +84,7 @@ public class IFParserTestCase extends Ab
     }
 
     /** {@inheritDoc} */
-    protected String getTargetMIME() {
-        return MimeConstants.MIME_PDF;
-    }
-
-    /** {@inheritDoc} */
-    protected String getIntermediateFileExtension() {
-        return ".if.xml";
-    }
-
-    /** {@inheritDoc} */
-    protected Document buildIntermediateDocument(Templates templates)
-                throws Exception {
-        Transformer transformer = templates.newTransformer();
-        setErrorListener(transformer);
-
-        //Set up XMLRenderer to render to a DOM
-        DOMResult domResult = new DOMResult();
-
-        FOUserAgent userAgent = createUserAgent();
-
-        //Create an instance of the target renderer so the XMLRenderer can use its font setup
-        IFDocumentHandler targetHandler = userAgent.getRendererFactory().createDocumentHandler(
-                userAgent, getTargetMIME());
-
-        //Setup painter
-        IFSerializer serializer = new IFSerializer();
-        serializer.setContext(new IFContext(userAgent));
-        serializer.mimicDocumentHandler(targetHandler);
-        serializer.setResult(domResult);
-
-        //Setup renderer
-        IFRenderer renderer = new IFRenderer();
-        renderer.setUserAgent(userAgent);
-
-        renderer.setDocumentHandler(serializer);
-        userAgent.setRendererOverride(renderer);
-
-        Fop fop = fopFactory.newFop(userAgent);
-        Result res = new SAXResult(fop.getDefaultHandler());
-        transformer.transform(new DOMSource(testDoc), res);
-
-        return (Document)domResult.getNode();
-    }
-
-    /** {@inheritDoc} */
-    protected void validate(Document doc) throws SAXException, IOException {
-        Schema schema = getIFSchema();
-        if (schema == null) {
-            return; //skip validation;
-        }
-        Validator validator = schema.newValidator();
-        validator.setErrorHandler(new ErrorHandler() {
-
-            public void error(SAXParseException exception) throws SAXException {
-                throw exception;
-            }
-
-            public void fatalError(SAXParseException exception) throws SAXException {
-                throw exception;
-            }
-
-            public void warning(SAXParseException exception) throws SAXException {
-                //ignore
-            }
-
-        });
-        validator.validate(new DOMSource(doc));
-    }
-
-    /** {@inheritDoc} */
+    @Override
     protected void parseAndRender(Source src, OutputStream out) throws Exception {
         IFParser parser = new IFParser();
 
@@ -170,6 +98,7 @@ public class IFParserTestCase extends Ab
     }
 
     /** {@inheritDoc} */
+    @Override
     protected Document parseAndRenderToIntermediateFormat(Source src) throws Exception {
         IFParser parser = new IFParser();
 
@@ -185,4 +114,16 @@ public class IFParserTestCase extends Ab
         return (Document)domResult.getNode();
     }
 
+    @Override
+    @Test
+    public void runTest() throws Exception {
+        try {
+            testParserToIntermediateFormat();
+            testParserToPDF();
+        } catch (Exception e) {
+            org.apache.commons.logging.LogFactory.getLog(this.getClass()).error(
+                    "Error on " + testFile.getName());
+            throw e;
+        }
+    }
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFTester.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFTester.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFTester.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IFTester.java Thu Apr  5 16:19:19 2012
@@ -20,182 +20,63 @@
 package org.apache.fop.intermediate;
 
 import java.io.File;
-import java.lang.reflect.Constructor;
-import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
-import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXTransformerFactory;
 import javax.xml.transform.stream.StreamResult;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
-import org.apache.fop.area.AreaTreeModel;
-import org.apache.fop.area.AreaTreeParser;
-import org.apache.fop.area.RenderPagesModel;
-import org.apache.fop.events.model.EventSeverity;
-import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.layoutengine.EvalCheck;
-import org.apache.fop.layoutengine.TrueCheck;
-import org.apache.fop.render.intermediate.IFContext;
-import org.apache.fop.render.intermediate.IFRenderer;
-import org.apache.fop.render.intermediate.IFSerializer;
-import org.apache.fop.util.ConsoleEventListenerForTests;
-import org.apache.fop.util.DelegatingContentHandler;
 
 /**
  * Does tests on the intermediate format.
  */
 public class IFTester {
 
-    private static final Map IF_CHECK_CLASSES = new java.util.HashMap();
-
-    static {
-        IF_CHECK_CLASSES.put("true", TrueCheck.class);
-        IF_CHECK_CLASSES.put("eval", EvalCheck.class);
-    }
-
-    private FopFactory fopFactory = FopFactory.newInstance();
+    private final IFChecksFactory ifChecksFactory = new IFChecksFactory();
 
-    private SAXTransformerFactory tfactory
-                = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
+    private final TransformerFactory tfactory;
 
     private File backupDir;
 
     /**
-     * Main constructor
+     * Main constructor.
+     *
+     * @param transformerFactory the factory used to serialize the intermediate format files
      * @param backupDir an optional directory in which to write the serialized
-     *                  intermediate format file (may be null)
+     * IF files (may be null)
      */
-    public IFTester(File backupDir) {
+    public IFTester(TransformerFactory transformerFactory, File backupDir) {
+        this.tfactory = transformerFactory;
         this.backupDir = backupDir;
     }
 
     /**
-     * Factory method to create IF checks from DOM elements.
-     * @param el DOM element to create the check from
-     * @return The newly create check
-     */
-    protected IFCheck createIFCheck(Element el) {
-        String name = el.getTagName();
-        Class clazz = (Class)IF_CHECK_CLASSES.get(name);
-        if (clazz != null) {
-            try {
-                Constructor c = clazz.getDeclaredConstructor(new Class[] {Node.class});
-                IFCheck instance = (IFCheck)c.newInstance(new Object[] {el});
-                return instance;
-            } catch (Exception e) {
-                throw new RuntimeException("Error while instantiating check '"
-                        + name + "': " + e.getMessage());
-            }
-        } else {
-            throw new IllegalArgumentException("No check class found: " + name);
-        }
-    }
-
-    private Document createIF(File testFile, Document areaTreeXML) throws TransformerException {
-        try {
-            FOUserAgent ua = fopFactory.newFOUserAgent();
-            ua.setBaseURL(testFile.getParentFile().toURI().toURL().toExternalForm());
-            ua.getEventBroadcaster().addEventListener(
-                    new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.WARN));
-
-            IFRenderer ifRenderer = new IFRenderer();
-            ifRenderer.setUserAgent(ua);
-
-            IFSerializer serializer = new IFSerializer();
-            serializer.setContext(new IFContext(ua));
-            DOMResult result = new DOMResult();
-            serializer.setResult(result);
-            ifRenderer.setDocumentHandler(serializer);
-
-            ua.setRendererOverride(ifRenderer);
-            FontInfo fontInfo = new FontInfo();
-            //Construct the AreaTreeModel that will received the individual pages
-            final AreaTreeModel treeModel = new RenderPagesModel(ua,
-                    null, fontInfo, null);
-
-            //Iterate over all intermediate files
-            AreaTreeParser parser = new AreaTreeParser();
-            ContentHandler handler = parser.getContentHandler(treeModel, ua);
-
-            DelegatingContentHandler proxy = new DelegatingContentHandler() {
-
-                public void endDocument() throws SAXException {
-                    super.endDocument();
-                    //Signal the end of the processing.
-                    //The renderer can finalize the target document.
-                    treeModel.endDocument();
-                }
-
-            };
-            proxy.setDelegateContentHandler(handler);
-
-            Transformer transformer = tfactory.newTransformer();
-            transformer.transform(new DOMSource(areaTreeXML), new SAXResult(proxy));
-
-            return (Document)result.getNode();
-        } catch (Exception e) {
-            throw new TransformerException(
-                    "Error while generating intermediate format file: " + e.getMessage(), e);
-        }
-    }
-
-    /**
      * Runs the intermediate format checks.
-     * @param testFile the original test file
+     * @param testName the name of the test case
      * @param checksRoot the root element containing the IF checks
-     * @param areaTreeXML the area tree XML
+     * @param ifDocument the IF XML
      * @throws TransformerException if an error occurs while transforming the content
      */
-    public void doIFChecks(File testFile, Element checksRoot, Document areaTreeXML)
-                throws TransformerException {
-        Document ifDocument = createIF(testFile, areaTreeXML);
+    public void doIFChecks(String testName, Element checksRoot, Document ifDocument)
+            throws TransformerException {
         if (this.backupDir != null) {
             Transformer transformer = tfactory.newTransformer();
             Source src = new DOMSource(ifDocument);
-            File targetFile = new File(this.backupDir, testFile.getName() + ".if.xml");
+            File targetFile = new File(this.backupDir, testName + ".if.xml");
             Result res = new StreamResult(targetFile);
             transformer.transform(src, res);
         }
-
-        //First create check before actually running them
-        List checks = new java.util.ArrayList();
-        NodeList nodes = checksRoot.getChildNodes();
-        for (int i = 0; i < nodes.getLength(); i++) {
-            Node node = nodes.item(i);
-            if (node instanceof Element) {
-                checks.add(createIFCheck((Element)node));
-            }
-        }
-
+        List<IFCheck> checks = ifChecksFactory.createCheckList(checksRoot);
         if (checks.size() == 0) {
-            throw new RuntimeException("No checks are available!");
+            throw new RuntimeException("No available IF check");
         }
-
-        //Run the actual tests now that we know that the checks themselves are ok
-        doIFChecks(checks, ifDocument);
-    }
-
-    private void doIFChecks(List checks, Document ifDocument) {
-        Iterator i = checks.iterator();
-        while (i.hasNext()) {
-            IFCheck check = (IFCheck)i.next();
+        for (IFCheck check : checks) {
             check.check(ifDocument);
         }
     }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/intermediate/IntermediateFormatTestSuite.java Thu Apr  5 16:19:19 2012
@@ -19,53 +19,14 @@
 
 package org.apache.fop.intermediate;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.apache.fop.layoutengine.LayoutEngineTestSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * JUnit test suite for the intermediate format
+ * A test suite for testing the Intermediate Format output.
  */
-public class IntermediateFormatTestSuite {
-
-    /**
-     * @return the test suite with all the tests (one for each XML file)
-     * @throws IOException in case of an I/O problem
-     */
-    public static Test suite() throws IOException {
-        TestSuite suite = new TestSuite();
-
-        Collection files = LayoutEngineTestSuite.getTestFiles();
-
-        Iterator i = files.iterator();
-        while (i.hasNext()) {
-            File f = (File)i.next();
-            addIFTestCase(suite, f);
-        }
-
-        return suite;
-    }
-
-    private static void addIFTestCase(TestSuite suite,
-            final File f) throws IOException {
-        suite.addTest(new IFParserTestCase(f) {
-            public void runTest() throws Exception {
-                try {
-                    testParserToIntermediateFormat();
-                    testParserToPDF();
-                } catch (Exception e) {
-                    org.apache.commons.logging.LogFactory.getLog(
-                            this.getClass()).error("Error on " + f.getName());
-                    throw e;
-                }
-            }
-        });
-    }
-
+@RunWith(Suite.class)
+@SuiteClasses({ IFTestCase.class })
+public final class IntermediateFormatTestSuite {
 }

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/ElementListCollector.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/ElementListCollector.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/ElementListCollector.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/ElementListCollector.java Thu Apr  5 16:19:19 2012
@@ -87,4 +87,4 @@ public class ElementListCollector implem
         }
     }
 
-}
\ No newline at end of file
+}

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/EvalCheck.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/EvalCheck.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/EvalCheck.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/EvalCheck.java Thu Apr  5 16:19:19 2012
@@ -42,16 +42,6 @@ public class EvalCheck implements Layout
     private PrefixResolver prefixResolver;
 
     /**
-     * Creates a new instance
-     * @param expected expected value
-     * @param xpath XPath statement that needs to be evaluated
-     */
-    public EvalCheck(String expected, String xpath) {
-        this.expected = expected;
-        this.xpath = xpath;
-    }
-
-    /**
      * Creates a new instance from a DOM node.
      * @param node DOM node that defines this check
      */

Modified: xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/LayoutEngineCheck.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/LayoutEngineCheck.java?rev=1309921&r1=1309920&r2=1309921&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/LayoutEngineCheck.java (original)
+++ xmlgraphics/fop/branches/Temp_TrueTypeInPostScript/test/java/org/apache/fop/layoutengine/LayoutEngineCheck.java Thu Apr  5 16:19:19 2012
@@ -19,10 +19,12 @@
 
 package org.apache.fop.layoutengine;
 
+import org.apache.fop.check.Check;
+
 /**
  * Defines the interface for check operations.
  */
-public interface LayoutEngineCheck {
+public interface LayoutEngineCheck extends Check {
 
     /**
      * Called to perform the check.



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org