# wp-optimize/3.2.5/vendor/rosell-dk/webp-convert/tests/Convert/Converters/GraphicsMagickTest.php

WP-Optimize – Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance, version 3.2.5. 75 lines.

- Page: https://pluginprobe.com/plugins/wp-optimize/3.2.5/code/vendor/rosell-dk/webp-convert/tests/Convert/Converters/GraphicsMagickTest.php
- Raw: https://pluginprobe.com/plugins/wp-optimize/3.2.5/raw/vendor/rosell-dk/webp-convert/tests/Convert/Converters/GraphicsMagickTest.php
- Modified: 2022-06-03T18:20:18+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wp-optimize/3.2.5/code/vendor/rosell-dk/webp-convert/tests/Convert/Converters/GraphicsMagickTest.php#L10-L20`.

```php
<?php
/**
 * WebPConvert - Convert JPEG & PNG to WebP with PHP
 *
 * @link https://github.com/rosell-dk/webp-convert
 * @license MIT
 */

namespace WebPConvert\Tests\Convert\Converters;

use WebPConvert\Convert\Converters\GraphicsMagick;
use WebPConvert\Convert\Exceptions\ConversionFailed\ConverterNotOperationalException;
use WebPConvert\Loggers\BufferLogger;

use PHPUnit\Framework\TestCase;

/**
 * @coversDefaultClass WebPConvert\Convert\Converters\GraphicsMagick
 * @covers WebPConvert\Convert\Converters\GraphicsMagick
 */
class GraphicsMagickTest extends TestCase
{

    public static function getImageFolder()
    {
        return realpath(__DIR__ . '/../../images');
    }

    public static function getImagePath($image)
    {
        return self::getImageFolder() . '/' . $image;
    }

    public function testConvert()
    {
        ConverterTestHelper::runAllConvertTests($this, 'GraphicsMagick');
    }

    /**
     * Try converting.
     * It is ok if converter is not operational.
     * It is not ok if converter thinks it is operational, but fails
     *
     * @return $ok
     * @throws ConversionFailedException if convert throws it
     */
    private static function tryThis($test, $source, $options)
    {
        $bufferLogger = new BufferLogger();

        try {
            GraphicsMagick::convert($source, $source . '.webp', $options, $bufferLogger);
        } catch (ConversionFailedException $e) {

            //$bufferLogger->getText()
            throw $e;
        } catch (ConverterNotOperationalException $e) {
            // (SystemRequirementsNotMetException is also a ConverterNotOperationalException)
            // this is ok.
            return true;
        }
        return true;
    }

    public function testWithNice() {
        $source = self::getImagePath('test.png');
        $options = [
            'use-nice' => true,
            'lossless' => true,
        ];
        $this->assertTrue(self::tryThis($this, $source, $options));
    }

}

```
