custom_elements-8.x-2.x-dev/tests/src/Traits/TestHelperTrait.php

tests/src/Traits/TestHelperTrait.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\custom_elements\Traits;

use Drupal\custom_elements\CustomElement;

/**
 * Helps with testing custom elements.
 */
trait TestHelperTrait {

  /**
   * Renders a custom element.
   *
   * @param \Drupal\custom_elements\CustomElement $element
   *   A custom element.
   *
   * @return string
   *   Rendered markup.
   */
  protected function renderCustomElement(CustomElement $element) {
    $build = $element->toRenderArray();
    /** @var \Drupal\Core\Render\RendererInterface $renderer */
    $renderer = $this->container->get('renderer');
    return (string) $renderer->renderRoot($build);
  }

  /**
   * Asserts that two markup strings are equal.
   */
  protected function assertMarkupEquals($expected, $actual, $message = '') {
    $expected = trim($expected);
    $actual = trim($actual);

    // Remove newlines and their surrounding spaces.
    $expected = preg_replace('/\s*\n\s*/', '', $expected);
    $actual = preg_replace('/\s*\n\s*/', '', $actual);

    // Remove spaces between tags.
    $expected = preg_replace('/>\s+</', '><', $expected);
    $actual = preg_replace('/>\s+</', '><', $actual);

    // Normalize remaining whitespace to single spaces.
    $expected = preg_replace('/\s+/', ' ', $expected);
    $actual = preg_replace('/\s+/', ' ', $actual);

    $this->assertEquals($expected, $actual, $message);
  }

}

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

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