mirror of
https://github.com/cerbero90/json-parser.git
synced 2025-01-17 04:58:15 +01:00
Add dataset for single pointers
This commit is contained in:
parent
3e9da676ce
commit
da7b20e489
@ -41,4 +41,22 @@ class Dataset
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the dataset to test single pointers
|
||||
*
|
||||
* @return Generator
|
||||
*/
|
||||
public static function forSinglePointers(): Generator
|
||||
{
|
||||
$singlePointers = require __DIR__ . '/fixtures/pointers/single_pointer.php';
|
||||
|
||||
foreach ($singlePointers as $fixture => $pointers) {
|
||||
$json = file_get_contents(__DIR__ . "/fixtures/json/{$fixture}.json");
|
||||
|
||||
foreach ($pointers as $pointer => $value) {
|
||||
yield [$json, $pointer, $value];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
229
tests/fixtures/pointers/single_pointer.php
vendored
Normal file
229
tests/fixtures/pointers/single_pointer.php
vendored
Normal file
@ -0,0 +1,229 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'complex_array' => [
|
||||
'/-/id' => ['id' => ['0001', '0002', '0003']],
|
||||
'/-/batters' => [
|
||||
'batters' => [
|
||||
[
|
||||
'batter' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
[
|
||||
"id" => "1003",
|
||||
"type" => "Blueberry",
|
||||
],
|
||||
[
|
||||
"id" => "1004",
|
||||
"type" => "Devil's Food",
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'batter' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'batter' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'/-/batters/batter' => [
|
||||
'batter' => [
|
||||
[
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
[
|
||||
"id" => "1003",
|
||||
"type" => "Blueberry",
|
||||
],
|
||||
[
|
||||
"id" => "1004",
|
||||
"type" => "Devil's Food",
|
||||
],
|
||||
],
|
||||
[
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
],
|
||||
[
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'/-/batters/batter/-' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
[
|
||||
"id" => "1003",
|
||||
"type" => "Blueberry",
|
||||
],
|
||||
[
|
||||
"id" => "1004",
|
||||
"type" => "Devil's Food",
|
||||
],
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
],
|
||||
'/-/batters/batter/-/id' => ['id' => ["1001", "1002", "1003", "1004", "1001", "1001", "1002"]],
|
||||
],
|
||||
'complex_object' => [
|
||||
'/id' => ['id' => '0001'],
|
||||
'/batters' => [
|
||||
'batters' => [
|
||||
'batter' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
[
|
||||
"id" => "1003",
|
||||
"type" => "Blueberry",
|
||||
],
|
||||
[
|
||||
"id" => "1004",
|
||||
"type" => "Devil's Food",
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'/batters/batter' => [
|
||||
'batter' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
[
|
||||
"id" => "1003",
|
||||
"type" => "Blueberry",
|
||||
],
|
||||
[
|
||||
"id" => "1004",
|
||||
"type" => "Devil's Food",
|
||||
],
|
||||
],
|
||||
],
|
||||
'/batters/batter/-' => [
|
||||
[
|
||||
"id" => "1001",
|
||||
"type" => "Regular",
|
||||
],
|
||||
[
|
||||
"id" => "1002",
|
||||
"type" => "Chocolate",
|
||||
],
|
||||
[
|
||||
"id" => "1003",
|
||||
"type" => "Blueberry",
|
||||
],
|
||||
[
|
||||
"id" => "1004",
|
||||
"type" => "Devil's Food",
|
||||
],
|
||||
],
|
||||
'/batters/batter/-/id' => ['id' => ["1001", "1002", "1003", "1004"]],
|
||||
],
|
||||
'empty_array' => [
|
||||
'/-' => [],
|
||||
'/-1' => [],
|
||||
'/0' => [],
|
||||
'/foo' => [],
|
||||
],
|
||||
'empty_object' => [
|
||||
'/-' => [],
|
||||
'/-1' => [],
|
||||
'/0' => [],
|
||||
'/foo' => [],
|
||||
],
|
||||
'simple_array' => [
|
||||
'/-' => [1, '', 'foo', '"bar"', 'hej då', 3.14, false, null, [], []],
|
||||
'/-1' => [],
|
||||
'/0' => [1],
|
||||
'/1' => [''],
|
||||
'/2' => ['foo'],
|
||||
'/3' => ['"bar"'],
|
||||
'/4' => ['hej då'],
|
||||
'/5' => [3.14],
|
||||
'/6' => [false],
|
||||
'/7' => [null],
|
||||
'/8' => [[]],
|
||||
'/9' => [[]],
|
||||
'/10' => [],
|
||||
'/foo' => [],
|
||||
],
|
||||
'simple_object' => [
|
||||
'/-' => [],
|
||||
'/-1' => [],
|
||||
'/int' => ['int' => 1],
|
||||
'/empty_string' => ['empty_string' => ''],
|
||||
'/string' => ['string' => 'foo'],
|
||||
'/escaped_string' => ['escaped_string' => '"bar"'],
|
||||
'/\"escaped_key\"' => ['"escaped_key"' => 'baz'],
|
||||
'/unicode' => ['unicode' => "hej då"],
|
||||
'/float' => ['float' => 3.14],
|
||||
'/bool' => ['bool' => false],
|
||||
'/null' => ['null' => null],
|
||||
'/empty_array' => ['empty_array' => []],
|
||||
'/empty_object' => ['empty_object' => []],
|
||||
'/10' => [],
|
||||
'/foo' => [],
|
||||
],
|
||||
];
|
Loading…
x
Reference in New Issue
Block a user