You are here

public function MenuViewBuilderTest::testMenuViewBuilder in Twig Tweak 3.x

Same name and namespace in other branches
  1. 3.1.x tests/src/Kernel/MenuViewBuilderTest.php \Drupal\Tests\twig_tweak\Kernel\MenuViewBuilderTest::testMenuViewBuilder()

Test callback.

File

tests/src/Kernel/MenuViewBuilderTest.php, line 68

Class

MenuViewBuilderTest
A test for MenuViewBuilder.

Namespace

Drupal\Tests\twig_tweak\Kernel

Code

public function testMenuViewBuilder() : void {
  $view_builder = $this->container
    ->get('twig_tweak.menu_view_builder');
  $build = $view_builder
    ->build('test-menu');
  $expected_output = <<<'HTML'
      <ul>
        <li>
          <a href="/foo/1">Link 1</a>
          <ul>
            <li>
              <a href="/foo/1/1">Link 1.1</a>
            </li>
           </ul>
        </li>
        <li>
          <a href="/foo/2">Link 2</a>
        </li>
      </ul>
HTML;
  $this
    ->assertMarkup($expected_output, $build);
  $build = $view_builder
    ->build('test-menu', 2);
  $expected_output = <<<'HTML'
      <ul>
        <li>
          <a href="/foo/1/1">Link 1.1</a>
        </li>
       </ul>
HTML;
  $this
    ->assertMarkup($expected_output, $build);
  $build = $view_builder
    ->build('test-menu', 1, 1);
  $expected_output = <<<'HTML'
      <ul>
        <li>
          <a href="/foo/1">Link 1</a>
        </li>
        <li>
          <a href="/foo/2">Link 2</a>
        </li>
      </ul>
HTML;
  $this
    ->assertMarkup($expected_output, $build);
}