25 lines
		
	
	
		
			664 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			664 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								namespace JmesPath\Tests\Tree;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use JmesPath\TreeCompiler;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\TestCase;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @covers JmesPath\Tree\TreeCompiler
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class TreeCompilerTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testCreatesSourceCode()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $t = new TreeCompiler();
							 | 
						||
| 
								 | 
							
								        $source = $t->visit(
							 | 
						||
| 
								 | 
							
								            ['type' => 'field', 'value' => 'foo'],
							 | 
						||
| 
								 | 
							
								            'testing',
							 | 
						||
| 
								 | 
							
								            'foo'
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								        $this->assertContains('<?php', $source);
							 | 
						||
| 
								 | 
							
								        $this->assertContains('$value = isset($value->{\'foo\'}) ? $value->{\'foo\'} : null;', $source);
							 | 
						||
| 
								 | 
							
								        $this->assertContains('$value = isset($value[\'foo\']) ? $value[\'foo\'] : null;', $source);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |