test_helpers-1.0.0-alpha6/src/Stub/DatabaseStorageStub.php

src/Stub/DatabaseStorageStub.php
<?php

namespace Drupal\test_helpers\Stub;

use Drupal\Core\Config\DatabaseStorage;

/**
 * A stub of the Drupal's default Connection class.
 *
 *  @package TestHelpers\DrupalServiceStubs
 */
class DatabaseStorageStub extends DatabaseStorage {

  /**
   * A static storage for stored items.
   *
   * @var array
   */
  protected $stubStorage = [];

  /**
   * {@inheritdoc}
   */
  public function exists($name) {
    return isset($this->stubStorage[$name]);
  }

  /**
   * {@inheritdoc}
   */
  public function read($name) {
    return $this->stubStorage[$name] ?? FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function readMultiple(array $names) {
    $list = [];
    foreach ($names as $name) {
      $list[$name] = $this->read($name);
    }
    return $list;
  }

  /**
   * {@inheritdoc}
   */
  public function write($name, array $data) {
    $this->stubStorage[$name] = $data;
    return TRUE;
  }

  /**
   * {@inheritdoc}
   */
  public function delete($name) {
    unset($this->stubStorage[$name]);
    // @todo Check, maybe return false.
    return TRUE;
  }

  /**
   * {@inheritdoc}
   */
  public function rename($name, $new_name) {
    $this->stubStorage[$new_name] = $this->stubStorage[$name];
    unset($this->stubStorage[$name]);
    return TRUE;
  }

  /**
   * {@inheritdoc}
   */
  public function listAll($prefix = '') {
    $list = [];
    foreach ($this->stubStorage as $name => $data) {
      if (strpos($name, $prefix) === 0) {
        $list[] = $name;
      }
    }
    return $list;
  }

  /**
   * {@inheritdoc}
   */
  public function deleteAll($prefix = '') {
    foreach ($this->stubStorage as $name => $data) {
      if (strpos($name, $prefix) === 0) {
        unset($this->stubStorage[$name]);
      }
    }
    return TRUE;
  }

}

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

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