/** * @covers ::applyContextMapping */ public function testApplyContextMappingConfigurableAssigned() { $context_data = StringData::createInstance(DataDefinition::create('string')); $context_data->setValue('foo'); $context = $this->getMock('Drupal\\Core\\Plugin\\Context\\ContextInterface'); $context->expects($this->atLeastOnce())->method('getContextData')->will($this->returnValue($context_data)); $context->expects($this->atLeastOnce())->method('hasContextValue')->willReturn(TRUE); $contexts = array('name' => $context); $context_definition = $this->getMock('Drupal\\Core\\Plugin\\Context\\ContextDefinitionInterface'); $plugin = $this->getMock('Drupal\\Tests\\Core\\Plugin\\TestConfigurableContextAwarePluginInterface'); $plugin->expects($this->once())->method('getContextMapping')->willReturn([]); $plugin->expects($this->once())->method('getContextDefinitions')->will($this->returnValue(array('hit' => $context_definition))); $plugin->expects($this->once())->method('setContextValue')->with('hit', $context_data); // Make sure that the cacheability metadata is passed to the plugin context. $plugin_context = $this->getMock('Drupal\\Core\\Plugin\\Context\\ContextInterface'); $plugin_context->expects($this->once())->method('addCacheableDependency')->with($context); $plugin->expects($this->once())->method('getContext')->with('hit')->willReturn($plugin_context); $this->contextHandler->applyContextMapping($plugin, $contexts, ['hit' => 'name']); }