Issue #1786490 by Berdir, amateescu, damiankloip, Wim Leers, dawehner: Add caching to the state system.

8.0.x
catch 2013-12-12 00:00:09 +00:00
parent 51560a3a04
commit 3e27ebdea5
38 changed files with 307 additions and 115 deletions

View File

@ -137,10 +137,10 @@ services:
factory_class: Drupal\Component\Utility\Settings factory_class: Drupal\Component\Utility\Settings
factory_method: getSingleton factory_method: getSingleton
state: state:
class: Drupal\Core\KeyValueStore\KeyValueStoreInterface class: Drupal\Core\KeyValueStore\State
factory_method: get arguments: ['@keyvalue']
factory_service: keyvalue tags:
arguments: [state] - { name: persist }
queue: queue:
class: Drupal\Core\Queue\QueueFactory class: Drupal\Core\Queue\QueueFactory
arguments: ['@settings'] arguments: ['@settings']

View File

@ -456,10 +456,8 @@ function install_begin_request(&$install_state) {
$settings['keyvalue_default'] = 'keyvalue.memory'; $settings['keyvalue_default'] = 'keyvalue.memory';
new Settings($settings); new Settings($settings);
$container->register('state', 'Drupal\Core\KeyValueStore\KeyValueStoreInterface') $container->register('state', 'Drupal\Core\KeyValueStore\State')
->setFactoryService(new Reference('keyvalue')) ->addArgument(new Reference('keyvalue'));
->setFactoryMethod('get')
->addArgument('state');
// Register Twig template engine for use during install. // Register Twig template engine for use during install.
CoreServiceProvider::registerTwig($container); CoreServiceProvider::registerTwig($container);

View File

@ -288,7 +288,7 @@ class Drupal {
* needs to be the same across development, production, etc. environments * needs to be the same across development, production, etc. environments
* (for example, the system maintenance message) should use \Drupal::config() instead. * (for example, the system maintenance message) should use \Drupal::config() instead.
* *
* @return \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @return \Drupal\Core\KeyValueStore\StateInterface
*/ */
public static function state() { public static function state() {
return static::$container->get('state'); return static::$container->get('state');

View File

@ -6,8 +6,7 @@
namespace Drupal\Core\Asset; namespace Drupal\Core\Asset;
use Drupal\Core\Asset\AssetCollectionOptimizerInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/** /**
* Optimizes CSS assets. * Optimizes CSS assets.
@ -38,7 +37,7 @@ class CssCollectionOptimizer implements AssetCollectionOptimizerInterface {
/** /**
* The state key/value store. * The state key/value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -51,10 +50,10 @@ class CssCollectionOptimizer implements AssetCollectionOptimizerInterface {
* The optimizer for a single CSS asset. * The optimizer for a single CSS asset.
* @param \Drupal\Core\Asset\AssetDumperInterface * @param \Drupal\Core\Asset\AssetDumperInterface
* The dumper for optimized CSS assets. * The dumper for optimized CSS assets.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @param \Drupal\Core\KeyValueStore\StateInterface
* The state key/value store. * The state key/value store.
*/ */
public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, KeyValueStoreInterface $state) { public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, StateInterface $state) {
$this->grouper = $grouper; $this->grouper = $grouper;
$this->optimizer = $optimizer; $this->optimizer = $optimizer;
$this->dumper = $dumper; $this->dumper = $dumper;

View File

@ -6,9 +6,8 @@
namespace Drupal\Core\Asset; namespace Drupal\Core\Asset;
use Drupal\Core\Asset\AssetCollectionRendererInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Component\Utility\String; use Drupal\Component\Utility\String;
use Drupal\Core\KeyValueStore\StateInterface;
/** /**
* Renders CSS assets. * Renders CSS assets.
@ -18,17 +17,17 @@ class CssCollectionRenderer implements AssetCollectionRendererInterface {
/** /**
* The state key/value store. * The state key/value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
/** /**
* Constructs a CssCollectionRenderer. * Constructs a CssCollectionRenderer.
* *
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @param \Drupal\Core\KeyValueStore\StateInterface
* The state key/value store. * The state key/value store.
*/ */
public function __construct(KeyValueStoreInterface $state) { public function __construct(StateInterface $state) {
$this->state = $state; $this->state = $state;
} }

View File

@ -6,8 +6,7 @@
namespace Drupal\Core\Asset; namespace Drupal\Core\Asset;
use Drupal\Core\Asset\AssetCollectionOptimizerInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/** /**
@ -39,7 +38,7 @@ class JsCollectionOptimizer implements AssetCollectionOptimizerInterface {
/** /**
* The state key/value store. * The state key/value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -52,10 +51,10 @@ class JsCollectionOptimizer implements AssetCollectionOptimizerInterface {
* The optimizer for a single JS asset. * The optimizer for a single JS asset.
* @param \Drupal\Core\Asset\AssetDumperInterface * @param \Drupal\Core\Asset\AssetDumperInterface
* The dumper for optimized JS assets. * The dumper for optimized JS assets.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @param \Drupal\Core\KeyValueStore\StateInterface
* The state key/value store. * The state key/value store.
*/ */
public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, KeyValueStoreInterface $state) { public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, StateInterface $state) {
$this->grouper = $grouper; $this->grouper = $grouper;
$this->optimizer = $optimizer; $this->optimizer = $optimizer;
$this->dumper = $dumper; $this->dumper = $dumper;

View File

@ -6,8 +6,7 @@
namespace Drupal\Core\Asset; namespace Drupal\Core\Asset;
use Drupal\Core\Asset\AssetCollectionRendererInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/** /**
* Renders JavaScript assets. * Renders JavaScript assets.
@ -17,17 +16,17 @@ class JsCollectionRenderer implements AssetCollectionRendererInterface {
/** /**
* The state key/value store. * The state key/value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
/** /**
* Constructs a CssCollectionRenderer. * Constructs a CssCollectionRenderer.
* *
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @param \Drupal\Core\KeyValueStore\StateInterface
* The state key/value store. * The state key/value store.
*/ */
public function __construct(KeyValueStoreInterface $state) { public function __construct(StateInterface $state) {
$this->state = $state; $this->state = $state;
} }

View File

@ -8,7 +8,7 @@
namespace Drupal\Core\Extension; namespace Drupal\Core\Extension;
use Drupal\Core\Cache\CacheBackendInterface; use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
/** /**
* Class that manages enabled modules in a Drupal installation. * Class that manages enabled modules in a Drupal installation.
@ -18,7 +18,7 @@ class CachedModuleHandler extends ModuleHandler implements CachedModuleHandlerIn
/** /**
* State key/value store. * State key/value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -39,7 +39,7 @@ class CachedModuleHandler extends ModuleHandler implements CachedModuleHandlerIn
/** /**
* Constructs a new CachedModuleHandler object. * Constructs a new CachedModuleHandler object.
*/ */
public function __construct(array $module_list = array(), KeyValueStoreInterface $state, CacheBackendInterface $bootstrap_cache) { public function __construct(array $module_list = array(), StateInterface $state, CacheBackendInterface $bootstrap_cache) {
parent::__construct($module_list); parent::__construct($module_list);
$this->state = $state; $this->state = $state;
$this->bootstrapCache = $bootstrap_cache; $this->bootstrapCache = $bootstrap_cache;

View File

@ -0,0 +1,124 @@
<?php
/**
* @file
* Contains Drupal\Core\KeyValueStore\StateInterface.
*/
namespace Drupal\Core\KeyValueStore;
/**
* Provides the state system using a key value store.
*/
class State implements StateInterface {
/**
* The key value store to use.
*
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $keyValueStore;
/**
* Static state cache.
*
* @var array
*/
protected $cache = array();
/**
* Constructs a State object.
*
* @param \Drupal\Core\KeyValueStore\KeyValueFactory $key_value_factory
* The key value store to use.
*/
function __construct(KeyValueFactory $key_value_factory) {
$this->keyValueStore = $key_value_factory->get('state');
}
/**
* {@inheritdoc}
*/
public function get($key, $default = NULL) {
$values = $this->getMultiple(array($key));
return isset($values[$key]) ? $values[$key] : $default;
}
/**
* {@inheritdoc}
*/
public function getMultiple(array $keys) {
$values = array();
$load = array();
foreach ($keys as $key) {
// Check if we have a value in the cache.
if (isset($this->cache[$key])) {
$values[$key] = $this->cache[$key];
}
// Load the value if we don't have an explicit NULL value.
elseif (!array_key_exists($key, $this->cache)) {
$load[] = $key;
}
}
if ($load) {
$loaded_values = $this->keyValueStore->getMultiple($load);
foreach ($load as $key) {
// If we find a value, even one that is NULL, add it to the cache and
// return it.
if (isset($loaded_values[$key]) || array_key_exists($key, $loaded_values)) {
$values[$key] = $loaded_values[$key];
$this->cache[$key] = $loaded_values[$key];
}
else {
$this->cache[$key] = NULL;
}
}
}
return $values;
}
/**
* {@inheritdoc}
*/
public function set($key, $value) {
$this->cache[$key] = $value;
$this->keyValueStore->set($key, $value);
}
/**
* {@inheritdoc}
*/
public function setMultiple(array $data) {
foreach ($data as $key => $value) {
$this->cache[$key] = $value;
}
$this->keyValueStore->setMultiple($data);
}
/**
* {@inheritdoc}
*/
public function delete($key) {
$this->deleteMultiple(array($key));
}
/**
* {@inheritdoc}
*/
public function deleteMultiple(array $keys) {
foreach ($keys as $key) {
unset($this->cache[$key]);
}
$this->keyValueStore->deleteMultiple($keys);
}
/**
* {@inheritdoc}
*/
public function resetCache() {
$this->cache = array();
}
}

View File

@ -0,0 +1,80 @@
<?php
/**
* @file
* Contains Drupal\Core\KeyValueStore\StateInterface.
*/
namespace Drupal\Core\KeyValueStore;
/**
* Defines the interface for the state system.
*/
interface StateInterface {
/**
* Returns the stored value for a given key.
*
* @param string $key
* The key of the data to retrieve.
* @param mixed $default
* The default value to use if the key is not found.
*
* @return mixed
* The stored value, or NULL if no value exists.
*/
public function get($key, $default = NULL);
/**
* Returns the stored key/value pairs for a given set of keys.
*
* @param array $keys
* A list of keys to retrieve.
*
* @return array
* An associative array of items successfully returned, indexed by key.
*/
public function getMultiple(array $keys);
/**
* Saves a value for a given key.
*
* @param string $key
* The key of the data to store.
* @param mixed $value
* The data to store.
*/
public function set($key, $value);
/**
* Saves key/value pairs.
*
* @param array $data
* An associative array of key/value pairs.
*/
public function setMultiple(array $data);
/**
* Deletes an item.
*
* @param string $key
* The item name to delete.
*/
public function delete($key);
/**
* Deletes multiple items.
*
* @param array $keys
* A list of item names to delete.
*/
public function deleteMultiple(array $keys);
/**
* Resets the static cache.
*
* This is mainly used in testing environments.
*/
public function resetCache();
}

View File

@ -9,7 +9,7 @@ namespace Drupal\Core\Language;
use Drupal\Component\Utility\MapArray; use Drupal\Component\Utility\MapArray;
use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
/** /**
@ -27,7 +27,7 @@ class LanguageManager {
/** /**
* The Key/Value Store to use for state. * The Key/Value Store to use for state.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state = NULL; protected $state = NULL;
@ -65,12 +65,12 @@ class LanguageManager {
/** /**
* Constructs an LanguageManager object. * Constructs an LanguageManager object.
* *
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* (optional) The state keyvalue store. Defaults to NULL. * (optional) The state keyvalue store. Defaults to NULL.
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* (optional) The module handler service. Defaults to NULL. * (optional) The module handler service. Defaults to NULL.
*/ */
public function __construct(KeyValueStoreInterface $state = NULL, ModuleHandlerInterface $module_handler = NULL) { public function __construct(StateInterface $state = NULL, ModuleHandlerInterface $module_handler = NULL) {
$this->state = $state; $this->state = $state;
$this->moduleHandler = $module_handler; $this->moduleHandler = $module_handler;
} }

View File

@ -20,13 +20,6 @@ class AliasManager implements AliasManagerInterface {
*/ */
protected $connection; protected $connection;
/**
* The Key/Value Store to use for state
*
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
/** /**
* Language manager for retrieving the default langcode when none is specified. * Language manager for retrieving the default langcode when none is specified.
* *

View File

@ -11,7 +11,7 @@ use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Cache\CacheCollector; use Drupal\Core\Cache\CacheCollector;
use Drupal\Core\Database\Connection; use Drupal\Core\Database\Connection;
use Drupal\Core\DestructableInterface; use Drupal\Core\DestructableInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Lock\LockBackendInterface; use Drupal\Core\Lock\LockBackendInterface;
use Drupal\Core\Utility\CacheArray; use Drupal\Core\Utility\CacheArray;
@ -23,7 +23,7 @@ class AliasWhitelist extends CacheCollector {
/** /**
* The Key/Value Store to use for state. * The Key/Value Store to use for state.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -43,12 +43,12 @@ class AliasWhitelist extends CacheCollector {
* The cache backend. * The cache backend.
* @param \Drupal\Core\Lock\LockBackendInterface $lock * @param \Drupal\Core\Lock\LockBackendInterface $lock
* The lock backend. * The lock backend.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state keyvalue store. * The state keyvalue store.
* @param \Drupal\Core\Database\Connection $connection * @param \Drupal\Core\Database\Connection $connection
* The database connection. * The database connection.
*/ */
public function __construct($cid, CacheBackendInterface $cache, LockBackendInterface $lock, KeyValueStoreInterface $state, Connection $connection) { public function __construct($cid, CacheBackendInterface $cache, LockBackendInterface $lock, StateInterface $state, Connection $connection) {
parent::__construct($cid, $cache, $lock); parent::__construct($cid, $cache, $lock);
$this->state = $state; $this->state = $state;
$this->connection = $connection; $this->connection = $connection;

View File

@ -7,7 +7,7 @@
namespace Drupal\Core; namespace Drupal\Core;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Component\Utility\Crypt; use Drupal\Component\Utility\Crypt;
/** /**
@ -18,17 +18,17 @@ class PrivateKey {
/** /**
* The state service. * The state service.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
/** /**
* Constructs the token generator. * Constructs the token generator.
* *
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state service. * The state service.
*/ */
function __construct(KeyValueStoreInterface $state) { function __construct(StateInterface $state) {
$this->state = $state; $this->state = $state;
} }

View File

@ -16,7 +16,7 @@ use Drupal\Core\Config\ConfigFactory;
use Drupal\Component\Uuid\UuidInterface; use Drupal\Component\Uuid\UuidInterface;
use Drupal\Core\Config\StorageInterface; use Drupal\Core\Config\StorageInterface;
use Drupal\Core\Extension\ModuleHandler; use Drupal\Core\Extension\ModuleHandler;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
/** /**
* Controller class for field instances. * Controller class for field instances.
@ -45,7 +45,7 @@ class FieldInstanceStorageController extends ConfigStorageController {
/** /**
* The state keyvalue collection. * The state keyvalue collection.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -68,10 +68,10 @@ class FieldInstanceStorageController extends ConfigStorageController {
* The entity manager. * The entity manager.
* @param \Drupal\Core\Extension\ModuleHandler $module_handler * @param \Drupal\Core\Extension\ModuleHandler $module_handler
* The module handler. * The module handler.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, KeyValueStoreInterface $state) { public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, StateInterface $state) {
parent::__construct($entity_type, $entity_info, $config_factory, $config_storage, $entity_query_factory, $uuid_service); parent::__construct($entity_type, $entity_info, $config_factory, $config_storage, $entity_query_factory, $uuid_service);
$this->entityManager = $entity_manager; $this->entityManager = $entity_manager;
$this->moduleHandler = $module_handler; $this->moduleHandler = $module_handler;

View File

@ -16,7 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Config\ConfigFactory; use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Config\StorageInterface; use Drupal\Core\Config\StorageInterface;
use Drupal\Core\Extension\ModuleHandler; use Drupal\Core\Extension\ModuleHandler;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
/** /**
* Controller class for fields. * Controller class for fields.
@ -40,7 +40,7 @@ class FieldStorageController extends ConfigStorageController {
/** /**
* The state keyvalue collection. * The state keyvalue collection.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -63,10 +63,10 @@ class FieldStorageController extends ConfigStorageController {
* The entity manager. * The entity manager.
* @param \Drupal\Core\Extension\ModuleHandler $module_handler * @param \Drupal\Core\Extension\ModuleHandler $module_handler
* The module handler. * The module handler.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, KeyValueStoreInterface $state) { public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, StateInterface $state) {
parent::__construct($entity_type, $entity_info, $config_factory, $config_storage, $entity_query_factory, $uuid_service); parent::__construct($entity_type, $entity_info, $config_factory, $config_storage, $entity_query_factory, $uuid_service);
$this->entityManager = $entity_manager; $this->entityManager = $entity_manager;
$this->moduleHandler = $module_handler; $this->moduleHandler = $module_handler;

View File

@ -38,6 +38,8 @@ abstract class FileManagedTestBase extends FileTestBase {
* 'insert', etc. * 'insert', etc.
*/ */
function assertFileHooksCalled($expected) { function assertFileHooksCalled($expected) {
\Drupal::state()->resetCache();
// Determine which hooks were called. // Determine which hooks were called.
$actual = array_keys(array_filter(file_test_get_all_calls())); $actual = array_keys(array_filter(file_test_get_all_calls()));

View File

@ -26,7 +26,7 @@ class LanguageFallbackTest extends DrupalUnitTestBase {
/** /**
* The state storage service. * The state storage service.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;

View File

@ -11,7 +11,7 @@ use Drupal\Core\Form\FormBase;
use Drupal\Core\Language\Language; use Drupal\Core\Language\Language;
use Drupal\Core\Language\LanguageManager; use Drupal\Core\Language\LanguageManager;
use Drupal\locale\StringStorageInterface; use Drupal\locale\StringStorageInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
/** /**
@ -31,7 +31,7 @@ abstract class TranslateFormBase extends FormBase {
/** /**
* The state store. * The state store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -54,12 +54,12 @@ abstract class TranslateFormBase extends FormBase {
* *
* @param \Drupal\locale\StringStorageInterface $locale_storage * @param \Drupal\locale\StringStorageInterface $locale_storage
* The locale storage. * The locale storage.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state service. * The state service.
* @param \Drupal\Core\Language\LanguageManager $language_manager * @param \Drupal\Core\Language\LanguageManager $language_manager
* The language manager. * The language manager.
*/ */
public function __construct(StringStorageInterface $locale_storage, KeyValueStoreInterface $state, LanguageManager $language_manager) { public function __construct(StringStorageInterface $locale_storage, StateInterface $state, LanguageManager $language_manager) {
$this->localeStorage = $locale_storage; $this->localeStorage = $locale_storage;
$this->state = $state; $this->state = $state;
$this->languageManager = $language_manager; $this->languageManager = $language_manager;

View File

@ -14,7 +14,7 @@ use Drupal\Core\Database\Query\SelectExtender;
use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Language\Language; use Drupal\Core\Language\Language;
use Drupal\Core\Plugin\PluginFormInterface; use Drupal\Core\Plugin\PluginFormInterface;
use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountInterface;
@ -68,7 +68,7 @@ class NodeSearch extends SearchPluginBase implements AccessibleInterface, Search
/** /**
* The Drupal state object used to set 'node.cron_last'. * The Drupal state object used to set 'node.cron_last'.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -111,7 +111,7 @@ class NodeSearch extends SearchPluginBase implements AccessibleInterface, Search
$container->get('entity.manager'), $container->get('entity.manager'),
$container->get('module_handler'), $container->get('module_handler'),
$container->get('config.factory')->get('search.settings'), $container->get('config.factory')->get('search.settings'),
$container->get('keyvalue')->get('state'), $container->get('state'),
$container->get('current_user') $container->get('current_user')
); );
} }
@ -133,12 +133,12 @@ class NodeSearch extends SearchPluginBase implements AccessibleInterface, Search
* A module manager object. * A module manager object.
* @param \Drupal\Core\Config\Config $search_settings * @param \Drupal\Core\Config\Config $search_settings
* A config object for 'search.settings'. * A config object for 'search.settings'.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The Drupal state object used to set 'node.cron_last'. * The Drupal state object used to set 'node.cron_last'.
* @param \Drupal\Core\Session\AccountInterface $account * @param \Drupal\Core\Session\AccountInterface $account
* The $account object to use for checking for access to advanced search. * The $account object to use for checking for access to advanced search.
*/ */
public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, Config $search_settings, KeyValueStoreInterface $state, AccountInterface $account = NULL) { public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, Config $search_settings, StateInterface $state, AccountInterface $account = NULL) {
$this->database = $database; $this->database = $database;
$this->entityManager = $entity_manager; $this->entityManager = $entity_manager;
$this->moduleHandler = $module_handler; $this->moduleHandler = $module_handler;

View File

@ -8,7 +8,7 @@
namespace Drupal\rest\Plugin\views\display; namespace Drupal\rest\Plugin\views\display;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Routing\RouteProviderInterface; use Drupal\Core\Routing\RouteProviderInterface;
use Drupal\views\Annotation\ViewsDisplay; use Drupal\views\Annotation\ViewsDisplay;
use Drupal\Core\Annotation\Translation; use Drupal\Core\Annotation\Translation;
@ -99,14 +99,14 @@ class RestExport extends PathPluginBase {
* The plugin implementation definition. * The plugin implementation definition.
* @param \Drupal\Core\Routing\RouteProviderInterface $route_provider * @param \Drupal\Core\Routing\RouteProviderInterface $route_provider
* The route provider * The route provider
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
* @param \Drupal\Core\ContentNegotiation $content_negotiation * @param \Drupal\Core\ContentNegotiation $content_negotiation
* The content negotiation library. * The content negotiation library.
* @param \Symfony\Component\HttpFoundation\Request $request * @param \Symfony\Component\HttpFoundation\Request $request
* The request object. * The request object.
*/ */
public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteProviderInterface $route_provider, KeyValueStoreInterface $state, ContentNegotiation $content_negotiation, Request $request) { public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteProviderInterface $route_provider, StateInterface $state, ContentNegotiation $content_negotiation, Request $request) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider, $state); parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider, $state);
$this->contentNegotiation = $content_negotiation; $this->contentNegotiation = $content_negotiation;
$this->request = $request; $this->request = $request;

View File

@ -82,7 +82,7 @@ class CollectRoutesTest extends UnitTestCase {
->getMock(); ->getMock();
$container->set('router.route_provider', $route_provider); $container->set('router.route_provider', $route_provider);
$state = $this->getMock('\Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $state = $this->getMock('\Drupal\Core\KeyValueStore\StateInterface');
$container->set('state', $state); $container->set('state', $state);
$style_manager = $this->getMockBuilder('\Drupal\views\Plugin\ViewsPluginManager') $style_manager = $this->getMockBuilder('\Drupal\views\Plugin\ViewsPluginManager')

View File

@ -10,7 +10,7 @@ use Drupal\Core\Cache\Cache;
use Drupal\Core\Config\ConfigFactory; use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Config\Context\ContextInterface; use Drupal\Core\Config\Context\ContextInterface;
use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Plugin\PluginFormInterface; use Drupal\Core\Plugin\PluginFormInterface;
use Drupal\search\SearchPluginManager; use Drupal\search\SearchPluginManager;
use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\ConfigFormBase;
@ -45,7 +45,7 @@ class SearchSettingsForm extends ConfigFormBase {
/** /**
* The Drupal state storage service. * The Drupal state storage service.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -60,10 +60,10 @@ class SearchSettingsForm extends ConfigFormBase {
* The manager for search plugins. * The manager for search plugins.
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler * The module handler
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key/value store interface, gives access to state based config settings. * The state key/value store interface, gives access to state based config settings.
*/ */
public function __construct(ConfigFactory $config_factory, ContextInterface $context, SearchPluginManager $manager, ModuleHandlerInterface $module_handler, KeyValueStoreInterface $state) { public function __construct(ConfigFactory $config_factory, ContextInterface $context, SearchPluginManager $manager, ModuleHandlerInterface $module_handler, StateInterface $state) {
parent::__construct($config_factory, $context); parent::__construct($config_factory, $context);
$this->searchSettings = $config_factory->get('search.settings'); $this->searchSettings = $config_factory->get('search.settings');
$this->searchPluginManager = $manager; $this->searchPluginManager = $manager;

View File

@ -175,10 +175,8 @@ abstract class DrupalUnitTestBase extends UnitTestBase {
->addArgument(new Reference('service_container')) ->addArgument(new Reference('service_container'))
->addArgument(new Reference('settings')); ->addArgument(new Reference('settings'));
$container->register('state', 'Drupal\Core\KeyValueStore\KeyValueStoreInterface') $container->register('state', 'Drupal\Core\KeyValueStore\State')
->setFactoryService(new Reference('keyvalue')) ->addArgument(new Reference('keyvalue'));
->setFactoryMethod('get')
->addArgument('state');
} }
if ($container->hasDefinition('path_processor_alias')) { if ($container->hasDefinition('path_processor_alias')) {

View File

@ -1008,6 +1008,7 @@ abstract class WebTestBase extends TestBase {
// Clear the tag cache. // Clear the tag cache.
drupal_static_reset('Drupal\Core\Cache\CacheBackendInterface::tagCache'); drupal_static_reset('Drupal\Core\Cache\CacheBackendInterface::tagCache');
\Drupal::service('config.factory')->reset(); \Drupal::service('config.factory')->reset();
\Drupal::state()->resetCache();
} }
/** /**

View File

@ -9,7 +9,7 @@ namespace Drupal\system\Form;
use Drupal\Core\Config\ConfigFactory; use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Config\Context\ContextInterface; use Drupal\Core\Config\Context\ContextInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\ConfigFormBase;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
@ -22,7 +22,7 @@ class CronForm extends ConfigFormBase {
/** /**
* Stores the state storage service. * Stores the state storage service.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -33,10 +33,10 @@ class CronForm extends ConfigFormBase {
* The factory for configuration objects. * The factory for configuration objects.
* @param \Drupal\Core\Config\Context\ContextInterface $context * @param \Drupal\Core\Config\Context\ContextInterface $context
* The configuration context used for this configuration object. * The configuration context used for this configuration object.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct(ConfigFactory $config_factory, ContextInterface $context, KeyValueStoreInterface $state) { public function __construct(ConfigFactory $config_factory, ContextInterface $context, StateInterface $state) {
parent::__construct($config_factory, $context); parent::__construct($config_factory, $context);
$this->state = $state; $this->state = $state;
} }

View File

@ -9,7 +9,7 @@ namespace Drupal\system\Form;
use Drupal\Core\Config\ConfigFactory; use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Config\Context\ContextInterface; use Drupal\Core\Config\Context\ContextInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\ConfigFormBase;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
@ -21,7 +21,7 @@ class SiteMaintenanceModeForm extends ConfigFormBase {
/** /**
* The state keyvalue collection. * The state keyvalue collection.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -32,10 +32,10 @@ class SiteMaintenanceModeForm extends ConfigFormBase {
* The factory for configuration objects. * The factory for configuration objects.
* @param \Drupal\Core\Config\Context\ContextInterface $context * @param \Drupal\Core\Config\Context\ContextInterface $context
* The configuration context to use. * The configuration context to use.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state keyvalue collection to use. * The state keyvalue collection to use.
*/ */
public function __construct(ConfigFactory $config_factory, ContextInterface $context, KeyValueStoreInterface $state) { public function __construct(ConfigFactory $config_factory, ContextInterface $context, StateInterface $state) {
parent::__construct($config_factory, $context); parent::__construct($config_factory, $context);
$this->state = $state; $this->state = $state;
} }

View File

@ -32,7 +32,7 @@ abstract class EntityUnitTestBase extends DrupalUnitTestBase {
/** /**
* The state service. * The state service.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;

View File

@ -7,7 +7,7 @@
namespace Drupal\service_provider_test; namespace Drupal\service_provider_test;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\DestructableInterface; use Drupal\Core\DestructableInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\Event\GetResponseEvent;
@ -18,17 +18,17 @@ class TestClass implements EventSubscriberInterface, DestructableInterface {
/** /**
* The state keyvalue collection. * The state keyvalue collection.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
/** /**
* Constructor. * Constructor.
* *
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct(KeyValueStoreInterface $state) { public function __construct(StateInterface $state) {
$this->state = $state; $this->state = $state;
} }

View File

@ -10,7 +10,7 @@ namespace Drupal\views\EventSubscriber;
use Drupal\Component\Utility\MapArray; use Drupal\Component\Utility\MapArray;
use Drupal\Core\DestructableInterface; use Drupal\Core\DestructableInterface;
use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Routing\RouteSubscriberBase; use Drupal\Core\Routing\RouteSubscriberBase;
use Drupal\views\Plugin\views\display\DisplayRouterInterface; use Drupal\views\Plugin\views\display\DisplayRouterInterface;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
@ -44,7 +44,7 @@ class RouteSubscriber extends RouteSubscriberBase implements DestructableInterfa
/** /**
* The state key value store. * The state key value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -60,10 +60,10 @@ class RouteSubscriber extends RouteSubscriberBase implements DestructableInterfa
* *
* @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
* The entity manager. * The entity manager.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct(EntityManagerInterface $entity_manager, KeyValueStoreInterface $state) { public function __construct(EntityManagerInterface $entity_manager, StateInterface $state) {
$this->viewStorageController = $entity_manager->getStorageController('view'); $this->viewStorageController = $entity_manager->getStorageController('view');
$this->state = $state; $this->state = $state;
} }

View File

@ -7,7 +7,7 @@
namespace Drupal\views\Plugin\Derivative; namespace Drupal\views\Plugin\Derivative;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Menu\LocalTaskDerivativeBase; use Drupal\Core\Menu\LocalTaskDerivativeBase;
use Drupal\Core\Plugin\Discovery\ContainerDerivativeInterface; use Drupal\Core\Plugin\Discovery\ContainerDerivativeInterface;
use Drupal\Core\Routing\RouteProviderInterface; use Drupal\Core\Routing\RouteProviderInterface;
@ -29,7 +29,7 @@ class ViewsLocalTask extends LocalTaskDerivativeBase implements ContainerDerivat
/** /**
* The state key value store. * The state key value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -41,7 +41,7 @@ class ViewsLocalTask extends LocalTaskDerivativeBase implements ContainerDerivat
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct(RouteProviderInterface $route_provider, KeyValueStoreInterface $state) { public function __construct(RouteProviderInterface $route_provider, StateInterface $state) {
$this->routeProvider = $route_provider; $this->routeProvider = $route_provider;
$this->state = $state; $this->state = $state;
} }

View File

@ -7,7 +7,7 @@
namespace Drupal\views\Plugin\views\display; namespace Drupal\views\Plugin\views\display;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface; use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Routing\RouteCompiler; use Drupal\Core\Routing\RouteCompiler;
use Drupal\Core\Routing\RouteProviderInterface; use Drupal\Core\Routing\RouteProviderInterface;
use Drupal\views\Views; use Drupal\views\Views;
@ -35,7 +35,7 @@ abstract class PathPluginBase extends DisplayPluginBase implements DisplayRouter
/** /**
* The state key value store. * The state key value store.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface * @var \Drupal\Core\KeyValueStore\StateInterface
*/ */
protected $state; protected $state;
@ -50,10 +50,10 @@ abstract class PathPluginBase extends DisplayPluginBase implements DisplayRouter
* The plugin implementation definition. * The plugin implementation definition.
* @param \Drupal\Core\Routing\RouteProviderInterface $route_provider * @param \Drupal\Core\Routing\RouteProviderInterface $route_provider
* The route provider. * The route provider.
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state * @param \Drupal\Core\KeyValueStore\StateInterface $state
* The state key value store. * The state key value store.
*/ */
public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteProviderInterface $route_provider, KeyValueStoreInterface $state) { public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteProviderInterface $route_provider, StateInterface $state) {
parent::__construct($configuration, $plugin_id, $plugin_definition); parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->routeProvider = $route_provider; $this->routeProvider = $route_provider;

View File

@ -44,7 +44,7 @@ class RouteSubscriberTest extends UnitTestCase {
/** /**
* The mocked key value storage. * The mocked key value storage.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface|\PHPUnit_Framework_MockObject_MockObject * @var \Drupal\Core\KeyValueStore\StateInterface|\PHPUnit_Framework_MockObject_MockObject
*/ */
protected $state; protected $state;
@ -68,7 +68,7 @@ class RouteSubscriberTest extends UnitTestCase {
->method('getStorageController') ->method('getStorageController')
->with('view') ->with('view')
->will($this->returnValue($this->viewStorageController)); ->will($this->returnValue($this->viewStorageController));
$this->state = $this->getMock('\Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $this->state = $this->getMock('\Drupal\Core\KeyValueStore\StateInterface');
$this->routeSubscriber = new TestRouteSubscriber($this->entityManager, $this->state); $this->routeSubscriber = new TestRouteSubscriber($this->entityManager, $this->state);
} }

View File

@ -55,7 +55,7 @@ class ViewsLocalTaskTest extends UnitTestCase {
protected function setUp() { protected function setUp() {
$this->routeProvider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface'); $this->routeProvider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface');
$this->state = $this->getMock('Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $this->state = $this->getMock('Drupal\Core\KeyValueStore\StateInterface');
$this->localTaskDerivative = new TestViewsLocalTask($this->routeProvider, $this->state); $this->localTaskDerivative = new TestViewsLocalTask($this->routeProvider, $this->state);
} }

View File

@ -43,7 +43,7 @@ class PathPluginBaseTest extends UnitTestCase {
/** /**
* The mocked key value storage. * The mocked key value storage.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface|\PHPUnit_Framework_MockObject_MockObject * @var \Drupal\Core\KeyValueStore\StateInterface|\PHPUnit_Framework_MockObject_MockObject
*/ */
protected $state; protected $state;
@ -62,7 +62,7 @@ class PathPluginBaseTest extends UnitTestCase {
parent::setUp(); parent::setUp();
$this->routeProvider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface'); $this->routeProvider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface');
$this->state = $this->getMock('\Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $this->state = $this->getMock('\Drupal\Core\KeyValueStore\StateInterface');
$this->pathPlugin = $this->getMockBuilder('Drupal\views\Plugin\views\display\PathPluginBase') $this->pathPlugin = $this->getMockBuilder('Drupal\views\Plugin\views\display\PathPluginBase')
->setConstructorArgs(array(array(), 'path_base', array(), $this->routeProvider, $this->state)) ->setConstructorArgs(array(array(), 'path_base', array(), $this->routeProvider, $this->state))
->setMethods(NULL) ->setMethods(NULL)

View File

@ -77,7 +77,7 @@ class ViewListControllerTest extends UnitTestCase {
array(array(), 'default', $display_manager->getDefinition('default')) array(array(), 'default', $display_manager->getDefinition('default'))
); );
$route_provider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface'); $route_provider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface');
$state = $this->getMock('\Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $state = $this->getMock('\Drupal\Core\KeyValueStore\StateInterface');
$page_display = $this->getMock('Drupal\views\Plugin\views\display\Page', $page_display = $this->getMock('Drupal\views\Plugin\views\display\Page',
array('initDisplay', 'getPath'), array('initDisplay', 'getPath'),
array(array(), 'default', $display_manager->getDefinition('page'), $route_provider, $state) array(array(), 'default', $display_manager->getDefinition('page'), $route_provider, $state)

View File

@ -66,7 +66,7 @@ class CssCollectionRendererUnitTest extends UnitTestCase {
/** /**
* The state mock class. * The state mock class.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface|\PHPUnit_Framework_MockObject_MockObject * @var \Drupal\Core\KeyValueStore\StateInterface|\PHPUnit_Framework_MockObject_MockObject
*/ */
protected $state; protected $state;
@ -81,7 +81,7 @@ class CssCollectionRendererUnitTest extends UnitTestCase {
function setUp() { function setUp() {
parent::setUp(); parent::setUp();
$this->state = $this->getMock('Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $this->state = $this->getMock('Drupal\Core\KeyValueStore\StateInterface');
$this->renderer = new CssCollectionRenderer($this->state); $this->renderer = new CssCollectionRenderer($this->state);
$this->file_css_group = array( $this->file_css_group = array(

View File

@ -19,7 +19,7 @@ class PrivateKeyTest extends UnitTestCase {
/** /**
* The state mock class. * The state mock class.
* *
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface|\PHPUnit_Framework_MockObject_MockObject * @var \Drupal\Core\KeyValueStore\StateInterface|\PHPUnit_Framework_MockObject_MockObject
*/ */
protected $state; protected $state;
@ -52,7 +52,7 @@ class PrivateKeyTest extends UnitTestCase {
parent::setUp(); parent::setUp();
$this->key = Crypt::randomStringHashed(55); $this->key = Crypt::randomStringHashed(55);
$this->state = $this->getMock('Drupal\Core\KeyValueStore\KeyValueStoreInterface'); $this->state = $this->getMock('Drupal\Core\KeyValueStore\StateInterface');
$this->privateKey = new PrivateKey($this->state); $this->privateKey = new PrivateKey($this->state);
} }