| 
<?php/**
 * Created by PhpStorm.
 * Package: org\majkel\tcpdfwarper
 * User: Micha? (majkel) Kowalik <[email protected]>
 * Date: 12/28/2014
 * Time: 18:17
 */
 
 namespace org\majkel\tcpdfwarper;
 
 use Xpmock\TestCaseTrait;
 
 /**
 * Class AbstractTestCase
 * @package org\majkel\tcpdfwarper
 * @coversDefaultClass \org\majkel\tcpdfwarper\AbstractOp
 */
 class AbstractTestCase extends \PHPUnit_Framework_TestCase {
 
 use TestCaseTrait;
 
 /**
 * @var string
 */
 protected $tcpdfClassName;
 
 const DEFAULT_TCPDF = '\TCPDF';
 
 const ENV_PACKAGE = 'TCPDF_PACKAGE';
 
 protected static $packageMapping = array(
 'tecnickcom/tcpdf' => self::DEFAULT_TCPDF,
 'onigoetz/fpdi_tcpdf' => '\fpdi\FPDI',
 'dummy' => '\org\majkel\tcpdfwarper\DummyTcpdf',
 );
 
 /**
 * @return string
 * @throws \Exception
 */
 public function getTcpdfClass() {
 if (is_null($this->tcpdfClassName)) {
 $package = strtolower(trim(getenv(self::ENV_PACKAGE)));
 if ($package) {
 if (isset(self::$packageMapping[$package])) {
 $this->tcpdfClassName = self::$packageMapping[$package];
 }
 else {
 throw new \Exception("Unknown TCPDF package `$package`");
 }
 }
 else {
 $this->tcpdfClassName = self::DEFAULT_TCPDF;
 }
 }
 return $this->tcpdfClassName;
 }
 
 /**
 * @return \PHPUnit_Framework_MockObject_MockObject
 */
 public function getTcpdfMock() {
 return $this->getMockBuilder($this->getTcpdfClass())
 ->disableOriginalConstructor()
 ->getMock();
 }
 
 /**
 * For strict mode marks test as success
 */
 protected function success() {
 self::assertTrue(true);
 }
 }
 
 |