xero_sync-8.x-1.x-dev/tests/src/Unit/TestItemFinder.php

tests/src/Unit/TestItemFinder.php
<?php

namespace Drupal\Tests\xero_sync\Unit;

use Drupal\xero_sync\XeroSyncItemFinder as XeroSyncItemFinder;
use Drupal\Core\Entity\EntityInterface;

/**
 * A version of XeroSyncItemFinder that is easier to unit test.
 *
 * Many protected methods are redeclared as public.
 *
 * @see plugin_api
 */
class TestItemFinder extends XeroSyncItemFinder {

  /**
   * The discovered plugin definitions.
   *
   * @var array
   */
  protected $definitions;

  /**
   * Instantiated plugins.
   *
   * @var array
   */
  protected $instances;

  /**
   * Constructs a new XeroSyncItemFinder object.
   *
   * @param array $definitions
   *   The plugin definitions found by getDefinitions();.
   * @param array $instances
   *   An array of mock plugins.
   * @param array $cache
   *   (optional) A cache.
   */
  public function __construct(array $definitions, array $instances, array $cache = []) {
    $this->definitions = $definitions;
    $this->instances = $instances;
    self::$cache = $cache;
  }

  /**
   * {@inheritDoc}
   */
  public function getDefinitions() {
    return $this->definitions;
  }

  /**
   * {@inheritDoc}
   */
  public function createInstance($plugin_id, array $configuration = []) {
    return $this->instances[$plugin_id];
  }

  /**
   * {@inheritDoc}
   */
  public function getItemFromDefinitions(array $definitions, EntityInterface $entity) {
    return parent::getItemFromDefinitions($definitions, $entity);
  }

  /**
   * {@inheritDoc}
   */
  public function getItem($entity, $create = FALSE) {
    return parent::getItem($entity, $create);
  }

  /**
   * {@inheritDoc}
   */
  public function getMatchingDefinitions($entity, $create = FALSE) {
    return parent::getMatchingDefinitions($entity, $create);
  }

  /**
   * {@inheritDoc}
   */
  public function getItemFromCache($type, $id, $create) {
    return parent::getItemFromCache($type, $id, $create);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc