function DesignTokenPluginManagerTest::providerParseDtcg
Data provider for ::testParseDtcg().
Return value
\Generator The test cases.
File
-
core/
tests/ Drupal/ Tests/ Core/ Theme/ DesignToken/ DesignTokenPluginManagerTest.php, line 104
Class
- DesignTokenPluginManagerTest
- Tests design token plugin manager.
Namespace
Drupal\Tests\Core\Theme\DesignTokenCode
public static function providerParseDtcg() : iterable {
$valuePlugins = static::getValuePlugins();
yield 'One token' => [
[
'$type' => 'number',
'$value' => 5,
'$description' => 'my description',
],
new DesignToken(provider: 'test', name: 'root name', value: $valuePlugins['number'], description: new TranslatableMarkup('my description'), type: 'number'),
];
yield 'One group' => [
[
'$type' => 'number',
'$description' => 'my description',
],
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' => [
[
'$type' => 'number',
'$description' => 'my description',
'my token 1' => [
'$type' => 'fontWeight',
'$value' => 600,
'$description' => 'my description 1',
],
'my token 2' => [
'$type' => 'fontFamily',
'$value' => 'Arial',
'$description' => 'my description 2',
],
],
$group,
];
yield 'Invalid token' => [
[
'$type' => 'foo',
'$value' => 5,
'$description' => 'invalid token',
],
NULL,
];
yield 'One group with 2 tokens and one invalid' => [
[
'$type' => 'number',
'$description' => 'my description',
'my token 1' => [
'$type' => 'fontWeight',
'$value' => 600,
'$description' => 'my description 1',
],
'my token 2' => [
'$type' => 'fontFamily',
'$value' => 'Arial',
'$description' => 'my description 2',
],
'my token 3' => [
'$type' => 'foo',
'$value' => 5,
'$description' => 'invalid token',
],
],
$group,
];
$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' => [
[
'$type' => 'number',
'$description' => 'my description',
'my token 1' => [
'$type' => 'fontWeight',
'$value' => 600,
'$description' => 'my description 1',
],
'sub group' => [
'$description' => 'my description 2',
'my token 2' => [
'$type' => 'fontFamily',
'$value' => 'Arial',
'$description' => 'my description 2',
],
],
],
$group1,
];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.