/** * some XMLReaderNode can not be turned into a SimpleXMLElement, this tests how robust XMLReaderNode * is for the job. * * @test */ function asSimpleXMLforElementAndSignificantWhitespace() { $reader = new XMLReaderStub('<root> <!-- <3 <3 love XMLReader::SIGNIFICANT_WHITESPACE (14) <3 <3 --> </root>'); $reader->read(); // (#1) <root> // test asSimpleXML() for XMLReader::ELEMENT $this->assertSame(XMLReader::ELEMENT, $reader->nodeType); $node = new XMLReaderNode($reader); $sxml = $node->getSimpleXMLElement(); $this->assertInstanceOf('SimpleXMLElement', $sxml); $reader->read(); // (#14) SIGNIFICANT_WHITESPACE // test asSimpleXML() for XMLReader::SIGNIFICANT_WHITESPACE $this->assertSame(XMLReader::SIGNIFICANT_WHITESPACE, $reader->nodeType); $node = new XMLReaderNode($reader); $sxml = $node->getSimpleXMLElement(); $this->assertNull($sxml); }
/** * @test * @dataProvider provideAllFiles * * @param string $xml */ function readBehavior($xml) { $reader = new XMLReaderStub($xml); $it = new XMLReaderIterator($reader); $expected = array(); while ($reader->read()) { $expected[] = XMLReaderNode::dump($reader, true); } $reader->rewind(); $index = 0; foreach ($it as $index => $node) { $this->assertEquals($expected[$index], XMLReaderNode::dump($reader, true)); } $this->assertCount($index + 1, $expected); }