You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cacert-testmgr/external/ZendFramework-1.9.5/tests/Zend/Pdf/DestinationTest.php

306 lines
13 KiB
PHP

<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Pdf
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id:$
*/
/** Zend_Pdf_Destination */
require_once 'Zend/Pdf/Destination.php';
/** Zend_Pdf_Action */
require_once 'Zend/Pdf/ElementFactory.php';
/** Zend_Pdf */
require_once 'Zend/Pdf.php';
/** PHPUnit Test Case */
require_once 'PHPUnit/Framework/TestCase.php';
/**
* @category Zend
* @package Zend_Pdf
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @group Zend_Pdf
*/
class Zend_Pdf_DestinationTest extends PHPUnit_Framework_TestCase
{
public function setUp()
{
date_default_timezone_set('GMT');
}
public function testLoad()
{
$pdf = new Zend_Pdf();
$page1 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$page2 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
// Zend_Pdf_Destination_Zoom
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('XYZ');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destArray->items[] = new Zend_Pdf_Element_Numeric(1); // zoom
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_Zoom);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /XYZ 0 842 1 ]');
// Zend_Pdf_Destination_Fit
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('Fit');
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_Fit);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /Fit ]');
// Zend_Pdf_Destination_FitHorizontally
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitH');
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitHorizontally);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitH 842 ]');
// Zend_Pdf_Destination_FitVertically
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitV');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitVertically);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitV 0 ]');
// Zend_Pdf_Destination_FitRectangle
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitR');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destArray->items[] = new Zend_Pdf_Element_Numeric(10); // bottom
$destArray->items[] = new Zend_Pdf_Element_Numeric(595); // right
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitRectangle);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitR 0 10 595 842 ]');
// Zend_Pdf_Destination_FitBoundingBox
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitB');
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitBoundingBox);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitB ]');
// Zend_Pdf_Destination_FitBoundingBoxHorizontally
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitBH');
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitBoundingBoxHorizontally);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitBH 842 ]');
// Zend_Pdf_Destination_FitBoundingBoxVertically
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitBV');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitBoundingBoxVertically);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitBV 0 ]');
}
public function testGettersSetters()
{
$pdf = new Zend_Pdf();
$page1 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$page2 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
// Zend_Pdf_Destination_Zoom
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('XYZ');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destArray->items[] = new Zend_Pdf_Element_Numeric(1); // zoom
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertEquals($destination->getLeftEdge(), 0);
$destination->setLeftEdge(5);
$this->assertEquals($destination->getLeftEdge(), 5);
$this->assertEquals($destination->getTopEdge(), 842);
$destination->setTopEdge(825);
$this->assertEquals($destination->getTopEdge(), 825);
$this->assertEquals($destination->getZoomFactor(), 1);
$destination->setZoomFactor(0.5);
$this->assertEquals($destination->getZoomFactor(), 0.5);
// Zend_Pdf_Destination_FitHorizontally
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitH');
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertEquals($destination->getTopEdge(), 842);
$destination->setTopEdge(825);
$this->assertEquals($destination->getTopEdge(), 825);
// Zend_Pdf_Destination_FitVertically
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitV');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertEquals($destination->getLeftEdge(), 0);
$destination->setLeftEdge(5);
$this->assertEquals($destination->getLeftEdge(), 5);
// Zend_Pdf_Destination_FitRectangle
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitR');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destArray->items[] = new Zend_Pdf_Element_Numeric(10); // bottom
$destArray->items[] = new Zend_Pdf_Element_Numeric(595); // right
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertEquals($destination->getLeftEdge(), 0);
$destination->setLeftEdge(5);
$this->assertEquals($destination->getLeftEdge(), 5);
$this->assertEquals($destination->getBottomEdge(), 10);
$destination->setBottomEdge(20);
$this->assertEquals($destination->getBottomEdge(), 20);
$this->assertEquals($destination->getRightEdge(), 595);
$destination->setRightEdge(590);
$this->assertEquals($destination->getRightEdge(), 590);
$this->assertEquals($destination->getTopEdge(), 842);
$destination->setTopEdge(825);
$this->assertEquals($destination->getTopEdge(), 825);
// Zend_Pdf_Destination_FitBoundingBoxHorizontally
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitBH');
$destArray->items[] = new Zend_Pdf_Element_Numeric(842); // top
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertEquals($destination->getTopEdge(), 842);
$destination->setTopEdge(825);
$this->assertEquals($destination->getTopEdge(), 825);
// Zend_Pdf_Destination_FitBoundingBoxVertically
$destArray = new Zend_Pdf_Element_Array();
$destArray->items[] = $page2->getPageDictionary();
$destArray->items[] = new Zend_Pdf_Element_Name('FitBV');
$destArray->items[] = new Zend_Pdf_Element_Numeric(0); // left
$destination = Zend_Pdf_Destination::load($destArray);
$this->assertEquals($destination->getLeftEdge(), 0);
$destination->setLeftEdge(5);
$this->assertEquals($destination->getLeftEdge(), 5);
}
public function testCreate()
{
$pdf = new Zend_Pdf();
$page1 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$page2 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$destination = Zend_Pdf_Destination_Zoom::create($page2, 0, 842, 0.5);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_Zoom);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /XYZ 0 842 0.5 ]');
$destination = Zend_Pdf_Destination_Fit::create($page2);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_Fit);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /Fit ]');
$destination = Zend_Pdf_Destination_FitHorizontally::create($page2, 842);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitHorizontally);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitH 842 ]');
$destination = Zend_Pdf_Destination_FitVertically::create(2, 0);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitVertically);
$this->assertEquals($destination->getResource()->toString(), '[2 /FitV 0 ]');
$destination = Zend_Pdf_Destination_FitRectangle::create($page1, 0, 10, 595, 842);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitRectangle);
$this->assertEquals($destination->getResource()->toString(), '[3 0 R /FitR 0 10 595 842 ]');
$destination = Zend_Pdf_Destination_FitBoundingBox::create(1);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitBoundingBox);
$this->assertEquals($destination->getResource()->toString(), '[1 /FitB ]');
$destination = Zend_Pdf_Destination_FitBoundingBoxHorizontally::create($page2, 842);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitBoundingBoxHorizontally);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitBH 842 ]');
$destination = Zend_Pdf_Destination_FitBoundingBoxVertically::create($page2, 0);
$this->assertTrue($destination instanceof Zend_Pdf_Destination_FitBoundingBoxVertically);
$this->assertEquals($destination->getResource()->toString(), '[4 0 R /FitBV 0 ]');
}
}