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.
|
||||
*
|
||||
* @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) {
|
||||
$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