You are here

public function WebformBubbleableMetadataTest::testAppendTo in Webform 8.5

Same name and namespace in other branches
  1. 6.x tests/src/Unit/Cache/WebformBubbleableMetadataTest.php \Drupal\Tests\webform\Unit\Cache\WebformBubbleableMetadataTest::testAppendTo()

Tests appendTo renderable array.

@covers ::appendTo

@dataProvider providerTestAppendTo

Parameters

\Drupal\webform\Cache\WebformBubbleableMetadata $bubbleable_metadata: Bubbleable metadata.

array $build: A render array.

array $expected: The expected render array.

See also

\Drupal\Tests\Core\Cache\CacheableMetadataTest

File

tests/src/Unit/Cache/WebformBubbleableMetadataTest.php, line 33

Class

WebformBubbleableMetadataTest
Tests webform bubbleable metadata.

Namespace

Drupal\Tests\webform\Unit\Cache

Code

public function testAppendTo(WebformBubbleableMetadata $bubbleable_metadata, array $build, array $expected) {

  // Mock CacheContextsManager::assertValidTokens
  // @see \Drupal\Core\Cache\Cache::mergeContexts
  $cache_contexts_manager = $this
    ->getMockBuilder('Drupal\\Core\\Cache\\Context\\CacheContextsManager')
    ->disableOriginalConstructor()
    ->getMock();
  $cache_contexts_manager
    ->method('assertValidTokens')
    ->willReturn(TRUE);
  $container = new ContainerBuilder();
  $container
    ->set('cache_contexts_manager', $cache_contexts_manager);
  \Drupal::setContainer($container);

  /**************************************************************************/
  $bubbleable_metadata
    ->appendTo($build);
  $this
    ->assertEquals($expected, $build);
}