/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php
https://bitbucket.org/alan_cordova/api-sb-map · PHP · 75 lines · 34 code · 7 blank · 34 comment · 3 complexity · f6b0e10a1b4632b4a5f9d945354b4685 MD5 · raw file
- <?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.
- */
- /**
- * Constraint that asserts that a string is valid JSON.
- */
- class PHPUnit_Framework_Constraint_IsJson extends PHPUnit_Framework_Constraint
- {
- /**
- * Evaluates the constraint for parameter $other. Returns true if the
- * constraint is met, false otherwise.
- *
- * @param mixed $other Value or object to evaluate.
- *
- * @return bool
- */
- protected function matches($other)
- {
- if ($other === '') {
- return false;
- }
- json_decode($other);
- if (json_last_error()) {
- return false;
- }
- return true;
- }
- /**
- * Returns the description of the failure
- *
- * The beginning of failure messages is "Failed asserting that" in most
- * cases. This method should return the second part of that sentence.
- *
- * @param mixed $other Evaluated value or object.
- *
- * @return string
- */
- protected function failureDescription($other)
- {
- if ($other === '') {
- return 'an empty string is valid JSON';
- }
- json_decode($other);
- $error = PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError(
- json_last_error()
- );
- return sprintf(
- '%s is valid JSON (%s)',
- $this->exporter->shortenedExport($other),
- $error
- );
- }
- /**
- * Returns a string representation of the constraint.
- *
- * @return string
- */
- public function toString()
- {
- return 'is valid JSON';
- }
- }