summaryrefslogtreecommitdiffstats
BranchCommit messageAuthorAge
6.0-stableMerge r23893 from trunk to 6.0-stable (#43014).Marius Balteanu4 days
masterFixes content in selected columns overflows to the right in Gantt chart (#430...Marius Balteanu4 days
5.1-stableRemove a failing test in 5.1-stable that refers to missing foo.js (#43002).Go MAEDA7 days
5.0-stableUpdates for 5.0.13 release.Marius Balteanu12 days
4.2-stableUpdates for 4.2.11 releaseGo MAEDA22 months
4.0-stableMerged r21942 from trunk to 4.2-stable (#37875).Go MAEDA3 years
4.1-stableUpdates for 4.1.7 release.Marius Balteanu3 years
3.4-stableUpdates for 3.4.13 release.Jean-Philippe Lang6 years
3.3-stableMerged r19333 from trunk to 3.3-stable (#25742)Toshi MARUYAMA6 years
3.2-stableUpdates for 3.2.9 release.Jean-Philippe Lang8 years
3.1-stableUpdates for 3.1.7.Jean-Philippe Lang9 years
2.6-stableUpdates copyright for 2016.Jean-Philippe Lang9 years
3.0-stableUpdates for 3.0.7 release.Jean-Philippe Lang10 years
2.5-stableUpdates for 2.5.3 release.Jean-Philippe Lang11 years
2.4-stableUpdates for 2.4.7 release.Jean-Philippe Lang11 years
2.3-stableMerged r12456 from trunk to 2.3-stable (#15756)Toshi MARUYAMA12 years
2.2-stableUpdates for 2.2.4 release.Jean-Philippe Lang12 years
1.4-stableUpdates for 1.4.7 release.Jean-Philippe Lang13 years
2.1-stableChanges for 2.1.6 release.Jean-Philippe Lang13 years
2.0-stableMerged r10689 from trunk to 2.0-stableToshi MARUYAMA13 years
1.3-stableSet version to 1.3.3.Jean-Philippe Lang13 years
1.2-stableVersion set to 1.2.3.Jean-Philippe Lang14 years
1.1-stableMerged r4806 from trunk.Toshi MARUYAMA14 years
1.0-stableMerged r4965 from trunk.Jean-Philippe Lang14 years
integration-to-svn-trunkAdd documentation about contributing to Redmine with gitEric Davis15 years
integration-to-svn-stable-1.0Merged r4210 from trunk.Eric Davis15 years
0.9-stableMerged r3865 and r3866 from trunk.Jean-Philippe Lang15 years
0.8-stableMerged r3309 from trunk.Jean-Philippe Lang16 years
nbc r18658@gaspard (orig r1900): jplang | 2008-09-22 21:50:10 +0200Nicolas Chuche16 years
workBranches cleaning.Jean-Philippe Lang16 years
0.7-stableUpdates CHANGELOG and version for 0.7.4 release.Jean-Philippe Lang17 years
swistakFix access to Repository Parent Path (FORBIDEN instead of AUTH_REQUIRED).Liwiusz Ociepa17 years
plugin-hooksAdded test coverage for Redmine::Plugin.add_hookEric Davis17 years
0.6-stableDocs updated for 0.6.4 release.Jean-Philippe Lang17 years
 
TagDownloadAuthorAge
5.0.13redmine-5.0.13.tar.gz  redmine-5.0.13.zip  Marius Balteanu12 days
5.1.9redmine-5.1.9.tar.gz  redmine-5.1.9.zip  Marius Balteanu12 days
6.0.6redmine-6.0.6.tar.gz  redmine-6.0.6.zip  Marius Balteanu12 days
5.1.8redmine-5.1.8.tar.gz 
/*
 * 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.extensions.prepress;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;

import java.awt.Dimension;
import java.awt.Rectangle;

import org.junit.Test;

/**
 * Tests for the fox:bleed, fox:crop-offset, fox:crop-box extension properties.
 */
public class PageBoundariesTestCase {

    private static final Dimension TEST_AREA_SIZE = new Dimension(20000, 15000);

    private static final Rectangle TEST_AREA = new Rectangle(TEST_AREA_SIZE);

    private static final String BLEED = "5pt";

    private static final String CROP_OFFSET = "8pt";

    /** Test for page boundaries. */
    @Test
    public void testBoundaries1() {
        PageBoundaries boundaries = new PageBoundaries(TEST_AREA_SIZE, BLEED, CROP_OFFSET, null);
        assertEquals(TEST_AREA, boundaries.getTrimBox());

        Rectangle bleedBox = boundaries.getBleedBox();
        assertNotNull("Expected not null object", bleedBox);
        assertEquals(-5000, bleedBox.x);
        assertEquals(-5000, bleedBox.y);
        assertEquals(30000, bleedBox.width);
        assertEquals(25000, bleedBox.height);

        Rectangle mediaBox = boundaries.getMediaBox();
        assertNotNull("Expected not null object", mediaBox);
        assertEquals(-8000, mediaBox.x);
        assertEquals(-8000, mediaBox.y);
        assertEquals(36000, mediaBox.width);
        assertEquals(31000, mediaBox.height);
    }

    /** Test for page boundaries. */
    @Test
    public void testBoundaries2() {
        PageBoundaries boundaries = new PageBoundaries(
                TEST_AREA_SIZE, BLEED, null, null);
        Rectangle bleedBox = boundaries.getBleedBox();
        assertNotNull("Expected not null object", bleedBox);
        assertEquals(-5000, bleedBox.x);
        assertEquals(-5000, bleedBox.y);
        assertEquals(30000, bleedBox.width);
        assertEquals(25000, bleedBox.height);
        assertEquals(bleedBox, boundaries.getMediaBox());
    }

    /** Two values for the properties. */
    @Test
    public void testBoundaries2Values() {
        PageBoundaries boundaries = new PageBoundaries(
                TEST_AREA_SIZE, "5pt  10pt", "6pt \t 12pt", null);
        Rectangle bleedBox = boundaries.getBleedBox();
        assertEquals(-10000, bleedBox.x);
        assertEquals(-5000,  bleedBox.y);
        assertEquals(40000,  bleedBox.width);
        assertEquals(25000,  bleedBox.height);

        Rectangle mediaBox = boundaries.getMediaBox();
        assertEquals(-12000, mediaBox.x);
        assertEquals(-6000,  mediaBox.y);
        assertEquals(44000,  mediaBox.width);
        assertEquals(27000,  mediaBox.height);
    }

    /** Three values for the properties. */
    @Test
    public void testBoundaries3Values() {
        PageBoundaries boundaries = new PageBoundaries(
                TEST_AREA_SIZE, "5pt  10pt 7pt", "6pt \t 12pt 14pt", null);
        Rectangle bleedBox = boundaries.getBleedBox();
        assertEquals(-10000, bleedBox.x);
        assertEquals(-5000,  bleedBox.y);
        assertEquals(40000,  bleedBox.width);
        assertEquals(27000,  bleedBox.height);

        Rectangle mediaBox = boundaries.getMediaBox();
        assertEquals(-12000, mediaBox.x);
        assertEquals(-6000,  mediaBox.y);
        assertEquals(44000,  mediaBox.width);
        assertEquals(35000,  mediaBox.height);
    }

    /** Four values for the properties. */
    @Test
    public void testBoundaries4Values() {
        PageBoundaries boundaries = new PageBoundaries(
                TEST_AREA_SIZE, "5pt  6pt 7pt   8pt", "9pt 10pt  11pt 12pt", null);
        Rectangle bleedBox = boundaries.getBleedBox();
        assertEquals(-8000,  bleedBox.x);
        assertEquals(-5000,  bleedBox.y);
        assertEquals(34000,  bleedBox.width);
        assertEquals(27000,  bleedBox.height);

        Rectangle mediaBox = boundaries.getMediaBox();
        assertEquals(-12000, mediaBox.x);
        assertEquals(-9000,  mediaBox.y);
        assertEquals(42000,  mediaBox.width);
        assertEquals(35000,  mediaBox.height);
    }

    /** Test for the different values of crop-box. */
    @Test
    public void testCropBox() {
        PageBoundaries boundaries = new PageBoundaries(TEST_AREA_SIZE, BLEED, CROP_OFFSET, null);
        assertEquals(boundaries.getMediaBox(), boundaries.getCropBox());

        boundaries = new PageBoundaries(TEST_AREA_SIZE, BLEED, CROP_OFFSET, "");
        assertEquals(boundaries.getMediaBox(), boundaries.getCropBox());

        boundaries = new PageBoundaries(TEST_AREA_SIZE, BLEED, CROP_OFFSET, "trim-box");
        assertEquals(TEST_AREA, boundaries.getCropBox());

        boundaries = new PageBoundaries(TEST_AREA_SIZE, BLEED, CROP_OFFSET, "bleed-box");
        assertEquals(boundaries.getBleedBox(), boundaries.getCropBox());

        boundaries = new PageBoundaries(TEST_AREA_SIZE, BLEED, CROP_OFFSET, "media-box");
        assertEquals(boundaries.getMediaBox(), boundaries.getCropBox());
    }

    /** Test for default values returned when properties are null. */
    @Test
    public void testBoundariesNull() {
        PageBoundaries b = new PageBoundaries(TEST_AREA_SIZE, null, null, null);

        assertEquals("Result should be the same as TEST_AREA object", b.getTrimBox(), TEST_AREA);
        assertEquals("Result should be the same as TEST_AREA object", b.getBleedBox(), TEST_AREA);
        assertEquals("Result should be the same as TEST_AREA object", b.getMediaBox(), TEST_AREA);
        assertEquals("Result should be the same as TEST_AREA object", b.getCropBox(), TEST_AREA);
    }

    /** Units must be specified. */
    @Test
    public void testBoundariesFail() {
        try {
            new PageBoundaries(TEST_AREA_SIZE, "0", null, null);
            fail("Expected IllegalArgumentException. Box should have units");
        } catch (IllegalArgumentException iae) {
            // Good!
        }
    }
}
='2015-07-26 07:10:55 +0000'>10 years
3.0.4redmine-3.0.4.tar.gz  redmine-3.0.4.zip  Jean-Philippe Lang10 years
2.6.6redmine-2.6.6.tar.gz  redmine-2.6.6.zip  Jean-Philippe Lang10 years
3.0.3redmine-3.0.3.tar.gz  redmine-3.0.3.zip  Jean-Philippe Lang10 years
2.6.5redmine-2.6.5.tar.gz  redmine-2.6.5.zip  Jean-Philippe Lang10 years
3.0.2redmine-3.0.2.tar.gz  redmine-3.0.2.zip  Jean-Philippe Lang10 years
2.6.4redmine-2.6.4.tar.gz  redmine-2.6.4.zip  Jean-Philippe Lang10 years
3.0.1redmine-3.0.1.tar.gz  redmine-3.0.1.zip  Jean-Philippe Lang10 years
2.6.3redmine-2.6.3.tar.gz  redmine-2.6.3.zip  Jean-Philippe Lang10 years
3.0.0redmine-3.0.0.tar.gz  redmine-3.0.0.zip  Jean-Philippe Lang10 years
2.6.2redmine-2.6.2.tar.gz  redmine-2.6.2.zip  Jean-Philippe Lang10 years
2.6.1redmine-2.6.1.tar.gz  redmine-2.6.1.zip  Jean-Philippe Lang11 years
2.6.0redmine-2.6.0.tar.gz  redmine-2.6.0.zip  Jean-Philippe Lang11 years
2.5.3redmine-2.5.3.tar.gz  redmine-2.5.3.zip  Jean-Philippe Lang11 years
2.4.7redmine-2.4.7.tar.gz  redmine-2.4.7.zip  Jean-Philippe Lang11 years
2.5.2redmine-2.5.2.tar.gz  redmine-2.5.2.zip  Jean-Philippe Lang11 years
2.4.6redmine-2.4.6.tar.gz  redmine-2.4.6.zip  Jean-Philippe Lang11 years
2.5.1redmine-2.5.1.tar.gz  redmine-2.5.1.zip  Jean-Philippe Lang11 years
2.4.5redmine-2.4.5.tar.gz  redmine-2.4.5.zip  Jean-Philippe Lang11 years
2.5.0redmine-2.5.0.tar.gz  redmine-2.5.0.zip  Jean-Philippe Lang11 years
2.4.4redmine-2.4.4.tar.gz  redmine-2.4.4.zip  Jean-Philippe Lang11 years
2.4.3redmine-2.4.3.tar.gz  redmine-2.4.3.zip  Jean-Philippe Lang11 years
2.4.2redmine-2.4.2.tar.gz  redmine-2.4.2.zip  Jean-Philippe Lang12 years
2.4.1redmine-2.4.1.tar.gz  redmine-2.4.1.zip  Jean-Philippe Lang12 years
2.4.0redmine-2.4.0.tar.gz  redmine-2.4.0.zip  Jean-Philippe Lang12 years
2.3.4redmine-2.3.4.tar.gz  redmine-2.3.4.zip  Jean-Philippe Lang12 years
2.3.3redmine-2.3.3.tar.gz  redmine-2.3.3.zip  Jean-Philippe Lang12 years
2.3.2redmine-2.3.2.tar.gz  redmine-2.3.2.zip  Jean-Philippe Lang12 years
2.3.1redmine-2.3.1.tar.gz  redmine-2.3.1.zip  Jean-Philippe Lang12 years
2.3.0redmine-2.3.0.tar.gz  redmine-2.3.0.zip  Jean-Philippe Lang12 years
2.2.4redmine-2.2.4.tar.gz  redmine-2.2.4.zip  Jean-Philippe Lang12 years
2.2.3redmine-2.2.3.tar.gz  redmine-2.2.3.zip  Jean-Philippe Lang12 years
2.2.2redmine-2.2.2.tar.gz  redmine-2.2.2.zip  Jean-Philippe Lang13 years
1.4.7redmine-1.4.7.tar.gz  redmine-1.4.7.zip  Jean-Philippe Lang13 years
1.4.6redmine-1.4.6.tar.gz  redmine-1.4.6.zip  Jean-Philippe Lang13 years
2.1.6redmine-2.1.6.tar.gz  redmine-2.1.6.zip  Jean-Philippe Lang13 years
2.2.1redmine-2.2.1.tar.gz  redmine-2.2.1.zip  Jean-Philippe Lang13 years
2.1.5redmine-2.1.5.tar.gz  redmine-2.1.5.zip  Jean-Philippe Lang13 years
2.2.0redmine-2.2.0.tar.gz  redmine-2.2.0.zip  Jean-Philippe Lang13 years
2.1.4redmine-2.1.4.tar.gz  redmine-2.1.4.zip  Jean-Philippe Lang13 years
1.4.5redmine-1.4.5.tar.gz  redmine-1.4.5.zip  Jean-Philippe Lang13 years
2.1.3redmine-2.1.3.tar.gz  redmine-2.1.3.zip  Jean-Philippe Lang13 years
2.1.2redmine-2.1.2.tar.gz  redmine-2.1.2.zip  Jean-Philippe Lang13 years
2.1.1redmine-2.1.1.tar.gz  redmine-2.1.1.zip  Jean-Philippe Lang13 years
2.1.0redmine-2.1.0.tar.gz  redmine-2.1.0.zip  Jean-Philippe Lang13 years
2.0.4redmine-2.0.4.tar.gz  redmine-2.0.4.zip  Jean-Philippe Lang13 years
2.0.3redmine-2.0.3.tar.gz  redmine-2.0.3.zip  Jean-Philippe Lang13 years
1.4.4redmine-1.4.4.tar.gz  redmine-1.4.4.zip  Jean-Philippe Lang13 years
2.0.2redmine-2.0.2.tar.gz  redmine-2.0.2.zip  Jean-Philippe Lang13 years
1.4.3redmine-1.4.3.tar.gz  redmine-1.4.3.zip  Jean-Philippe Lang13 years
2.0.1redmine-2.0.1.tar.gz  redmine-2.0.1.zip  Jean-Philippe Lang13 years
2.0.0redmine-2.0.0.tar.gz  redmine-2.0.0.zip  Jean-Philippe Lang13 years
1.4.2redmine-1.4.2.tar.gz  redmine-1.4.2.zip  Jean-Philippe Lang13 years
1.4.1redmine-1.4.1.tar.gz  redmine-1.4.1.zip  Jean-Philippe Lang13 years
1.4.0redmine-1.4.0.tar.gz  redmine-1.4.0.zip  Jean-Philippe Lang13 years
1.3.3redmine-1.3.3.tar.gz  redmine-1.3.3.zip  Jean-Philippe Lang13 years
1.3.2redmine-1.3.2.tar.gz  redmine-1.3.2.zip  Jean-Philippe Lang13 years
1.3.1redmine-1.3.1.tar.gz  redmine-1.3.1.zip  Jean-Philippe Lang13 years
1.3.0redmine-1.3.0.tar.gz  redmine-1.3.0.zip  Jean-Philippe Lang14 years
1.2.3redmine-1.2.3.tar.gz  redmine-1.2.3.zip  Jean-Philippe Lang14 years
1.2.2redmine-1.2.2.tar.gz  redmine-1.2.2.zip  Jean-Philippe Lang14 years
1.2.1redmine-1.2.1.tar.gz  redmine-1.2.1.zip  Jean-Philippe Lang14 years
1.2.0redmine-1.2.0.tar.gz  redmine-1.2.0.zip  Jean-Philippe Lang14 years
1.1.3redmine-1.1.3.tar.gz  redmine-1.1.3.zip  Jean-Philippe Lang14 years
1.1.2redmine-1.1.2.tar.gz  redmine-1.1.2.zip  Jean-Philippe Lang14 years
1.1.1redmine-1.1.1.tar.gz  redmine-1.1.1.zip  Jean-Philippe Lang14 years
1.1.0redmine-1.1.0.tar.gz  redmine-1.1.0.zip  Jean-Philippe Lang15 years
1.0.5redmine-1.0.5.tar.gz  redmine-1.0.5.zip  Jean-Philippe Lang15 years
1.0.4redmine-1.0.4.tar.gz  redmine-1.0.4.zip  Jean-Philippe Lang15 years
1.0.3redmine-1.0.3.tar.gz  redmine-1.0.3.zip  Eric Davis15 years
1.0.2redmine-1.0.2.tar.gz  redmine-1.0.2.zip  Eric Davis15 years
1.0.1redmine-1.0.1.tar.gz  redmine-1.0.1.zip  Eric Davis15 years
1.0.0redmine-1.0.0.tar.gz  redmine-1.0.0.zip  Eric Davis15 years
0.9.6redmine-0.9.6.tar.gz  redmine-0.9.6.zip  Eric Davis15 years
0.9.5redmine-0.9.5.tar.gz  redmine-0.9.5.zip  Eric Davis15 years
0.9.4redmine-0.9.4.tar.gz  redmine-0.9.4.zip  Jean-Philippe Lang15 years
0.9.3redmine-0.9.3.tar.gz  redmine-0.9.3.zip  Jean-Philippe Lang15 years
0.9.2redmine-0.9.2.tar.gz  redmine-0.9.2.zip  Jean-Philippe Lang15 years
0.9.1redmine-0.9.1.tar.gz  redmine-0.9.1.zip  Jean-Philippe Lang15 years
0.9.0redmine-0.9.0.tar.gz  redmine-0.9.0.zip  Jean-Philippe Lang16 years
0.8.7redmine-0.8.7.tar.gz  redmine-0.8.7.zip  Jean-Philippe Lang16 years
0.8.6redmine-0.8.6.tar.gz  redmine-0.8.6.zip  Jean-Philippe Lang16 years
0.8.5redmine-0.8.5.tar.gz  redmine-0.8.5.zip  Jean-Philippe Lang16 years
0.8.4redmine-0.8.4.tar.gz  redmine-0.8.4.zip  Jean-Philippe Lang16 years
0.8.3redmine-0.8.3.tar.gz  redmine-0.8.3.zip  Jean-Philippe Lang16 years
0.8.2redmine-0.8.2.tar.gz  redmine-0.8.2.zip  Jean-Philippe Lang16 years
0.8.1redmine-0.8.1.tar.gz  redmine-0.8.1.zip  Jean-Philippe Lang16 years
0.8.0redmine-0.8.0.tar.gz  redmine-0.8.0.zip  Jean-Philippe Lang17 years
0.7.4redmine-0.7.4.tar.gz  redmine-0.7.4.zip  Jean-Philippe Lang17 years
0.8.0-RC1redmine-0.8.0-RC1.tar.gz  redmine-0.8.0-RC1.zip  Jean-Philippe Lang17 years
0.7.3redmine-0.7.3.tar.gz  redmine-0.7.3.zip  Jean-Philippe Lang17 years
0.7.2redmine-0.7.2.tar.gz  redmine-0.7.2.zip  Jean-Philippe Lang17 years
0.7.1redmine-0.7.1.tar.gz  redmine-0.7.1.zip  Jean-Philippe Lang17 years
0.7.0redmine-0.7.0.tar.gz  redmine-0.7.0.zip  Jean-Philippe Lang17 years
0.7.0-RC1redmine-0.7.0-RC1.tar.gz  redmine-0.7.0-RC1.zip  Jean-Philippe Lang17 years
0.6.4redmine-0.6.4.tar.gz  redmine-0.6.4.zip  Jean-Philippe Lang17 years
0.6-stableredmine-0.6-stable.tar.gz  redmine-0.6-stable.zip  Jean-Philippe Lang17 years
0.6.3redmine-0.6.3.tar.gz  redmine-0.6.3.zip  Jean-Philippe Lang18 years
0.6.2redmine-0.6.2.tar.gz  redmine-0.6.2.zip  Jean-Philippe Lang18 years
0.6.1redmine-0.6.1.tar.gz  redmine-0.6.1.zip  Jean-Philippe Lang18 years
0.6.0redmine-0.6.0.tar.gz  redmine-0.6.0.zip  Jean-Philippe Lang18 years
0.5.1redmine-0.5.1.tar.gz  redmine-0.5.1.zip  Jean-Philippe Lang18 years
0.5.0redmine-0.5.0.tar.gz  redmine-0.5.0.zip  Jean-Philippe Lang18 years
0.4.2redmine-0.4.2.tar.gz  redmine-0.4.2.zip  Jean-Philippe Lang18 years
0.4.1redmine-0.4.1.tar.gz  redmine-0.4.1.zip  Jean-Philippe Lang19 years
0.4.0redmine-0.4.0.tar.gz  redmine-0.4.0.zip  Jean-Philippe Lang19 years
0.3.0redmine-0.3.0.tar.gz  redmine-0.3.0.zip  Jean-Philippe Lang19 years
0.2.0redmine-0.2.0.tar.gz  redmine-0.2.0.zip  Jean-Philippe Lang19 years