Add Tests for Shared XmlWriter (#3365)

Fill in some very minor coverage gaps.
This commit is contained in:
oleibman
2023-02-14 21:38:06 -08:00
committed by GitHub
parent 5405eafcec
commit 8df86e4236
@@ -8,6 +8,19 @@ use PHPUnit\Framework\TestCase;
class XmlWriterTest extends TestCase
{
/** @var bool */
private $debugEnabled;
protected function setUp(): void
{
$this->debugEnabled = XMLWriter::$debugEnabled;
}
protected function tearDown(): void
{
XMLWriter::$debugEnabled = $this->debugEnabled;
}
public function testUnserialize(): void
{
$this->expectException(SpreadsheetException::class);
@@ -21,4 +34,52 @@ class XmlWriterTest extends TestCase
$text .= ';s:0:"";}';
unserialize($text);
}
public function testDebugEnabled(): void
{
XMLWriter::$debugEnabled = true;
$indent = ' ';
$indentnl = "\n";
$objWriter = new XMLWriter();
$objWriter->startDocument('1.0', 'UTF-8', 'yes');
$expected = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' . "\n";
$objWriter->startElement('root');
$expected .= '<root>' . $indentnl;
$objWriter->startElement('node');
$expected .= $indent . '<node>';
$objWriter->writeRawData('xyz');
$expected .= 'xyz';
$objWriter->writeRawData(null);
$objWriter->writeRawData(['12', '34', '5']);
$expected .= "12\n34\n5";
$objWriter->endElement(); // node
$expected .= '</node>' . $indentnl;
$objWriter->endElement(); // root
$expected .= '</root>' . $indentnl;
self::assertSame($expected, $objWriter->getData());
}
public function testDiskCache(): void
{
XMLWriter::$debugEnabled = false;
$indent = '';
$indentnl = '';
$objWriter = new XMLWriter(XMLWriter::STORAGE_DISK);
$objWriter->startDocument('1.0', 'UTF-8', 'yes');
$expected = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' . "\n";
$objWriter->startElement('root');
$expected .= '<root>' . $indentnl;
$objWriter->startElement('node');
$expected .= $indent . '<node>';
$objWriter->writeRawData('xyz');
$expected .= 'xyz';
$objWriter->writeRawData(null);
$objWriter->writeRawData(['12', '34', '5']);
$expected .= "12\n34\n5";
$objWriter->endElement(); // node
$expected .= '</node>' . $indentnl;
$objWriter->endElement(); // root
$expected .= '</root>' . $indentnl;
self::assertSame($expected, $objWriter->getData());
}
}