public function testConvert($inputFile, $outputFile)
{
$endsWith = '.lossy.xml';
if (substr_compare($inputFile, $endsWith, -strlen($endsWith), strlen($endsWith)) === 0) {
$this->markTestSkipped('Skipped lossy conversion.');
}
if (!file_exists($outputFile)) {
$this->markTestIncomplete('Test is not complete: missing output fixture: ' . $outputFile);
}
$inputDocument = $this->createDocument($inputFile);
$outputDocument = $this->createDocument($outputFile);
$this->removeComments($inputDocument);
$this->removeComments($outputDocument);
$converter = $this->getConverter();
$convertedDocument = $converter->convert($inputDocument);
// Needed by some disabled output escaping (eg. legacy ezxml paragraph <line/> elements)
$convertedDocumentNormalized = new DOMDocument();
$convertedDocumentNormalized->loadXML($convertedDocument->saveXML());
$this->assertEquals($outputDocument, $convertedDocumentNormalized);
$validator = $this->getConversionValidator();
if (isset($validator)) {
$errors = $validator->validate($convertedDocument);
$this->assertTrue(empty($errors), 'Conversion result did not validate against the configured schemas:' . $this->formatValidationErrors($outputFile, $errors));
}
}