tome-8.x-1.x-dev/modules/tome_static/tests/src/Kernel/PathPlaceholderEventTest.php

modules/tome_static/tests/src/Kernel/PathPlaceholderEventTest.php
<?php

namespace Drupal\Tests\tome_static\Kernel;

use Drupal\tome_static\Event\PathPlaceholderEvent;
use Drupal\tome_static\Event\TomeStaticEvents;

/**
 * Tests path placeholder event class.
 *
 * @coversDefaultClass \Drupal\tome_static\Event\PathPlaceholderEvent
 * @group tome
 */
class PathPlaceholderEventTest extends TomeStaticEventTestBase {

  /**
   * {@inheritdoc}
   */
  protected $eventName = TomeStaticEvents::PATH_PLACEHOLDER;

  /**
   * @covers \Drupal\tome_static\Event\PathPlaceholderEvent::setPath
   * @covers \Drupal\tome_static\Event\PathPlaceholderEvent::getPath
   */
  public function testSetPath() {
    $this->eventDispatcher->addListener($this->eventName, [$this, 'setPath']);
    $event = $this->pathPlaceholder();

    $this->assertEquals('/my-path-replaced', $event->getPath());
  }

  /**
   * @covers \Drupal\tome_static\Event\PathPlaceholderEvent::setInvalid
   * @covers \Drupal\tome_static\Event\PathPlaceholderEvent::isInvalid
   */
  public function testIsInvalid() {
    $this->eventDispatcher->addListener($this->eventName, [$this, 'isInvalid']);
    $event = $this->pathPlaceholder();

    $this->assertEquals(TRUE, $event->isInvalid());
  }

  /**
   * Triggers the path placeholder event and returns the updated event.
   *
   * @param string $path
   *   (optional) The HTML path.
   *
   * @return \Drupal\tome_static\Event\PathPlaceholderEvent
   *   The path placeholder event after it is triggered.
   */
  protected function pathPlaceholder($path = '/my-path/{placeholder}') {
    $event = new PathPlaceholderEvent($path);
    $this->eventDispatcher->dispatch($event, $this->eventName);
    return $event;
  }

  /**
   * Emulates the setPath() listener.
   *
   * @param \Drupal\tome_static\Event\PathPlaceholderEvent $event
   *   The path placeholder event.
   */
  public function setPath(PathPlaceholderEvent $event) {
    $event->setPath('/my-path-replaced');
  }

  /**
   * Emulates the isInvalid() listener.
   *
   * @param \Drupal\tome_static\Event\PathPlaceholderEvent $event
   *   The path placeholder event.
   */
  public function isinvalid(PathPlaceholderEvent $event) {
    $event->setInvalid();
  }

}

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

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