function StatusReportTest::testPreRenderGroupRequirements
Tests the status report element.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Render/ Element/ StatusReportTest.php, line 24
Class
- StatusReportTest
- Tests the status report element.
Namespace
Drupal\KernelTests\Core\Render\ElementCode
public function testPreRenderGroupRequirements() : void {
$element = [
'#priorities' => [
'error',
'warning',
'checked',
'ok',
],
'#requirements' => [
'foo' => [
'title' => 'Foo',
'severity' => RequirementSeverity::Info,
],
'baz' => [
'title' => 'Baz',
'severity' => RequirementSeverity::Warning,
],
'wiz' => [
'title' => 'Wiz',
'severity' => RequirementSeverity::Error,
],
'bar' => [
'title' => 'Bar',
'severity' => RequirementSeverity::OK,
],
'legacy' => [
'title' => 'Legacy',
'severity' => \REQUIREMENT_OK,
],
],
];
$this->expectDeprecation('Calling Drupal\\Core\\Render\\Element\\StatusReport::preRenderGroupRequirements() with an array of $requirements with \'severity\' with values not of type Drupal\\Core\\Extension\\Requirement\\RequirementSeverity enums is deprecated in drupal:11.2.0 and is required in drupal:12.0.0. See https://www.drupal.org/node/3410939');
$element = StatusReport::preRenderGroupRequirements($element);
$groups = $element['#grouped_requirements'];
$errors = $groups['error'];
$this->assertEquals('Errors found', (string) $errors['title']);
$this->assertEquals('error', $errors['type']);
$errorItems = $errors['items'];
$this->assertCount(1, $errorItems);
$this->assertArrayHasKey('wiz', $errorItems);
$warnings = $groups['warning'];
$this->assertEquals('Warnings found', (string) $warnings['title']);
$this->assertEquals('warning', $warnings['type']);
$warningItems = $warnings['items'];
$this->assertCount(1, $warningItems);
$this->assertArrayHasKey('baz', $warningItems);
$checked = $groups['checked'];
$this->assertEquals('Checked', (string) $checked['title']);
$this->assertEquals('checked', $checked['type']);
$checkedItems = $checked['items'];
$this->assertCount(3, $checkedItems);
$this->assertArrayHasKey('foo', $checkedItems);
$this->assertArrayHasKey('bar', $checkedItems);
$this->assertArrayHasKey('legacy', $checkedItems);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.