b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / phpunit / phpunit / src / Framework / Constraint /
Filename/home/dev2.destoffenstraat.com/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php
Size2.86 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified01-Feb-2019 06:22
Last accessed23-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\Constraint;

use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Util\Json;
use SebastianBergmann\Comparator\ComparisonFailure;

/**
* Asserts whether or not two JSON objects are equal.
*/
class JsonMatches extends Constraint
{
/**
* @var string
*/
protected $value;

/**
* Creates a new constraint.
*
* @param string $value
*/
public function __construct($value)
{
parent::__construct();
$this->value = $value;
}

/**
* Evaluates the constraint for parameter $other. Returns true if the
* constraint is met, false otherwise.
*
* This method can be overridden to implement the evaluation algorithm.
*
* @param mixed $other Value or object to evaluate.
*
* @return bool
*/
protected function matches($other)
{
list($error, $recodedOther) = Json::canonicalize($other);
if ($error) {
return false;
}

list($error, $recodedValue) = Json::canonicalize($this->value);
if ($error) {
return false;
}

return $recodedOther == $recodedValue;
}

/**
* Throws an exception for the given compared value and test description
*
* @param mixed $other Evaluated value or object.
* @param string $description Additional information about the test
* @param ComparisonFailure $comparisonFailure
*
* @throws ExpectationFailedException
*/
protected function fail($other, $description, ComparisonFailure $comparisonFailure = null)
{
if ($comparisonFailure === null) {
list($error) = Json::canonicalize($other);
if ($error) {
parent::fail($other, $description);

return;
}

list($error) = Json::canonicalize($this->value);
if ($error) {
parent::fail($other, $description);

return;
}

$comparisonFailure = new ComparisonFailure(
\json_decode($this->value),
\json_decode($other),
Json::prettify($this->value),
Json::prettify($other),
false,
'Failed asserting that two json values are equal.'
);
}

parent::fail($other, $description, $comparisonFailure);
}

/**
* Returns a string representation of the object.
*
* @return string
*/
public function toString()
{
return \sprintf(
'matches JSON string "%s"',
$this->value
);
}
}