function TwigExtensionTest::testDump

Same name and namespace in other branches
  1. 10 core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php \Drupal\Tests\system\Functional\Theme\TwigExtensionTest::testDump()
  2. 11.x core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php \Drupal\Tests\system\Functional\Theme\TwigExtensionTest::testDump()

Tests the dump function.

File

core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php, line 101

Class

TwigExtensionTest
Tests Twig extensions.

Namespace

Drupal\Tests\system\Functional\Theme

Code

public function testDump() {
    // Test Twig Debug disabled.
    $this->drupalGet('/twig-theme-test/dump');
    $this->assertSession()
        ->elementsCount('css', '.sf-dump', 0);
    // Test Twig Debug enabled.
    $parameters = $this->container
        ->getParameter('twig.config');
    $parameters['debug'] = TRUE;
    $this->setContainerParameter('twig.config', $parameters);
    $this->resetAll();
    $this->drupalGet('/twig-theme-test/dump');
    $dumps = $this->getSession()
        ->getPage()
        ->findAll('css', '.sf-dump');
    $this->assertEquals(4, count($dumps));
    // Test dumping single variable.
    $this->assertStringContainsString('💩', $dumps[0]->getText());
    $this->assertStringNotContainsString('🐣', $dumps[0]->getText());
    // Test dumping context.
    $this->assertStringContainsString('"bar" => "🐣"', $dumps[1]->getText());
    // Test dump as a variadic.
    $this->assertStringContainsString('💩', $dumps[2]->getText());
    $this->assertStringContainsString('☄️', $dumps[3]->getText());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.