/** * Constructor * * @param string $name * @param array $types * @param mixed $value */ public function __construct(string $name, array $types, $value) { $this->argumentName = $name; $this->argumentTypes = $types; $this->argumentValue = $value; parent::__construct('The parameter ' . $this->argumentName . ' was called with the value ' . serialize($value) . ', which is not valid [' . implode(',', $this->argumentTypes) . '].', 4); }
/** * Constructor * * @param int $version */ public function __construct(int $expectedVersion) { $this->expectedVersion = $expectedVersion; $this->setStatusCode(404); parent::__construct('The requested API version ' . (int) $expectedVersion . ' is not available.', 6); }
/** * Test Status Message * * @covers ::getStatusMessage * @depends testStatusCode */ public function testStatusMessage() { $exception = new Exception(); $exception->setStatusCode(0); $this->assertNull($exception->getStatusMessage()); $exception->setStatusCode(400); $this->assertSame($exception->getStatusMessage(), 'Bad Request'); $exception->setStatusCode(401); $this->assertSame($exception->getStatusMessage(), 'Unauthorized'); $exception->setStatusCode(402); $this->assertSame($exception->getStatusMessage(), 'Payment Required'); $exception->setStatusCode(403); $this->assertSame($exception->getStatusMessage(), 'Forbidden'); $exception->setStatusCode(404); $this->assertSame($exception->getStatusMessage(), 'Not Found'); $exception->setStatusCode(405); $this->assertSame($exception->getStatusMessage(), 'Method Not Allowed'); $exception->setStatusCode(406); $this->assertSame($exception->getStatusMessage(), 'Not Acceptable'); $exception->setStatusCode(408); $this->assertSame($exception->getStatusMessage(), 'Request Timeout'); $exception->setStatusCode(409); $this->assertSame($exception->getStatusMessage(), 'Conflict'); $exception->setStatusCode(410); $this->assertSame($exception->getStatusMessage(), 'Gone'); $exception->setStatusCode(411); $this->assertSame($exception->getStatusMessage(), 'Length Required'); $exception->setStatusCode(412); $this->assertSame($exception->getStatusMessage(), 'Precondition Failed'); $exception->setStatusCode(413); $this->assertSame($exception->getStatusMessage(), 'Payload Too Large'); $exception->setStatusCode(415); $this->assertSame($exception->getStatusMessage(), 'Unsupported Media Type'); $exception->setStatusCode(423); $this->assertSame($exception->getStatusMessage(), 'Locked'); $exception->setStatusCode(428); $this->assertSame($exception->getStatusMessage(), 'Precondition Required'); $exception->setStatusCode(429); $this->assertSame($exception->getStatusMessage(), 'Too Many Requests'); $exception->setStatusCode(451); $this->assertSame($exception->getStatusMessage(), 'Unavailable For Legal Reasons'); $exception->setStatusCode(500); $this->assertSame($exception->getStatusMessage(), 'Internal Server Error'); $exception->setStatusCode(501); $this->assertSame($exception->getStatusMessage(), 'Not Implemented'); $exception->setStatusCode(502); $this->assertSame($exception->getStatusMessage(), 'Bad Gateway'); $exception->setStatusCode(503); $this->assertSame($exception->getStatusMessage(), 'Service Unavailable'); $exception->setStatusCode(504); $this->assertSame($exception->getStatusMessage(), 'Gateway Timeout'); $exception->setStatusCode(507); $this->assertSame($exception->getStatusMessage(), 'Insufficient Storage'); $exception->setStatusCode(508); $this->assertSame($exception->getStatusMessage(), 'Loop Detected'); $exception->setStatusCode(510); $this->assertSame($exception->getStatusMessage(), 'Not Extended'); }