gnu-social/vendor/zetacomponents/document/tests/pdf/renderer_literallayout_tests.php
2020-08-07 23:42:38 +01:00

151 lines
5.2 KiB
PHP

<?php
/**
* ezcDocumentPdfDriverTcpdfTests
*
* 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.
*
* @package Document
* @version //autogen//
* @subpackage Tests
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
require_once 'renderer_text_box_base_tests.php';
/**
* Test suite for class.
*
* @package Document
* @subpackage Tests
*/
class ezcDocumentPdfLiterallayoutRendererTests extends ezcDocumentPdfTestCase
{
public static function suite()
{
return new PHPUnit_Framework_TestSuite( __CLASS__ );
}
public function setUp()
{
parent::setUp();
$this->styles = new ezcDocumentPcssStyleInferencer();
$this->styles->appendStyleDirectives( array(
new ezcDocumentPcssLayoutDirective(
array( 'page' ),
array(
'page-size' => 'TEST',
'margin' => '0',
'padding' => '10',
)
),
new ezcDocumentPcssLayoutDirective(
array( 'literallayout' ),
array(
'font-size' => '6mm',
)
),
) );
}
public function testRenderLiterallayout()
{
// Additional formatting
$mock = $this->getMock( 'ezcTestDocumentPdfMockDriver', array(
'createPage',
'drawWord',
) );
// Expectations
$mock->expects( $this->at( 0 ) )->method( 'createPage' )->with(
$this->equalTo( 100, 1. ), $this->equalTo( 100, 1. )
);
$mock->expects( $this->at( 1 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 18, 1. ), $this->equalTo( " " )
);
$mock->expects( $this->at( 2 ) )->method( 'drawWord' )->with(
$this->equalTo( 24, 1. ), $this->equalTo( 18, 1. ), $this->equalTo( "public" )
);
$mock->expects( $this->at( 9 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 34.8, 1. ), $this->equalTo( " " )
);
$mock->expects( $this->at( 10 ) )->method( 'drawWord' )->with(
$this->equalTo( 24, 1. ), $this->equalTo( 34.8, 1. ), $this->equalTo( "{" )
);
$mock->expects( $this->at( 11 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 43.2, 1. ), $this->equalTo( " " )
);
$docbook = new ezcDocumentDocbook();
$docbook->loadFile( dirname( __FILE__ ) . '/../files/pdf/literallayout_short.xml' );
$renderer = new ezcDocumentPdfMainRenderer( $mock, $this->styles );
$pdf = $renderer->render(
$docbook,
new ezcDocumentPdfDefaultHyphenator()
);
}
public function testRenderLiterallayoutWrapped()
{
// Additional formatting
$mock = $this->getMock( 'ezcTestDocumentPdfMockDriver', array(
'createPage',
'drawWord',
'drawPolygon',
'drawPolyline',
) );
// Expectations
$mock->expects( $this->at( 0 ) )->method( 'createPage' )->with(
$this->equalTo( 100, 1. ), $this->equalTo( 100, 1. )
);
$mock->expects( $this->at( 5 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 18, 1. ), $this->equalTo( "1" )
);
$mock->expects( $this->at( 13 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 85.2, 1. ), $this->equalTo( "9" )
);
$mock->expects( $this->at( 14 ) )->method( 'createPage' )->with(
$this->equalTo( 100, 1. ), $this->equalTo( 100, 1. )
);
$mock->expects( $this->at( 27 ) )->method( 'createPage' )->with(
$this->equalTo( 100, 1. ), $this->equalTo( 100, 1. )
);
$mock->expects( $this->at( 32 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 18, 1. ), $this->equalTo( "9" )
);
$mock->expects( $this->at( 33 ) )->method( 'drawWord' )->with(
$this->equalTo( 12, 1. ), $this->equalTo( 26.4, 1. ), $this->equalTo( "0" )
);
$docbook = new ezcDocumentDocbook();
$docbook->loadFile( dirname( __FILE__ ) . '/../files/pdf/literallayout_long.xml' );
$renderer = new ezcDocumentPdfMainRenderer( $mock, $this->styles );
$pdf = $renderer->render(
$docbook,
new ezcDocumentPdfDefaultHyphenator()
);
}
}
?>