Example #1
0
 /**
  * @covers ::setContextValue
  */
 public function testSetContextValueCacheableDependency()
 {
     $container = new Container();
     $cache_context_manager = $this->getMockBuilder('Drupal\\Core\\Cache\\CacheContextsManager')->disableOriginalConstructor()->getMock();
     $container->set('cache_contexts_manager', $cache_context_manager);
     $cache_context_manager->expects($this->any())->method('validateTokens')->with(['route'])->willReturn(['route']);
     \Drupal::setContainer($container);
     $this->contextDefinition = $this->getMock('Drupal\\Core\\Plugin\\Context\\ContextDefinitionInterface');
     $context = new Context($this->contextDefinition);
     $context->setTypedDataManager($this->typedDataManager);
     $cacheable_dependency = $this->getMock('Drupal\\Tests\\Core\\Plugin\\Context\\TypedDataCacheableDependencyInterface');
     $cacheable_dependency->expects($this->once())->method('getCacheTags')->willReturn(['node:1']);
     $cacheable_dependency->expects($this->once())->method('getCacheContexts')->willReturn(['route']);
     $cacheable_dependency->expects($this->once())->method('getCacheMaxAge')->willReturn(60);
     $context->setContextValue($cacheable_dependency);
     $this->assertSame($cacheable_dependency, $context->getContextData());
     $this->assertEquals(['node:1'], $context->getCacheTags());
     $this->assertEquals(['route'], $context->getCacheContexts());
     $this->assertEquals(60, $context->getCacheMaxAge());
 }