View source
<?php
namespace Drupal\double_field\Kernel;
use Drupal\KernelTests\KernelTestBase;
final class TemplateSuggestionsTest extends KernelTestBase {
protected static $modules = [
'system',
'double_field',
];
public function testTemplateHookSuggestions() : void {
$variables = [
'elements' => [
'#field_name' => 'field_example',
],
];
$module_handler = $this->container
->get('module_handler');
$suggestions = $module_handler
->invokeAll('theme_suggestions_double_field_item', [
$variables,
]);
self::assertSame([
'double_field_item__field_example',
], $suggestions);
$suggestions = $module_handler
->invokeAll('theme_suggestions_double_field_subfield', [
$variables,
]);
self::assertSame([
'double_field_subfield__field_example',
], $suggestions);
$suggestions = $module_handler
->invokeAll('theme_suggestions_double_field_definition_list', [
$variables,
]);
self::assertSame([
'double_field_definition_list__field_example',
], $suggestions);
$suggestions = [];
$data['context'] = [];
$module_handler
->alter('theme_suggestions_item_list', $suggestions, $data);
self::assertSame([], $suggestions);
$suggestions = [];
$data['context']['double_field']['field_name'] = 'field_example';
$module_handler
->alter('theme_suggestions_item_list', $suggestions, $data);
self::assertSame([
'item_list__double_field__field_example',
], $suggestions);
$suggestions = [];
$data['attributes'] = [];
$module_handler
->alter('theme_suggestions_table', $suggestions, $data);
self::assertSame([], $suggestions);
$suggestions = [];
$data['attributes']['double-field--field-name'] = 'field_example';
$module_handler
->alter('theme_suggestions_table', $suggestions, $data);
self::assertSame([
'table__double_field__field_example',
], $suggestions);
}
}