class AssertableJsonString implements ArrayAccess, Countable

Properties

Jsonable|JsonSerializable|array|string $json

The original encoded json.

protected array|null $decoded

The decoded json contents.

Methods

__construct(Jsonable|JsonSerializable|array|string $jsonable)

Create a new assertable JSON string instance.

mixed
json(string|null $key = null)

Validate and return the decoded response JSON.

assertCount(int $count, string|null $key = null)

Assert that the response JSON has the expected count of items at the given key.

assertExact(array $data)

Assert that the response has the exact given JSON.

assertSimilar(array $data)

Assert that the response has the similar JSON as given.

assertFragment(array $data)

Assert that the response contains the given JSON fragment.

assertMissing(array $data, bool $exact = false)

Assert that the response does not contain the given JSON fragment.

assertMissingExact(array $data)

Assert that the response does not contain the exact JSON fragment.

assertMissingPath(string $path)

Assert that the response does not contain the given path.

assertPath(string $path, mixed $expect)

Assert that the expected value and type exists at the given path in the response.

assertPathCanonicalizing(string $path, array $expect)

Assert that the given path in the response contains all of the expected values without looking at the order.

assertStructure(array|null $structure = null, array|null $responseData = null, bool $exact = false)

Assert that the response has a given JSON structure.

assertSubset(array $data, bool $strict = false)

Assert that the response is a superset of the given JSON.

array
reorderAssocKeys(array $data)

Reorder associative array keys to make it easy to compare arrays.

string
assertJsonMessage(array $data)

Get the assertion message for assertJson.

array
jsonSearchStrings(string|int $key, mixed $value)

Get the strings we need to search for when examining the JSON.

int
count()

Get the total number of items in the underlying JSON array.

bool
offsetExists(mixed $offset)

Determine whether an offset exists.

mixed
offsetGet(mixed $offset)

Get the value at the given offset.

void
offsetSet(mixed $offset, mixed $value)

Set the value at the given offset.

void
offsetUnset(mixed $offset)

Unset the value at the given offset.

Details

at line 35
__construct(Jsonable|JsonSerializable|array|string $jsonable)

Create a new assertable JSON string instance.

Parameters

Jsonable|JsonSerializable|array|string $jsonable

at line 53
mixed json(string|null $key = null)

Validate and return the decoded response JSON.

Parameters

string|null $key

Return Value

mixed

at line 61
AssertableJsonString assertCount(int $count, string|null $key = null)

Assert that the response JSON has the expected count of items at the given key.

Parameters

int $count
string|null $key

Return Value

AssertableJsonString

at line 85
AssertableJsonString assertExact(array $data)

Assert that the response has the exact given JSON.

Parameters

array $data

Return Value

AssertableJsonString

at line 102
AssertableJsonString assertSimilar(array $data)

Assert that the response has the similar JSON as given.

Parameters

array $data

Return Value

AssertableJsonString

at line 117
AssertableJsonString assertFragment(array $data)

Assert that the response contains the given JSON fragment.

Parameters

array $data

Return Value

AssertableJsonString

at line 142
AssertableJsonString assertMissing(array $data, bool $exact = false)

Assert that the response does not contain the given JSON fragment.

Parameters

array $data
bool $exact

Return Value

AssertableJsonString

at line 171
AssertableJsonString assertMissingExact(array $data)

Assert that the response does not contain the exact JSON fragment.

Parameters

array $data

Return Value

AssertableJsonString

at line 197
AssertableJsonString assertMissingPath(string $path)

Assert that the response does not contain the given path.

Parameters

string $path

Return Value

AssertableJsonString

at line 207
AssertableJsonString assertPath(string $path, mixed $expect)

Assert that the expected value and type exists at the given path in the response.

Parameters

string $path
mixed $expect

Return Value

AssertableJsonString

at line 221
AssertableJsonString assertPathCanonicalizing(string $path, array $expect)

Assert that the given path in the response contains all of the expected values without looking at the order.

Parameters

string $path
array $expect

Return Value

AssertableJsonString

at line 231
AssertableJsonString assertStructure(array|null $structure = null, array|null $responseData = null, bool $exact = false)

Assert that the response has a given JSON structure.

Parameters

array|null $structure
array|null $responseData
bool $exact

Return Value

AssertableJsonString

at line 273
AssertableJsonString assertSubset(array $data, bool $strict = false)

Assert that the response is a superset of the given JSON.

Parameters

array $data
bool $strict

Return Value

AssertableJsonString

at line 288
protected array reorderAssocKeys(array $data)

Reorder associative array keys to make it easy to compare arrays.

Parameters

array $data

Return Value

array

at line 305
protected string assertJsonMessage(array $data)

Get the assertion message for assertJson.

Parameters

array $data

Return Value

string

at line 320
protected array jsonSearchStrings(string|int $key, mixed $value)

Get the strings we need to search for when examining the JSON.

Parameters

string|int $key
mixed $value

Return Value

array

at line 334
int count()

Get the total number of items in the underlying JSON array.

Return Value

int

at line 342
bool offsetExists(mixed $offset)

Determine whether an offset exists.

Parameters

mixed $offset

Return Value

bool

at line 350
mixed offsetGet(mixed $offset)

Get the value at the given offset.

Parameters

mixed $offset

Return Value

mixed

at line 358
void offsetSet(mixed $offset, mixed $value)

Set the value at the given offset.

Parameters

mixed $offset
mixed $value

Return Value

void

at line 366
void offsetUnset(mixed $offset)

Unset the value at the given offset.

Parameters

mixed $offset

Return Value

void