class AssertableJsonString implements ArrayAccess, Countable (View source)

Properties

Jsonable|JsonSerializable|array|string $json

The original encoded json.

protected array|null $decoded

The decoded json contents.

Methods

void
__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.

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

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

$this
assertExact(array $data)

Assert that the response has the exact given JSON.

$this
assertSimilar(array $data)

Assert that the response has the similar JSON as given.

$this
assertFragment(array $data)

Assert that the response contains the given JSON fragment.

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

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

$this
assertMissingExact(array $data)

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

$this
assertMissingPath(string $path)

Assert that the response does not contain the given path.

$this
assertPath(string $path, mixed $expect)

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

$this
assertPathCanonicalizing(string $path, array $expect)

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

$this
assertStructure(array|null $structure = null, array|null $responseData = null)

Assert that the response has a given JSON structure.

$this
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 $key, string $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(string $offset)

Get the value at the given offset.

void
offsetSet(string $offset, mixed $value)

Set the value at the given offset.

void
offsetUnset(string $offset)

Unset the value at the given offset.

Details

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

Create a new assertable JSON string instance.

Parameters

Jsonable|JsonSerializable|array|string $jsonable

Return Value

void

mixed json(string|null $key = null)

Validate and return the decoded response JSON.

Parameters

string|null $key

Return Value

mixed

$this 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

$this

$this assertExact(array $data)

Assert that the response has the exact given JSON.

Parameters

array $data

Return Value

$this

$this assertSimilar(array $data)

Assert that the response has the similar JSON as given.

Parameters

array $data

Return Value

$this

$this assertFragment(array $data)

Assert that the response contains the given JSON fragment.

Parameters

array $data

Return Value

$this

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

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

Parameters

array $data
bool $exact

Return Value

$this

$this assertMissingExact(array $data)

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

Parameters

array $data

Return Value

$this

$this assertMissingPath(string $path)

Assert that the response does not contain the given path.

Parameters

string $path

Return Value

$this

$this 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

$this

$this 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

$this

$this assertStructure(array|null $structure = null, array|null $responseData = null)

Assert that the response has a given JSON structure.

Parameters

array|null $structure
array|null $responseData

Return Value

$this

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

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

Parameters

array $data
bool $strict

Return Value

$this

protected array reorderAssocKeys(array $data)

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

Parameters

array $data

Return Value

array

protected string assertJsonMessage(array $data)

Get the assertion message for assertJson.

Parameters

array $data

Return Value

string

protected array jsonSearchStrings(string $key, string $value)

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

Parameters

string $key
string $value

Return Value

array

int count()

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

Return Value

int

bool offsetExists(mixed $offset)

Determine whether an offset exists.

Parameters

mixed $offset

Return Value

bool

mixed offsetGet(string $offset)

Get the value at the given offset.

Parameters

string $offset

Return Value

mixed

void offsetSet(string $offset, mixed $value)

Set the value at the given offset.

Parameters

string $offset
mixed $value

Return Value

void

void offsetUnset(string $offset)

Unset the value at the given offset.

Parameters

string $offset

Return Value

void