FormatEncoderTestBase.php in Bibliography & Citation 8
File
modules/bibcite_export/tests/src/Kernel/FormatEncoderTestBase.php
View source
<?php
namespace Drupal\Tests\bibcite_export\Kernel;
use Drupal\KernelTests\KernelTestBase;
abstract class FormatEncoderTestBase extends KernelTestBase {
protected $encoder;
protected $format;
protected $encodedExtension;
protected $resultDir;
protected $inputDir;
protected $formatManager;
protected $serializer;
public function setUp() {
parent::setUp();
$this->formatManager = $this->container
->get('plugin.manager.bibcite_format');
$this->serializer = $this->container
->get('serializer');
}
public function testEncode() {
$input = scandir($this->inputDir);
foreach ($input as $file) {
if (is_file($this->inputDir . '/' . $file)) {
$info = pathinfo($file);
$file_name = basename($file, '.' . $info['extension']);
$result_file = $file_name . '.' . $this->encodedExtension;
if (file_exists($this->resultDir . '/' . $result_file)) {
$source_array = json_decode(file_get_contents($this->inputDir . '/' . $file), TRUE);
$encoded_source = $this->encoder
->encode($source_array, $this->format);
$expected = file_get_contents($this->resultDir . '/' . $result_file);
$this
->assertEquals($expected, $encoded_source);
}
else {
$this
->fail('Result file not exist for ' . $file);
}
}
}
if (!$this
->getCount()) {
$this
->fail('No assertions in ' . __FUNCTION__);
}
}
}