rss-bridge/tests/Formats/JsonFormatTest.php
Jan Tojnar 12ddee4054
tests/Formats: Simplify by using a base class (#2779)
There is a lot of redundancy. Let’s not repeat ourselves.

Unfortunately, since we do not install PHPUnit as a project dependency on CI,
it does not use the composer’s PSR-4 autoloader and the tests are unable to find
the `BaseFormatTest` class.

Until we resolve that, let’s load the class explicitly.
2022-06-08 02:17:32 +02:00

27 lines
724 B
PHP

<?php
/**
* JsonFormat - JSON Feed Version 1
* https://jsonfeed.org/version/1
*/
namespace RssBridge\Tests\Formats;
require_once __DIR__ . '/BaseFormatTest.php';
use PHPUnit\Framework\TestCase;
class JsonFormatTest extends BaseFormatTest {
private const PATH_EXPECTED = self::PATH_SAMPLES . 'expectedJsonFormat/';
/**
* @dataProvider sampleProvider
* @runInSeparateProcess
*/
public function testOutput(string $name, string $path) {
$data = $this->formatData('Json', $this->loadSample($path));
$this->assertNotNull(json_decode($data), 'invalid JSON output: ' . json_last_error_msg());
$expected = self::PATH_EXPECTED . $name . '.json';
$this->assertJsonStringEqualsJsonFile($expected, $data);
}
}