PluginProbe
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance / 3.2.5
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance v3.2.5
4.7.0 4.6.1 4.6.0 4.5.5 4.5.4 4.5.3 4.5.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.5 3.2.6 3.2.7 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.7.0 3.7.1 All 111 releases
wp-optimize / vendor / rosell-dk / webp-convert / tests / Convert / Converters / AbstractConverterTest.php

AbstractConverterTest.php in WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance 3.2.5, at vendor/rosell-dk/webp-convert/tests/Convert/Converters/AbstractConverterTest.php

109 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WebPConvert\Tests\Convert\Converters;
4
5 use WebPConvert\Convert\Converters\AbstractConverter;
6 use WebPConvert\Tests\Convert\Exposers\AbstractConverterExposer;
7 use WebPConvert\Tests\Convert\TestConverters\ExposedConverter;
8 use WebPConvert\Tests\Convert\TestConverters\SuccessGuaranteedConverter;
9
10 use PHPUnit\Framework\TestCase;
11
12 class AbstractConverterTest extends TestCase
13 {
14
15 public static function getImageFolder()
16 {
17 return realpath(__DIR__ . '/../../images');
18 }
19
20 public static function getImagePath($image)
21 {
22 return self::getImageFolder() . '/' . $image;
23 }
24
25
26 public function testConvert()
27 {
28 SuccessGuaranteedConverter::convert(
29 self::getImagePath('test.jpg'),
30 self::getImagePath('test.webp')
31 );
32 $this->addToAssertionCount(1);
33 }
34
35 public function testMimeTypeGuesser()
36 {
37
38 //$this->assertEquals('image/jpeg', ExposedConverter::exposedGetMimeType(self::$imgDir . '/test.jpg'));
39 //$this->assertEquals('image/png', ExposedConverter::exposedGetMimeType(self::$imgDir . '/test.png'));
40 //$mimeTypeMaybeDetected = ExposedConverter::exposedGetMimeType(self::$imgDir . '/png-without-extension');
41
42 $successConverterJpeg = SuccessGuaranteedConverter::createInstance(
43 self::getImagePath('test.jpg'),
44 self::getImagePath('test.jpg.webp')
45 );
46 $this->assertEquals('image/jpeg', $successConverterJpeg->getMimeTypeOfSource());
47
48 $successConverterPng = SuccessGuaranteedConverter::createInstance(
49 self::getImagePath('test.png'),
50 self::getImagePath('test.png.webp')
51 );
52 $this->assertEquals('image/png', $successConverterPng->getMimeTypeOfSource());
53
54 $successConverterPngMaybeDetected = SuccessGuaranteedConverter::createInstance(
55 self::getImagePath('png-without-extension'),
56 self::getImagePath('png-without-extension.webp')
57 );
58
59 $mimeTypeMaybeDetected = $successConverterPngMaybeDetected->getMimeTypeOfSource();
60
61 if ($mimeTypeMaybeDetected === false) {
62 // It was not detected, and that is ok!
63 // - it is not possible to detect mime type on all platforms. In case it could not be detected,
64 // - and file extension could not be mapped either, the method returns false.
65 $this->addToAssertionCount(1);
66 } else {
67 $this->assertEquals('image/png', $mimeTypeMaybeDetected);
68 }
69 }
70
71 public function testDefaultOptions()
72 {
73 $converter = new SuccessGuaranteedConverter(
74 self::getImagePath('test.jpg'),
75 self::getImagePath('test.jpg.webp')
76 );
77
78 $exposer = new AbstractConverterExposer($converter);
79
80 $defaultOptions = $exposer->getOptions();
81
82 //$this->assertSame('auto', $defaultOptions['quality']);
83 $this->assertSame(75, $defaultOptions['quality']);
84 $this->assertSame(85, $defaultOptions['max-quality']);
85 $this->assertSame(75, $defaultOptions['default-quality']);
86 $this->assertSame('none', $defaultOptions['metadata']);
87 }
88
89
90 public function testOptionMerging()
91 {
92 $converter = new SuccessGuaranteedConverter(
93 self::getImagePath('test.jpg'),
94 self::getImagePath('test.webp'),
95 [
96 'quality' => 80
97 ]
98 );
99
100 $exposer = new AbstractConverterExposer($converter);
101
102 //$exposer->prepareOptions();
103
104 $mergedOptions = $exposer->getOptions();
105
106 $this->assertSame(80, $mergedOptions['quality']);
107 }
108 }
109