aboutsummaryrefslogtreecommitdiffstats
path: root/test/java/org/apache
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2010-06-25 12:17:58 +0000
committerJeremias Maerki <jeremias@apache.org>2010-06-25 12:17:58 +0000
commit9dc0ea2f7ad8fd77481901e269b6ac2bbb3d0308 (patch)
tree4a9d835b8edd05b526b51b7939e4ea1a8e3b5e80 /test/java/org/apache
parent1dc63dc609d2bcb8c865a26595d212f9eb858c14 (diff)
downloadxmlgraphics-fop-9dc0ea2f7ad8fd77481901e269b6ac2bbb3d0308.tar.gz
xmlgraphics-fop-9dc0ea2f7ad8fd77481901e269b6ac2bbb3d0308.zip
Bugzilla #49403:
Initial support for PDF Separation color spaces (aka spot colors). This is still unfinished but produces valid PDF with Separation colors in simple cases. Based on work by: Patrick Jaromin <Patrick.at.Jaromin.com> Note: PDFColor is broken right now, as I'm planning to phase that class out. Squeezing separation colors and what else comes later into that class isn't such a good idea IMO. Instead, PDFColorHandler tries to do all that in a better way based on the new color support classes from XGC. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_Color@957913 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/java/org/apache')
-rw-r--r--test/java/org/apache/fop/traits/BorderPropsTestCase.java8
-rw-r--r--test/java/org/apache/fop/util/ColorUtilTestCase.java52
2 files changed, 35 insertions, 25 deletions
diff --git a/test/java/org/apache/fop/traits/BorderPropsTestCase.java b/test/java/org/apache/fop/traits/BorderPropsTestCase.java
index 3332d11f2..1ac1a117f 100644
--- a/test/java/org/apache/fop/traits/BorderPropsTestCase.java
+++ b/test/java/org/apache/fop/traits/BorderPropsTestCase.java
@@ -23,8 +23,7 @@ import java.awt.Color;
import junit.framework.TestCase;
-import org.apache.xmlgraphics.java2d.color.CMYKColorSpace;
-import org.apache.xmlgraphics.java2d.color.ColorExt;
+import org.apache.xmlgraphics.java2d.color.DeviceCMYKColorSpace;
import org.apache.fop.fo.Constants;
import org.apache.fop.util.ColorUtil;
@@ -50,10 +49,7 @@ public class BorderPropsTestCase extends TestCase {
assertEquals(b1, b2);
float[] cmyk = new float[] {1.0f, 1.0f, 0.5f, 1.0f};
- CMYKColorSpace cmykCs = CMYKColorSpace.getInstance();
- float[] rgb = cmykCs.toRGB(cmyk);
- col = ColorExt.createFromFoRgbIcc(rgb[0], rgb[1], rgb[2],
- "#CMYK", null, cmykCs, cmyk);
+ col = DeviceCMYKColorSpace.createColorExt(cmyk);
b1 = new BorderProps(Constants.EN_INSET, 9999,
col, BorderProps.SEPARATE);
ser = b1.toString();
diff --git a/test/java/org/apache/fop/util/ColorUtilTestCase.java b/test/java/org/apache/fop/util/ColorUtilTestCase.java
index 83163c888..82fe841fc 100644
--- a/test/java/org/apache/fop/util/ColorUtilTestCase.java
+++ b/test/java/org/apache/fop/util/ColorUtilTestCase.java
@@ -21,11 +21,12 @@ package org.apache.fop.util;
import java.awt.Color;
import java.awt.color.ColorSpace;
+import java.net.URI;
import junit.framework.TestCase;
-import org.apache.xmlgraphics.java2d.color.CMYKColorSpace;
import org.apache.xmlgraphics.java2d.color.ColorExt;
+import org.apache.xmlgraphics.java2d.color.ColorSpaces;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.FopFactory;
@@ -110,8 +111,9 @@ public class ColorUtilTestCase extends TestCase {
*/
public void testRGBICC() throws Exception {
FopFactory fopFactory = FopFactory.newInstance();
- ColorSpace cs = fopFactory.getColorSpace(null,
- "src/java/org/apache/fop/pdf/sRGB Color Space Profile.icm");
+ URI sRGBLoc = new URI(
+ "file:src/java/org/apache/fop/pdf/sRGB%20Color%20Space%20Profile.icm");
+ ColorSpace cs = fopFactory.getColorSpace(null, sRGBLoc.toASCIIString());
assertNotNull(cs);
@@ -120,7 +122,7 @@ public class ColorUtilTestCase extends TestCase {
//fop-rgb-icc() is used instead of rgb-icc() inside FOP!
String colSpec = "fop-rgb-icc(1.0,0.0,0.0,sRGBAlt,"
- + "\"src/java/org/apache/fop/pdf/sRGB Color Space Profile.icm\",1.0,0.0,0.0)";
+ + "\"" + sRGBLoc.toASCIIString() + "\",1.0,0.0,0.0)";
colActual = (ColorExt)ColorUtil.parseColorString(ua, colSpec);
//assertEquals(255, colActual.getRed()); //253 is returned
//assertEquals(24, colActual.getGreen()); //24 is returned
@@ -129,13 +131,21 @@ public class ColorUtilTestCase extends TestCase {
//RGB fallback in any renderer.
//TODO Anyone know what's going on here?
assertEquals(0, colActual.getBlue());
- assertEquals(cs, colActual.getColorSpace());
+ assertEquals(ColorSpace.getInstance(ColorSpace.CS_sRGB), colActual.getColorSpace());
float[] comps = colActual.getColorComponents(null);
assertEquals(3, comps.length);
assertEquals(1f, comps[0], 0);
assertEquals(0f, comps[1], 0);
assertEquals(0f, comps[2], 0);
+ Color alt = colActual.getAlternateColors()[0];
+ assertEquals(cs, alt.getColorSpace());
+ comps = colActual.getColorComponents(null);
+ assertEquals(3, comps.length);
+ assertEquals(1f, comps[0], 0);
+ assertEquals(0f, comps[1], 0);
+ assertEquals(0f, comps[2], 0);
+
assertEquals(colSpec, ColorUtil.colorToString(colActual));
colSpec = "fop-rgb-icc(1.0,0.5,0.0,blah,"
@@ -157,8 +167,9 @@ public class ColorUtilTestCase extends TestCase {
assertEquals(255, colActual.getRed());
assertEquals(255, colActual.getGreen());
assertEquals(0, colActual.getBlue());
- assertEquals(CMYKColorSpace.getInstance(), colActual.getColorSpace());
- float[] comps = colActual.getColorComponents(null);
+ Color alt = colActual.getAlternateColors()[0];
+ assertEquals(ColorSpaces.getDeviceCMYKColorSpace(), alt.getColorSpace());
+ float[] comps = alt.getColorComponents(null);
assertEquals(4, comps.length);
assertEquals(0f, comps[0], 0);
assertEquals(0f, comps[1], 0);
@@ -169,11 +180,12 @@ public class ColorUtilTestCase extends TestCase {
colSpec = "cmyk(0.0274, 0.2196, 0.3216, 0.0)";
colActual = (ColorExt)ColorUtil.parseColorString(null, colSpec);
- assertEquals(248, colActual.getRed());
- assertEquals(199, colActual.getGreen());
- assertEquals(172, colActual.getBlue());
- assertEquals(CMYKColorSpace.getInstance(), colActual.getColorSpace());
- comps = colActual.getColorComponents(null);
+ assertEquals(248, colActual.getRed(), 1);
+ assertEquals(199, colActual.getGreen(), 1);
+ assertEquals(172, colActual.getBlue(), 1);
+ alt = colActual.getAlternateColors()[0];
+ assertEquals(ColorSpaces.getDeviceCMYKColorSpace(), alt.getColorSpace());
+ comps = alt.getColorComponents(null);
assertEquals(0.0274f, comps[0], 0.001);
assertEquals(0.2196f, comps[1], 0.001);
assertEquals(0.3216f, comps[2], 0.001);
@@ -186,8 +198,9 @@ public class ColorUtilTestCase extends TestCase {
assertEquals(255, colActual.getRed());
assertEquals(255, colActual.getGreen());
assertEquals(0, colActual.getBlue());
- assertEquals(CMYKColorSpace.getInstance(), colActual.getColorSpace());
- comps = colActual.getColorComponents(null);
+ alt = colActual.getAlternateColors()[0];
+ assertEquals(ColorSpaces.getDeviceCMYKColorSpace(), alt.getColorSpace());
+ comps = alt.getColorComponents(null);
assertEquals(4, comps.length);
assertEquals(0f, comps[0], 0);
assertEquals(0f, comps[1], 0);
@@ -198,11 +211,12 @@ public class ColorUtilTestCase extends TestCase {
colSpec = "fop-rgb-icc(0.5,0.5,0.5,#CMYK,,0.0,0.0,0.0,0.5)";
colActual = (ColorExt)ColorUtil.parseColorString(null, colSpec);
- assertEquals(127, colActual.getRed());
- assertEquals(127, colActual.getGreen());
- assertEquals(127, colActual.getBlue());
- assertEquals(CMYKColorSpace.getInstance(), colActual.getColorSpace());
- comps = colActual.getColorComponents(null);
+ assertEquals(127, colActual.getRed(), 1);
+ assertEquals(127, colActual.getGreen(), 1);
+ assertEquals(127, colActual.getBlue(), 1);
+ alt = colActual.getAlternateColors()[0];
+ assertEquals(ColorSpaces.getDeviceCMYKColorSpace(), alt.getColorSpace());
+ comps = alt.getColorComponents(null);
assertEquals(4, comps.length);
assertEquals(0f, comps[0], 0);
assertEquals(0f, comps[1], 0);