/'; const DEBUG_VARIANT_ID_PATTERN = '//'; /** * Test that other visitors can modify Twig nodes. */ public function testOtherVisitorsCanModifyTwigNodes(): void { $build = [ '#type' => 'inline_template', '#template' => "{% embed('sdc_theme_test_base:my-card-no-schema') %}{% block card_body %}Foo bar{% endblock %}{% endembed %}", ]; $this->renderComponentRenderArray($build); // If this is reached, the test passed. $this->assertTrue(TRUE); } /** * Test debug output for sdc components with component id and variant. */ public function testDebugRendersComponentStartWithVariant(): void { // Enable twig theme debug to ensure that any // changes to theme debugging format force checking // that the auto paragraph filter continues to be applied // correctly. $twig = \Drupal::service('twig'); $twig->enableDebug(); $build = [ '#type' => 'component', '#component' => 'sdc_theme_test:my-card', '#variant' => 'vertical', '#props' => [ 'header' => 'My header', ], '#slots' => [ 'card_body' => 'Foo bar', ], ]; $crawler = $this->renderComponentRenderArray($build); $content = $crawler->html(); $matches = []; \preg_match_all(self::DEBUG_COMPONENT_ID_PATTERN, $content, $matches); $this->assertSame($matches[2][0], 'sdc_theme_test:my-card'); \preg_match_all(self::DEBUG_VARIANT_ID_PATTERN, $content, $matches); $this->assertSame($matches[1][0], 'vertical'); } }