Issue #3177922 by BR0kEN, dpi, catch, jonathanshaw: DelayedRequeueException should call parent, and optionally allow providing default args
parent
c5eada7408
commit
24a533ab5f
|
@ -29,9 +29,16 @@ class DelayedRequeueException extends \RuntimeException {
|
||||||
* Constructs a DelayedRequeueException.
|
* Constructs a DelayedRequeueException.
|
||||||
*
|
*
|
||||||
* @param int $delay
|
* @param int $delay
|
||||||
* The desired delay interval for this item.
|
* The desired delay interval for this item (in seconds).
|
||||||
|
* @param string $message
|
||||||
|
* The error message.
|
||||||
|
* @param int $code
|
||||||
|
* The error code.
|
||||||
|
* @param \Throwable|null $previous
|
||||||
|
* The previous throwable used for the exception chaining.
|
||||||
*/
|
*/
|
||||||
public function __construct(int $delay = 0) {
|
public function __construct(int $delay = 0, string $message = '', int $code = 0, \Throwable $previous = NULL) {
|
||||||
|
parent::__construct($message, $code, $previous);
|
||||||
if ($delay > 0) {
|
if ($delay > 0) {
|
||||||
$this->delay = $delay;
|
$this->delay = $delay;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Drupal\Tests\Core\Queue;
|
||||||
|
|
||||||
|
use Drupal\Core\Queue\DelayedRequeueException;
|
||||||
|
use Drupal\Tests\UnitTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests queue exceptions.
|
||||||
|
*
|
||||||
|
* @group Queue
|
||||||
|
*/
|
||||||
|
class QueueExceptionsTest extends UnitTestCase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests that the `DelayedRequeueException` calls parent constructor.
|
||||||
|
*/
|
||||||
|
public function testDelayedRequeueExceptionCallsParentConstructor(): void {
|
||||||
|
$without_previous = new DelayedRequeueException(50, 'Delay the processing.');
|
||||||
|
static::assertSame(50, $without_previous->getDelay());
|
||||||
|
static::assertSame('Delay the processing.', $without_previous->getMessage());
|
||||||
|
static::assertSame(0, $without_previous->getCode());
|
||||||
|
static::assertNull($without_previous->getPrevious());
|
||||||
|
|
||||||
|
$with_previous = new DelayedRequeueException(100, 'Increase the delay.', 200, $without_previous);
|
||||||
|
static::assertSame(100, $with_previous->getDelay());
|
||||||
|
static::assertSame('Increase the delay.', $with_previous->getMessage());
|
||||||
|
static::assertSame(200, $with_previous->getCode());
|
||||||
|
static::assertSame($without_previous, $with_previous->getPrevious());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue