function AttachedAssetsTest::testAddJsSettings
Tests adding JavaScript settings.
File
- 
              core/
tests/ Drupal/ KernelTests/ Core/ Asset/ AttachedAssetsTest.php, line 106  
Class
- AttachedAssetsTest
 - Tests #attached assets: attached asset libraries and JavaScript settings.
 
Namespace
Drupal\KernelTests\Core\AssetCode
public function testAddJsSettings() {
  // Add a file in order to test default settings.
  $build['#attached']['library'][] = 'core/drupalSettings';
  $assets = AttachedAssets::createFromRenderArray($build);
  $this->assertEquals([], $assets->getSettings(), 'JavaScript settings on $assets are empty.');
  $javascript = $this->assetResolver
    ->getJsAssets($assets, FALSE)[1];
  $this->assertArrayHasKey('currentPath', $javascript['drupalSettings']['data']['path']);
  $this->assertArrayHasKey('currentPath', $assets->getSettings()['path']);
  $assets->setSettings([
    'drupal' => 'rocks',
    'dries' => 280342800,
  ]);
  $javascript = $this->assetResolver
    ->getJsAssets($assets, FALSE)[1];
  $this->assertEquals(280342800, $javascript['drupalSettings']['data']['dries'], 'JavaScript setting is set correctly.');
  $this->assertEquals('rocks', $javascript['drupalSettings']['data']['drupal'], 'The other JavaScript setting is set correctly.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.