function DesignTokenPluginManagerTest::providerFlattenDefinitions
Data provider for ::testFlattenDefinitions().
Return value
\Generator The test cases.
File
-
core/
tests/ Drupal/ Tests/ Core/ Theme/ DesignToken/ DesignTokenPluginManagerTest.php, line 286
Class
- DesignTokenPluginManagerTest
- Tests design token plugin manager.
Namespace
Drupal\Tests\Core\Theme\DesignTokenCode
public static function providerFlattenDefinitions() : iterable {
$valuePlugins = static::getValuePlugins();
yield 'Null value' => [
NULL,
[],
];
$token = new DesignToken(provider: 'test', name: 'root name', value: $valuePlugins['number'], description: new translatableMarkup('my description'), type: 'number');
yield 'One token' => [
$token,
[
'root_name' => $token,
],
];
yield 'One empty group' => [
new DesignTokenGroup(provider: 'test', name: 'root name', description: new translatableMarkup('my description'), type: 'number'),
[],
];
$group = new DesignTokenGroup(provider: 'test', name: 'root name', description: new translatableMarkup('my description'), type: 'number');
$token1 = new DesignToken(provider: 'test', name: 'my token 1', value: $valuePlugins['fontWeight'], parent: $group, description: new translatableMarkup('my description 1'), type: 'fontWeight');
$token2 = new DesignToken(provider: 'test', name: 'my token 2', value: $valuePlugins['fontFamily'], parent: $group, description: new translatableMarkup('my description 2'), type: 'fontFamily');
$group->setChildren([
'my token 1' => $token1,
'my token 2' => $token2,
]);
yield 'One group with 2 tokens' => [
$group,
[
'root_name.my_token_1' => $token1,
'root_name.my_token_2' => $token2,
],
];
$group1 = new DesignTokenGroup(provider: 'test', name: 'root name', description: new translatableMarkup('my description'), type: 'number');
$group2 = new DesignTokenGroup(provider: 'test', name: 'sub group', parent: $group1, description: new translatableMarkup('my description 2'), type: 'number');
$token1 = new DesignToken(provider: 'test', name: 'my token 1', value: $valuePlugins['fontWeight'], parent: $group1, description: new translatableMarkup('my description 1'), type: 'fontWeight');
$token2 = new DesignToken(provider: 'test', name: 'my token 2', value: $valuePlugins['fontFamily'], parent: $group2, description: new translatableMarkup('my description 2'), type: 'fontFamily');
$group1->setChildren([
'my token 1' => $token1,
'sub group' => $group2,
]);
$group2->setChildren([
'my token 2' => $token2,
]);
yield 'One group with one token and one group with one token' => [
$group1,
[
'root_name.my_token_1' => $token1,
'root_name.sub_group.my_token_2' => $token2,
],
];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.