mirror of
https://github.com/halaxa/json-machine.git
synced 2025-01-17 21:18:23 +01:00
Update tests for subtrees using wildcards
This commit is contained in:
parent
b4086dfe72
commit
6aa32b3501
@ -281,14 +281,64 @@ class ParserTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$parser = $this->createParser($json, '/zero/-/two/-/three');
|
$parser = $this->createParser($json, '/zero/-/two/-/three');
|
||||||
|
|
||||||
$i = 0;
|
$actual = [];
|
||||||
$expectedKey = 'three';
|
$expected = ['three' => [1, 2, 3]];
|
||||||
$expectedValues = [1, 2, 3];
|
|
||||||
|
|
||||||
foreach ($parser as $key => $value) {
|
foreach ($parser as $key => $value) {
|
||||||
$this->assertSame($expectedKey, $key);
|
$actual[$key][] = $value;
|
||||||
$this->assertSame($expectedValues[$i++], $value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->assertSame($expected, $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGeneratorYieldsNestedValuesOfMultiplePaths()
|
||||||
|
{
|
||||||
|
$json = '
|
||||||
|
{
|
||||||
|
"zero": [
|
||||||
|
{
|
||||||
|
"one": "hello",
|
||||||
|
"two": [
|
||||||
|
{
|
||||||
|
"three": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"four": [
|
||||||
|
{
|
||||||
|
"five": "ignored"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"one": "bye",
|
||||||
|
"two": [
|
||||||
|
{
|
||||||
|
"three": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"three": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"four": [
|
||||||
|
{
|
||||||
|
"five": "ignored"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
';
|
||||||
|
|
||||||
|
$parser = $this->createParser($json, ['/zero/-/one', '/zero/-/two/-/three']);
|
||||||
|
|
||||||
|
$actual = [];
|
||||||
|
$expected = ['one' => ['hello', 'bye'], 'three' => [1, 2, 3]];
|
||||||
|
|
||||||
|
foreach ($parser as $key => $value) {
|
||||||
|
$actual[$key][] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertSame($expected, $actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createParser($json, $jsonPointer = '')
|
private function createParser($json, $jsonPointer = '')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user