WP File Manager
Current Path:
/
home
/
itutorethiopia
/
public_html
/
vendor
/
mtdowling
/
jmespath.php
/
tests
/
Name
Action
..
ComplianceTest.php
Edit
EnvTest.php
Edit
FnDispatcherTest.php
Edit
LexerTest.php
Edit
ParserTest.php
Edit
SyntaxErrorExceptionTest.php
Edit
TreeCompilerTest.php
Edit
TreeInterpreterTest.php
Edit
UtilsTest.php
Edit
compliance
Editing: TreeInterpreterTest.php
<?php namespace JmesPath\Tests\Tree; use JmesPath\AstRuntime; use JmesPath\TreeInterpreter; /** * @covers JmesPath\Tree\TreeInterpreter */ class TreeInterpreterTest extends \PHPUnit_Framework_TestCase { public function testReturnsNullWhenMergingNonArray() { $t = new TreeInterpreter(); $this->assertNull($t->visit(array( 'type' => 'flatten', 'children' => array( array('type' => 'literal', 'value' => 1), array('type' => 'literal', 'value' => 1) ) ), array(), array( 'runtime' => new AstRuntime() ))); } public function testWorksWithArrayObjectAsObject() { $runtime = new AstRuntime(); $this->assertEquals('baz', $runtime('foo.bar', new \ArrayObject([ 'foo' => new \ArrayObject(['bar' => 'baz']) ]))); } public function testWorksWithArrayObjectAsArray() { $runtime = new AstRuntime(); $this->assertEquals('baz', $runtime('foo[0].bar', new \ArrayObject([ 'foo' => new \ArrayObject([new \ArrayObject(['bar' => 'baz'])]) ]))); } public function testWorksWithArrayProjections() { $runtime = new AstRuntime(); $this->assertEquals( ['baz'], $runtime('foo[*].bar', new \ArrayObject([ 'foo' => new \ArrayObject([ new \ArrayObject([ 'bar' => 'baz' ]) ]) ])) ); } public function testWorksWithObjectProjections() { $runtime = new AstRuntime(); $this->assertEquals( ['baz'], $runtime('foo.*.bar', new \ArrayObject([ 'foo' => new \ArrayObject([ 'abc' => new \ArrayObject([ 'bar' => 'baz' ]) ]) ])) ); } }