Skip to content

Commit

Permalink
tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Konstantin Wagner committed Feb 15, 2018
1 parent 3fd5c82 commit 27f73a1
Showing 1 changed file with 26 additions and 14 deletions.
40 changes: 26 additions & 14 deletions tests/Image/ImageTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
use Contao\FilesModel;
use Contao\Image\ImageInterface;
use Contao\Image\Picture;
use Contao\PageModel;
use Contao\System;
use HeimrichHannot\UtilsBundle\Container\ContainerUtil;
use HeimrichHannot\UtilsBundle\Image\Image;
use HeimrichHannot\UtilsBundle\Tests\TestCaseEnvironment;

Expand All @@ -35,7 +35,10 @@ public function setUp()
}

$container = System::getContainer();
$utilsContainer = new ContainerUtil($this->mockContaoFramework());

$utilsContainer = $this->mockAdapter(['isBackend', 'isFrontend']);
$utilsContainer->method('isBackend')->willReturn(false);
$utilsContainer->method('isFrontend')->willReturn(true);
$container->set('huh.utils.container', $utilsContainer);

$imageAdapter = $this->mockAdapter(['getUrl']);
Expand Down Expand Up @@ -63,39 +66,48 @@ public function testAddToTemplateDataWithoutModel()
$imageArray['imageUrl'] = __DIR__.'/../data/screenshot.jpg';
$imageArray['linkTitle'] = true;

$templateData['href'] = true;
$templateData['images']['href'] = true;
$templateData['images']['singleSRC'] = [];

$image = new Image();
$image->addToTemplateData('singleSRC', 'addImage', $templateData, $imageArray);
$image->addToTemplateData('singleSRC', 'addImage', $templateData['images'], $imageArray);

$this->assertNotSame(['href' => true, 'images' => ['singleSRC' => []]], $templateData);
$this->assertNotSame(['images' => ['href' => true, 'singleSRC' => []]], $templateData);
$this->assertSame(__DIR__.'/../data/screenshot.jpg', $templateData['images']['singleSRC']);
}

public function testAddToTemplateDataWithModel()
{
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields'] = [];
global $objPage;

$imageArray['imagemargin'] = 'a:5:{s:6:"bottom";s:0:"";s:4:"left";s:0:"";s:5:"right";s:0:"";s:3:"top";s:0:"";s:4:"unit";s:0:"";}';
$objPage = $this->mockClassWithProperties(PageModel::class, ['language' => 'de', 'rootFallbackLanguage' => 'de']);

$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields'] = ['title' => 'maxlenght="255"', 'alt' => 'maxlenght="255"', 'link' => 'maxlenght="255"', 'caption' => 'maxlenght="255"'];

$imageArray['imagemargin'] = 'a:5:{s:6:"bottom";i:10;s:4:"left";i:10;s:5:"right";i:10;s:3:"top";i:10;s:4:"unit";s:2:"px";}';
$imageArray['singleSRC'] = __DIR__.'/../data/screenshot.jpg';
$imageArray['size'] = 'a:3:{i:0;s:0:"2";i:1;s:0:"2";i:2;s:0:"2";}';
$imageArray['alt'] = '';
$imageArray['fullsize'] = false;
$imageArray['fullsize'] = true;
$imageArray['floating'] = false;
$imageArray['imageUrl'] = __DIR__.'/../data/screenshot.jpg';
$imageArray['linkTitle'] = true;
$imageArray['overwriteMeta'] = true;
$imageArray['linkTitle'] = 'linkTitle';
$imageArray['overwriteMeta'] = false;
$imageArray['caption'] = [];
$imageArray['id'] = 12;
$imageArray['imageTitle'] = 'imageTitle';

$templateData['href'] = true;
$templateData['images']['singleSRC'] = [];
$data['images']['href'] = true;
$data['images']['singleSRC'] = [];

$model = $this->mockClassWithProperties(FilesModel::class, ['meta' => 'a:1:{s:2:"de";a:4:{s:5:"title";s:9:"Diebstahl";s:3:"alt";s:0:"";s:4:"link";s:0:"";s:7:"caption";s:209:"Ob Stifte, Druckerpapier oder Büroklammern: Jeder vierte Arbeitnehmer lässt im Büro etwas mitgehen. Doch egal, wie günstig die gestohlenen Gegenstände sein mögen: Eine Abmahnung ist gerechtfertigt.";}}']);

$image = new Image();
$image->addToTemplateData('singleSRC', 'addImage', $templateData, $imageArray, null, null, null, $model);
$image->addToTemplateData('singleSRC', 'addImage', $data['images'], $imageArray, 400, null, null, $model);

$this->assertNotSame(['href' => true, 'images' => ['singleSRC' => []]], $templateData);
$this->assertNotSame(['images' => ['href' => true, 'singleSRC' => []]], $data);
$this->assertSame(__DIR__.'/../data/screenshot.jpg', $data['images']['singleSRC']);
$this->assertSame('margin:10px;', $data['images']['margin']);
$this->assertSame('Diebstahl', $data['images']['imageTitle']);
}
}

0 comments on commit 27f73a1

Please sign in to comment.