249 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			249 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /*
 | |
|  * This file is part of the Symfony package.
 | |
|  *
 | |
|  * (c) Fabien Potencier <fabien@symfony.com>
 | |
|  *
 | |
|  * 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é <clavie.b@gmail.com>
 | |
|  */
 | |
| 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
 | |
|             ),
 | |
|         );
 | |
|     }
 | |
| }
 | 
