diff options
author | Luis Bernardo <lbernardo@apache.org> | 2014-05-11 22:06:49 +0000 |
---|---|---|
committer | Luis Bernardo <lbernardo@apache.org> | 2014-05-11 22:06:49 +0000 |
commit | c4e5885007f3c61837a12ab330658b131d978247 (patch) | |
tree | 06a4431c3ea7457c9dcb1fb091c3a6e4287bf15c /test/java | |
parent | 71f5fd36ca5ef91741cb5a56cb156c227312acfe (diff) | |
download | xmlgraphics-fop-c4e5885007f3c61837a12ab330658b131d978247.tar.gz xmlgraphics-fop-c4e5885007f3c61837a12ab330658b131d978247.zip |
FOP-2372: New extension to resize background images
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1593863 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/java')
-rw-r--r-- | test/java/org/apache/fop/area/TraitTestCase.java | 42 | ||||
-rw-r--r-- | test/java/org/apache/fop/render/AbstractPathOrientedRendererTestCase.java | 162 |
2 files changed, 204 insertions, 0 deletions
diff --git a/test/java/org/apache/fop/area/TraitTestCase.java b/test/java/org/apache/fop/area/TraitTestCase.java new file mode 100644 index 000000000..2c77228c5 --- /dev/null +++ b/test/java/org/apache/fop/area/TraitTestCase.java @@ -0,0 +1,42 @@ +/* + * 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: ActiveLayouts.java 99 2008-11-24 11:06:55Z vincent $ */ + +package org.apache.fop.area; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class TraitTestCase { + + @Test + public void testImageTargetWidthAndHeight() { + int width = 2911; + int height = 1911; + Trait.Background background = new Trait.Background(); + background.setImageTargetWidth(width); + background.setImageTargetHeight(height); + assertEquals(width, background.getImageTargetWidth()); + assertEquals(height, background.getImageTargetHeight()); + assertTrue(background.toString().contains(Integer.toString(width))); + assertTrue(background.toString().contains(Integer.toString(height))); + } + +} diff --git a/test/java/org/apache/fop/render/AbstractPathOrientedRendererTestCase.java b/test/java/org/apache/fop/render/AbstractPathOrientedRendererTestCase.java new file mode 100644 index 000000000..b7ab64fcf --- /dev/null +++ b/test/java/org/apache/fop/render/AbstractPathOrientedRendererTestCase.java @@ -0,0 +1,162 @@ +/* + * 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.render; + +import java.awt.Color; +import java.awt.Rectangle; +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; +import java.util.List; +import java.util.Map; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; + +import org.apache.xmlgraphics.image.loader.ImageInfo; +import org.apache.xmlgraphics.image.loader.ImageSize; + +import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.area.CTM; +import org.apache.fop.area.Trait; + +public class AbstractPathOrientedRendererTestCase { + + @Before + public void setUp() throws Exception { + } + + @Test + public void testDrawBackgroundWithTargetImageSizes() { + FOUserAgent userAgent = mock(FOUserAgent.class); + MyAPOR myAPOR = new MyAPOR(userAgent); + ImageSize imgSize = new ImageSize(300, 300, 300); + imgSize.setSizeInMillipoints(72000, 72000); + ImageInfo imgInfo = new ImageInfo(null, null); + imgInfo.setSize(imgSize); + Trait.Background background = new Trait.Background(); + background.setImageTargetWidth(300000); + background.setImageTargetHeight(300000); + background.setImageInfo(imgInfo); + myAPOR.drawBackground(0, 0, 600, 900, background, null, null, null, null); + String expected = "[x=0.0,y=0.0,w=3.0,h=3.0][x=0.0,y=3.0,w=3.0,h=3.0][x=0.0,y=6.0,w=3.0,h=3.0]" + + "[x=0.0,y=9.0,w=3.0,h=3.0][x=3.0,y=0.0,w=3.0,h=3.0][x=3.0,y=3.0,w=3.0,h=3.0]" + + "[x=3.0,y=6.0,w=3.0,h=3.0][x=3.0,y=9.0,w=3.0,h=3.0][x=6.0,y=0.0,w=3.0,h=3.0]" + + "[x=6.0,y=3.0,w=3.0,h=3.0][x=6.0,y=6.0,w=3.0,h=3.0][x=6.0,y=9.0,w=3.0,h=3.0]"; + assertEquals(expected, myAPOR.getActual().replaceAll("00000", "")); + myAPOR.resetActual(); + background.setImageTargetWidth(0); + myAPOR.drawBackground(0, 0, 600, 900, background, null, null, null, null); + assertEquals(expected, myAPOR.getActual().replaceAll("00000", "")); + myAPOR.resetActual(); + background.setImageTargetWidth(300000); + background.setImageTargetHeight(0); + myAPOR.drawBackground(0, 0, 600, 900, background, null, null, null, null); + assertEquals(expected, myAPOR.getActual().replaceAll("00000", "")); + } + + private class MyAPOR extends AbstractPathOrientedRenderer { + + private String actual = ""; + + public MyAPOR(FOUserAgent userAgent) { + super(userAgent); + } + + public String getActual() { + return actual; + } + + public void resetActual() { + actual = ""; + } + + public String getMimeType() { + return null; + } + + protected void concatenateTransformationMatrix(AffineTransform at) { + } + + protected void restoreStateStackAfterBreakOut(List breakOutList) { + } + + protected List breakOutOfStateStack() { + return null; + } + + protected void saveGraphicsState() { + } + + protected void restoreGraphicsState() { + } + + protected void beginTextObject() { + } + + protected void endTextObject() { + } + + protected void clip() { + } + + protected void clipRect(float x, float y, float width, float height) { + } + + protected void moveTo(float x, float y) { + } + + protected void lineTo(float x, float y) { + } + + protected void closePath() { + } + + protected void fillRect(float x, float y, float width, float height) { + } + + protected void updateColor(Color col, boolean fill) { + } + + protected void drawImage(String url, Rectangle2D pos, Map foreignAttributes) { + String s = pos.toString(); + actual += s.substring(s.indexOf('[')); + } + + protected void drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, + boolean startOrBefore, int style, Color col) { + } + + protected void startVParea(CTM ctm, Rectangle clippingRect) { + } + + protected void endVParea() { + } + + protected void startLayer(String layer) { + } + + protected void endLayer() { + } + + } +} |