mustache_templates-8.x-1.0-beta4/tests/src/Kernel/TokenTest.php

tests/src/Kernel/TokenTest.php
<?php

namespace Drupal\Tests\mustache\Kernel;

use Drupal\KernelTests\KernelTestBase;
use Drupal\mustache\Helpers\MustacheRenderTemplate;
use Drupal\user\Entity\User;

/**
 * Kernel tests for templates using tokens.
 *
 * @group mustache
 */
class TokenTest extends KernelTestBase {

  protected static $modules = [
    'system',
    'user',
    'field',
    'mustache',
  ];

  /**
   * {@inheritdoc}
   */
  public function setUp(): void {
    parent::setUp();
    $this->installEntitySchema('user');
    $this->installConfig(static::$modules);
    User::create(['uid' => 1, 'name' => 'admin'])->save();
    User::create(['uid' => 2, 'name' => 'user2'])->save();
    User::create(['uid' => 3, 'name' => 'user3'])->save();
  }

  /**
   * Tests rendering of tokens.
   */
  public function testTokens() {
    $admin_user = User::load(1);
    /** @var \Drupal\Core\Render\RendererInterface $renderer */
    $renderer = \Drupal::service('renderer');
    /** @var \Drupal\Core\Session\AccountSwitcherInterface $account_switcher */
    $account_switcher = \Drupal::service('account_switcher');

    $account_switcher->switchTo($admin_user);
    $render_array = MustacheRenderTemplate::build('user', 'UID: {{user.uid}}')
      ->withTokens()
      ->toRenderArray();
    $rendered = trim((string) $renderer->renderPlain($render_array));
    $this->assertEquals('UID: 1', $rendered);

    $render_array = MustacheRenderTemplate::build('user', 'UID: {{user.uid}}')
      ->withTokens(['user' => User::load(2)])
      ->toRenderArray();
    $rendered = trim((string) $renderer->renderPlain($render_array));
    $this->assertEquals('UID: 2', $rendered);

    $render_array = MustacheRenderTemplate::build('user', '{{#if.user.uid.lessthan.9}}OK{{/if.user.uid.lessthan.9}}')
      ->withTokens(['user' => User::load(3)])
      ->toRenderArray();
    $rendered = trim((string) $renderer->renderPlain($render_array));
    $this->assertEquals('OK', $rendered);

    $render_array = MustacheRenderTemplate::build('user', '{{#if.user.uid.lessthan.2}}NOT OK{{/if.user.uid.lessthan.2}}{{^if.user.uid.lessthan.2}}OK{{/if.user.uid.lessthan.2}}')
      ->withTokens(['user' => User::load(3)])
      ->toRenderArray();
    $rendered = trim((string) $renderer->renderPlain($render_array));
    $this->assertEquals('OK', $rendered);

    $render_array = MustacheRenderTemplate::build('user', '{{#if.user.uid.greaterthan.2}}OK{{/if.user.uid.greaterthan.2}}{{^if.user.uid.greaterthan.2}}NOT OK{{/if.user.uid.greaterthan.2}}')
      ->withTokens(['user' => User::load(3)])
      ->toRenderArray();
    $rendered = trim((string) $renderer->renderPlain($render_array));
    $this->assertEquals('OK', $rendered);

    $render_array = MustacheRenderTemplate::build('user', '{{#if.user.uid.greaterthan.5}}NOT OK{{/if.user.uid.greaterthan.5}}{{^if.user.uid.greaterthan.5}}OK{{/if.user.uid.greaterthan.5}}')
    ->withTokens(['user' => User::load(3)])
    ->toRenderArray();
  $rendered = trim((string) $renderer->renderPlain($render_array));
  $this->assertEquals('OK', $rendered);

    $account_switcher->switchBack();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc