Validate XLIFF files in tests using the XSD

This commit is contained in:
Wouter de Jong 2020-11-01 11:46:42 +01:00
parent 043a505fc9
commit 17dfa1d5fc
4 changed files with 16 additions and 18 deletions

View File

@ -12,7 +12,7 @@
namespace Symfony\Component\Form\Tests\Resources;
use PHPUnit\Framework\TestCase;
use PHPUnit\Util\Xml\Loader;
use Symfony\Component\Translation\Util\XliffUtils;
class TranslationFilesTest extends TestCase
{
@ -21,13 +21,12 @@ class TranslationFilesTest extends TestCase
*/
public function testTranslationFileIsValid($filePath)
{
$loader = class_exists(Loader::class)
? [new Loader(), 'loadFile']
: ['PHPUnit\Util\XML', 'loadfile'];
$document = new \DOMDocument();
$document->loadXML(file_get_contents($filePath));
$loader($filePath, false, false, true);
$errors = XliffUtils::validateSchema($document);
$this->addToAssertionCount(1);
$this->assertCount(0, $errors, sprintf('"%s" is invalid:%s', $filePath, \PHP_EOL.implode(\PHP_EOL, array_column($errors, 'message'))));
}
public function provideTranslationFiles()

View File

@ -12,7 +12,7 @@
namespace Symfony\Component\Security\Core\Tests\Resources;
use PHPUnit\Framework\TestCase;
use PHPUnit\Util\Xml\Loader;
use Symfony\Component\Translation\Util\XliffUtils;
class TranslationFilesTest extends TestCase
{
@ -21,13 +21,12 @@ class TranslationFilesTest extends TestCase
*/
public function testTranslationFileIsValid($filePath)
{
$loader = class_exists(Loader::class)
? [new Loader(), 'loadFile']
: ['PHPUnit\Util\XML', 'loadfile'];
$document = new \DOMDocument();
$document->loadXML(file_get_contents($filePath));
$loader($filePath, false, false, true);
$errors = XliffUtils::validateSchema($document);
$this->addToAssertionCount(1);
$this->assertCount(0, $errors, sprintf('"%s" is invalid:%s', $filePath, \PHP_EOL.implode(\PHP_EOL, array_column($errors, 'message'))));
}
public function provideTranslationFiles()

View File

@ -26,6 +26,7 @@
"symfony/expression-language": "^3.4|^4.0|^5.0",
"symfony/http-foundation": "^3.4|^4.0|^5.0",
"symfony/ldap": "^4.4|^5.0",
"symfony/translation": "^4.4|^5.0",
"symfony/validator": "^3.4.31|^4.3.4|^5.0",
"psr/log": "~1.0"
},

View File

@ -12,7 +12,7 @@
namespace Symfony\Component\Validator\Tests\Resources;
use PHPUnit\Framework\TestCase;
use PHPUnit\Util\Xml\Loader;
use Symfony\Component\Translation\Util\XliffUtils;
class TranslationFilesTest extends TestCase
{
@ -21,13 +21,12 @@ class TranslationFilesTest extends TestCase
*/
public function testTranslationFileIsValid($filePath)
{
$loader = class_exists(Loader::class)
? [new Loader(), 'loadFile']
: ['PHPUnit\Util\XML', 'loadfile'];
$document = new \DOMDocument();
$document->loadXML(file_get_contents($filePath));
$loader($filePath, false, false, true);
$errors = XliffUtils::validateSchema($document);
$this->addToAssertionCount(1);
$this->assertCount(0, $errors, sprintf('"%s" is invalid:%s', $filePath, \PHP_EOL.implode(\PHP_EOL, array_column($errors, 'message'))));
}
public function provideTranslationFiles()