IconTestTrait.php

Namespace

Drupal\Tests\Core\Theme\Icon

File

core/tests/Drupal/Tests/Core/Theme/Icon/IconTestTrait.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\Core\Theme\Icon;

use Drupal\Core\Theme\Icon\IconDefinition;
use Drupal\Core\Theme\Icon\IconDefinitionInterface;

/**
 * Provides methods to generate icons for tests.
 */
trait IconTestTrait {
  
  /**
   * Create an icon.
   *
   * @param array $data
   *   The icon data to create.
   *
   * @return \Drupal\Core\Theme\Icon\IconDefinitionInterface
   *   The icon mocked.
   */
  protected function createTestIcon(array $data = []) : IconDefinitionInterface {
    $filtered_data = $data;
    $keys = [
      'pack_id',
      'icon_id',
      'template',
      'source',
      'group',
    ];
    foreach ($keys as $key) {
      unset($filtered_data[$key]);
    }
    return IconDefinition::create($data['pack_id'] ?? 'foo', $data['icon_id'] ?? 'bar', $data['template'] ?? 'baz', $data['source'] ?? NULL, $data['group'] ?? NULL, $filtered_data);
  }

}

Traits

Title Deprecated Summary
IconTestTrait Provides methods to generate icons for tests.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.