forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
76 lines
1.6 KiB
PHP
76 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Drupal\KernelTests;
|
|
|
|
/**
|
|
* @coversDefaultClass \Drupal\KernelTests\KernelTestBase
|
|
*
|
|
* @group PHPUnit
|
|
* @group Test
|
|
* @group KernelTests
|
|
*/
|
|
class KernelTestBaseShutdownTest extends KernelTestBase {
|
|
|
|
/**
|
|
* Indicates which shutdown functions are expected to be called.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $expectedShutdownCalled;
|
|
|
|
/**
|
|
* Indicates which shutdown functions have been called.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected static $shutdownCalled;
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
protected function setUp(): void {
|
|
// Initialize static variable prior to testing.
|
|
self::$shutdownCalled = [];
|
|
parent::setUp();
|
|
}
|
|
|
|
/**
|
|
* @covers ::assertPostConditions
|
|
*/
|
|
public function testShutdownFunction() {
|
|
$this->expectedShutdownCalled = ['shutdownFunction', 'shutdownFunction2'];
|
|
drupal_register_shutdown_function([$this, 'shutdownFunction']);
|
|
}
|
|
|
|
/**
|
|
* @covers ::assertPostConditions
|
|
*/
|
|
public function testNoShutdownFunction() {
|
|
$this->expectedShutdownCalled = [];
|
|
}
|
|
|
|
/**
|
|
* Registers that this shutdown function has been called.
|
|
*/
|
|
public function shutdownFunction() {
|
|
self::$shutdownCalled[] = 'shutdownFunction';
|
|
drupal_register_shutdown_function([$this, 'shutdownFunction2']);
|
|
}
|
|
|
|
/**
|
|
* Registers that this shutdown function has been called.
|
|
*/
|
|
public function shutdownFunction2() {
|
|
self::$shutdownCalled[] = 'shutdownFunction2';
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
protected function assertPostConditions(): void {
|
|
parent::assertPostConditions();
|
|
$this->assertSame($this->expectedShutdownCalled, self::$shutdownCalled);
|
|
}
|
|
|
|
}
|