73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace PhpParser;
 | |
| 
 | |
| class NodeDumperTest extends \PHPUnit_Framework_TestCase
 | |
| {
 | |
|     private function canonicalize($string) {
 | |
|         return str_replace("\r\n", "\n", $string);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @dataProvider provideTestDump
 | |
|      * @covers PhpParser\NodeDumper::dump
 | |
|      */
 | |
|     public function testDump($node, $dump) {
 | |
|         $dumper = new NodeDumper;
 | |
| 
 | |
|         $this->assertSame($this->canonicalize($dump), $this->canonicalize($dumper->dump($node)));
 | |
|     }
 | |
| 
 | |
|     public function provideTestDump() {
 | |
|         return array(
 | |
|             array(
 | |
|                 array(),
 | |
| 'array(
 | |
| )'
 | |
|             ),
 | |
|             array(
 | |
|                 array('Foo', 'Bar', 'Key' => 'FooBar'),
 | |
| 'array(
 | |
|     0: Foo
 | |
|     1: Bar
 | |
|     Key: FooBar
 | |
| )'
 | |
|             ),
 | |
|             array(
 | |
|                 new Node\Name(array('Hallo', 'World')),
 | |
| 'Name(
 | |
|     parts: array(
 | |
|         0: Hallo
 | |
|         1: World
 | |
|     )
 | |
| )'
 | |
|             ),
 | |
|             array(
 | |
|                 new Node\Expr\Array_(array(
 | |
|                     new Node\Expr\ArrayItem(new Node\Scalar\String_('Foo'))
 | |
|                 )),
 | |
| 'Expr_Array(
 | |
|     items: array(
 | |
|         0: Expr_ArrayItem(
 | |
|             key: null
 | |
|             value: Scalar_String(
 | |
|                 value: Foo
 | |
|             )
 | |
|             byRef: false
 | |
|         )
 | |
|     )
 | |
| )'
 | |
|             ),
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @expectedException        \InvalidArgumentException
 | |
|      * @expectedExceptionMessage Can only dump nodes and arrays.
 | |
|      */
 | |
|     public function testError() {
 | |
|         $dumper = new NodeDumper;
 | |
|         $dumper->dump(new \stdClass);
 | |
|     }
 | |
| }
 | 
