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