| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace App\Tests\Unit\Service\Twig;
- use App\Entity\Core\File;
- use App\Service\File\Manager\AbstractFileManager;
- use App\Service\Twig\AssetsExtension;
- use App\Service\Utils\Path;
- use PHPUnit\Framework\TestCase;
- class AssetsExtensionTest extends TestCase
- {
- private AbstractFileManager $fileManager;
- public function setUp(): void {
- $this->fileManager = $this->getMockBuilder(AbstractFileManager::class)->disableOriginalConstructor()->getMock();
- }
- public function testGetFunctions(): void {
- $assetsExtension = $this
- ->getMockBuilder(AssetsExtension::class)
- ->setConstructorArgs([$this->fileManager])
- ->setMethodsExcept(['getFunctions'])
- ->getMock();
- $functions = $assetsExtension->getFunctions();
- $this->assertCount(2, $functions);
- $this->assertEquals('absPath', $functions[0]->getName());
- $this->assertEquals('toBase64Src', $functions[1]->getName());
- }
- public function testAbsPath(): void {
- $assetsExtension = $this
- ->getMockBuilder(AssetsExtension::class)
- ->setConstructorArgs([$this->fileManager])
- ->setMethodsExcept(['absPath'])
- ->getMock();
- $publicDir = Path::getProjectDir();
- $this->assertEquals(
- $publicDir . '/public/foo',
- $assetsExtension->absPath('foo')
- );
- $this->assertEquals(
- $publicDir . '/public/foo/bar',
- $assetsExtension->absPath('foo/bar')
- );
- $this->assertEquals(
- $publicDir . '/public',
- $assetsExtension->absPath('')
- );
- }
- public function testToBase64Src(): void {
- $assetsExtension = $this
- ->getMockBuilder(AssetsExtension::class)
- ->setConstructorArgs([$this->fileManager])
- ->setMethodsExcept(['toBase64Src'])
- ->getMock();
- $file = $this->getMockBuilder(File::class)->getMock();
- $file->method('getMimeType')->willReturn('mime');
- $this->fileManager->method('read')->with($file)->willReturn('foo');
- $this->assertEquals(
- 'data:mime;base64,' . base64_encode('foo'),
- $assetsExtension->toBase64Src($file)
- );
- }
- }
|