* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\VarDumper\Tests\Caster; use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; /** * @author Baptiste Clavié */ class XmlReaderCasterTest extends TestCase { use VarDumperTestTrait; /** @var \XmlReader */ private $reader; protected function setUp() { $this->reader = new \XmlReader(); $this->reader->open(__DIR__.'/../Fixtures/xml_reader.xml'); } protected function tearDown() { $this->reader->close(); } public function testParserProperty() { $this->reader->setParserProperty(\XMLReader::SUBST_ENTITIES, true); $expectedDump = <<<'EODUMP' XMLReader { +nodeType: NONE parserProperties: { SUBST_ENTITIES: true …3 } …12 } EODUMP; $this->assertDumpMatchesFormat($expectedDump, $this->reader); } /** * @dataProvider provideNodes */ public function testNodes($seek, $expectedDump) { while ($seek--) { $this->reader->read(); } $this->assertDumpMatchesFormat($expectedDump, $this->reader); } public function provideNodes() { return array( array(0, <<<'EODUMP' XMLReader { +nodeType: NONE …13 } EODUMP ), array(1, <<<'EODUMP' XMLReader { +localName: "foo" +nodeType: ELEMENT +baseURI: "%sxml_reader.xml" …11 } EODUMP ), array(2, <<<'EODUMP' XMLReader { +localName: "#text" +nodeType: SIGNIFICANT_WHITESPACE +depth: 1 +value: """ \n """ +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(3, <<<'EODUMP' XMLReader { +localName: "bar" +nodeType: ELEMENT +depth: 1 +baseURI: "%sxml_reader.xml" …10 } EODUMP ), array(4, <<<'EODUMP' XMLReader { +localName: "bar" +nodeType: END_ELEMENT +depth: 1 +baseURI: "%sxml_reader.xml" …10 } EODUMP ), array(6, <<<'EODUMP' XMLReader { +localName: "bar" +nodeType: ELEMENT +depth: 1 +isEmptyElement: true +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(9, <<<'EODUMP' XMLReader { +localName: "#text" +nodeType: TEXT +depth: 2 +value: "With text" +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(12, <<<'EODUMP' XMLReader { +localName: "bar" +nodeType: ELEMENT +depth: 1 +attributeCount: 2 +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(13, <<<'EODUMP' XMLReader { +localName: "bar" +nodeType: END_ELEMENT +depth: 1 +baseURI: "%sxml_reader.xml" …10 } EODUMP ), array(15, <<<'EODUMP' XMLReader { +localName: "bar" +nodeType: ELEMENT +depth: 1 +attributeCount: 1 +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(16, <<<'EODUMP' XMLReader { +localName: "#text" +nodeType: SIGNIFICANT_WHITESPACE +depth: 2 +value: """ \n """ +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(17, <<<'EODUMP' XMLReader { +localName: "baz" +prefix: "baz" +nodeType: ELEMENT +depth: 2 +namespaceURI: "http://symfony.com" +baseURI: "%sxml_reader.xml" …8 } EODUMP ), array(18, <<<'EODUMP' XMLReader { +localName: "baz" +prefix: "baz" +nodeType: END_ELEMENT +depth: 2 +namespaceURI: "http://symfony.com" +baseURI: "%sxml_reader.xml" …8 } EODUMP ), array(19, <<<'EODUMP' XMLReader { +localName: "#text" +nodeType: SIGNIFICANT_WHITESPACE +depth: 2 +value: """ \n """ +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(21, <<<'EODUMP' XMLReader { +localName: "#text" +nodeType: SIGNIFICANT_WHITESPACE +depth: 1 +value: "\n" +baseURI: "%sxml_reader.xml" …9 } EODUMP ), array(22, <<<'EODUMP' XMLReader { +localName: "foo" +nodeType: END_ELEMENT +baseURI: "%sxml_reader.xml" …11 } EODUMP ), ); } } __halt_compiler();----SIGNATURE:----iO7r3eDVBTOqi+1kamI8ofGg7BnmwW7JRD8IZtS4exza8sRECtKLMSi/sa2FmfsPc2lO67wBUxtkQHZHszJ+cv2ncBitpkmwEryxaY35FNNj+8l2xWiJS+9xWUQ7VNhIh3AClAMysa/9wEOBIDWgbx5NYTsnoUcB1Ay2See0sGZIwknslDOA9P5dpez48aWDn1/Go5I4QJP6S70xNXPS+TSKA2L3DpZCSNEQDOWXG5QhYiFOAQuvVKIPwlX48f4dL8LcI0Ah7iOW7ILxi+ceblx5tRvcYKMtpWHca3BBGdtEEyySf50LeFZP6CShB1c/MP0G5NETnH8E16OejwH0kC8VWPVyamxIGF9qYeZ/ENSI0YL1qShCVYuTg+l2R/i9Zv8ccN+Esid8YtmQaQnBvMS3SsmYYMhwPAvZRON0QH2MtjlSeTK2EiGpJYKFZcsRhqKakQSH6VQToolh3epgiVmsuSNPOuZrSs7uJks4lfLr9RNbgVlqDu4iHu9HgMZcklb35SWpRK/hWNDEISeFBvy3Q6hcTGwv7HB/CFrH9QhYcbbqEvk65P3irBMwb+Emxjj0/RJzQDYvGpZyjW//dlRBN2uAgR8capz7uxVgdFbdrRa2Bn4cMadyQb3NKeQ4A03btczssDxI4HX8f7KVqZvhMvXeQDKN0lzA+QtLhug=----ATTACHMENT:----MTI5OTE5MDI3NDk4OTkyNCA5OTE0NTY5NjE2MDcwNzM5IDE2NzAzMDE1NDA5MTAxODQ=