mirror of
https://github.com/justinrainbow/json-schema.git
synced 2025-05-31 19:09:12 +02:00
Merge pull request #278 from abacaphiliac/exception-interface
Exception interface
This commit is contained in:
commit
c269bdaa37
@ -55,6 +55,7 @@ interface ConstraintInterface
|
||||
* @param mixed $schema
|
||||
* @param mixed $path
|
||||
* @param mixed $i
|
||||
* @throws \JsonSchema\Exception\ExceptionInterface
|
||||
*/
|
||||
public function check($value, $schema = null, $path = null, $i = null);
|
||||
}
|
8
src/JsonSchema/Exception/ExceptionInterface.php
Normal file
8
src/JsonSchema/Exception/ExceptionInterface.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Exception;
|
||||
|
||||
interface ExceptionInterface
|
||||
{
|
||||
|
||||
}
|
@ -12,6 +12,6 @@ namespace JsonSchema\Exception;
|
||||
/**
|
||||
* Wrapper for the InvalidArgumentException
|
||||
*/
|
||||
class InvalidArgumentException extends \InvalidArgumentException
|
||||
class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
|
||||
{
|
||||
}
|
@ -12,6 +12,6 @@ namespace JsonSchema\Exception;
|
||||
/**
|
||||
* Wrapper for the InvalidSchemaMediaType
|
||||
*/
|
||||
class InvalidSchemaMediaTypeException extends \RuntimeException
|
||||
class InvalidSchemaMediaTypeException extends RuntimeException
|
||||
{
|
||||
}
|
@ -12,7 +12,7 @@ namespace JsonSchema\Exception;
|
||||
/**
|
||||
* Wrapper for the JsonDecodingException
|
||||
*/
|
||||
class JsonDecodingException extends \RuntimeException
|
||||
class JsonDecodingException extends RuntimeException
|
||||
{
|
||||
public function __construct($code = JSON_ERROR_NONE, \Exception $previous = null)
|
||||
{
|
||||
|
@ -12,6 +12,6 @@ namespace JsonSchema\Exception;
|
||||
/**
|
||||
* Wrapper for the ResourceNotFoundException
|
||||
*/
|
||||
class ResourceNotFoundException extends \RuntimeException
|
||||
class ResourceNotFoundException extends RuntimeException
|
||||
{
|
||||
}
|
17
src/JsonSchema/Exception/RuntimeException.php
Normal file
17
src/JsonSchema/Exception/RuntimeException.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the JsonSchema package.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace JsonSchema\Exception;
|
||||
|
||||
/**
|
||||
* Wrapper for the RuntimeException
|
||||
*/
|
||||
class RuntimeException extends \RuntimeException implements ExceptionInterface
|
||||
{
|
||||
}
|
@ -13,6 +13,6 @@ namespace JsonSchema\Exception;
|
||||
* @package JsonSchema\Exception
|
||||
* @author Joost Nijhuis <jnijhuis81@gmail.com>
|
||||
*/
|
||||
class UnresolvableJsonPointerException extends \InvalidArgumentException
|
||||
class UnresolvableJsonPointerException extends InvalidArgumentException
|
||||
{
|
||||
}
|
||||
|
@ -12,6 +12,6 @@ namespace JsonSchema\Exception;
|
||||
/**
|
||||
* Wrapper for the UriResolverException
|
||||
*/
|
||||
class UriResolverException extends \RuntimeException
|
||||
class UriResolverException extends RuntimeException
|
||||
{
|
||||
}
|
15
tests/Exception/InvalidArgumentExceptionTest.php
Normal file
15
tests/Exception/InvalidArgumentExceptionTest.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\InvalidArgumentException;
|
||||
|
||||
class InvalidArgumentExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new InvalidArgumentException();
|
||||
self::assertInstanceOf('\InvalidArgumentException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
16
tests/Exception/InvalidSchemaMediaTypeExceptionTest.php
Normal file
16
tests/Exception/InvalidSchemaMediaTypeExceptionTest.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\InvalidSchemaMediaTypeException;
|
||||
|
||||
class InvalidSchemaMediaTypeExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new InvalidSchemaMediaTypeException();
|
||||
self::assertInstanceOf('\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
16
tests/Exception/InvalidSourceUriExceptionTest.php
Normal file
16
tests/Exception/InvalidSourceUriExceptionTest.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\InvalidSourceUriException;
|
||||
|
||||
class InvalidSourceUriExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new InvalidSourceUriException();
|
||||
self::assertInstanceOf('\InvalidArgumentException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\InvalidArgumentException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
88
tests/Exception/JsonDecodingExceptionTest.php
Normal file
88
tests/Exception/JsonDecodingExceptionTest.php
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\JsonDecodingException;
|
||||
|
||||
class JsonDecodingExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new JsonDecodingException();
|
||||
self::assertInstanceOf('\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
|
||||
public function testDefaultMessage()
|
||||
{
|
||||
$exception = new JsonDecodingException();
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorNoneMessage()
|
||||
{
|
||||
$exception = new JsonDecodingException(JSON_ERROR_NONE);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorDepthMessage()
|
||||
{
|
||||
$exception = new JsonDecodingException(JSON_ERROR_DEPTH);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorStateMismatchMessage()
|
||||
{
|
||||
$exception = new JsonDecodingException(JSON_ERROR_STATE_MISMATCH);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorControlCharacterMessage()
|
||||
{
|
||||
$exception = new JsonDecodingException(JSON_ERROR_CTRL_CHAR);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorUtf8Message()
|
||||
{
|
||||
$exception = new JsonDecodingException(JSON_ERROR_UTF8);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorSyntaxMessage()
|
||||
{
|
||||
$exception = new JsonDecodingException(JSON_ERROR_SYNTAX);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorInfiniteOrNotANumberMessage()
|
||||
{
|
||||
if (!defined('JSON_ERROR_INF_OR_NAN')) {
|
||||
self::markTestSkipped('JSON_ERROR_INF_OR_NAN is not defined until php55.');
|
||||
}
|
||||
|
||||
$exception = new JsonDecodingException(JSON_ERROR_INF_OR_NAN);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorRecursionMessage()
|
||||
{
|
||||
if (!defined('JSON_ERROR_RECURSION')) {
|
||||
self::markTestSkipped('JSON_ERROR_RECURSION is not defined until php55.');
|
||||
}
|
||||
|
||||
$exception = new JsonDecodingException(JSON_ERROR_RECURSION);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
|
||||
public function testErrorUnsupportedTypeMessage()
|
||||
{
|
||||
if (!defined('JSON_ERROR_UNSUPPORTED_TYPE')) {
|
||||
self::markTestSkipped('JSON_ERROR_UNSUPPORTED_TYPE is not defined until php55.');
|
||||
}
|
||||
|
||||
$exception = new JsonDecodingException(JSON_ERROR_UNSUPPORTED_TYPE);
|
||||
self::assertNotEmpty($exception->getMessage());
|
||||
}
|
||||
}
|
16
tests/Exception/ResourceNotFoundExceptionTest.php
Normal file
16
tests/Exception/ResourceNotFoundExceptionTest.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\ResourceNotFoundException;
|
||||
|
||||
class ResourceNotFoundExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new ResourceNotFoundException();
|
||||
self::assertInstanceOf('\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
15
tests/Exception/RuntimeExceptionTest.php
Normal file
15
tests/Exception/RuntimeExceptionTest.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\RuntimeException;
|
||||
|
||||
class RuntimeExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new RuntimeException();
|
||||
self::assertInstanceOf('\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
16
tests/Exception/UnresolvableJsonPointerExceptionTest.php
Normal file
16
tests/Exception/UnresolvableJsonPointerExceptionTest.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\UnresolvableJsonPointerException;
|
||||
|
||||
class UnresolvableJsonPointerExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new UnresolvableJsonPointerException();
|
||||
self::assertInstanceOf('\InvalidArgumentException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\InvalidArgumentException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
16
tests/Exception/UriResolverExceptionTest.php
Normal file
16
tests/Exception/UriResolverExceptionTest.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace JsonSchema\Tests\Exception;
|
||||
|
||||
use JsonSchema\Exception\UriResolverException;
|
||||
|
||||
class UriResolverExceptionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testHierarchy()
|
||||
{
|
||||
$exception = new UriResolverException();
|
||||
self::assertInstanceOf('\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\RuntimeException', $exception);
|
||||
self::assertInstanceOf('\JsonSchema\Exception\ExceptionInterface', $exception);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user