drupalmoduleupgrader-8.x-1.5/tests/src/Unit/Utility/Path/Drupal7/PathUtilityTest.php

tests/src/Unit/Utility/Path/Drupal7/PathUtilityTest.php
<?php

namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Path\Drupal7;

use Drupal\drupalmoduleupgrader\Utility\Path\Drupal7\PathComponent;
use Drupal\drupalmoduleupgrader\Utility\Path\Drupal7\PathUtility;
use Drupal\Tests\UnitTestCase;

/**
 * @group DMU.Utility.Path
 */
class PathUtilityTest extends UnitTestCase {

  /**
   * Path variable.
   */
  protected $path;

  /**
   * {@inheritdoc}
   */
  public function setUp(): void {
    parent::setUp();
    $this->path = new PathUtility('node/%node/foo/%');
  }

  public function testCount() {
    $this->assertCount(4, $this->path);
  }

  public function testAdd() {
    $path = clone $this->path;

    $path->add('baz');
    $this->assertCount(5, $path);
    $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $path->last());
    $this->assertEquals('baz', $path->last()->__toString());

    $path->add(new PathComponent('wambooli'));
    $this->assertCount(6, $path);
    $this->assertEquals('wambooli', $path->last()->__toString());
  }

  public function testAddArray() {
    $this->expectException(\InvalidArgumentException::class);
    $this->path->add([]);
  }

  public function testAddObject() {
    $this->expectException(\InvalidArgumentException::class);
    $this->path->add(new \StdClass());
  }

  public function testFind() {
    $result = $this->path->find('foo');
    $this->assertCount(1, $result);
    $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $result->first());
    $this->assertEquals('foo', $result->first()->__toString());
  }

  public function testContains() {
    $this->assertTrue($this->path->contains('%node'));
    $this->assertFalse($this->path->contains('fruit'));
  }

  public function testHasWildcards() {
    $this->assertTrue($this->path->hasWildcards());
  }

  public function testGetWildcards() {
    $this->assertEquals('%node', $this->path->getWildcards()->__toString());
  }

  public function testGetNextWildcard() {
    $wildcard = $this->path->getNextWildcard();
    $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $wildcard);
    $this->assertEquals('%node', $wildcard->__toString());

    $wildcard = $this->path->getNextWildcard();
    $this->assertNull($wildcard);
  }

  public function testDeleteWildcards() {
    $this->assertEquals('node/foo/%', $this->path->deleteWildcards()->__toString());
  }

  public function testGetParent() {
    $this->assertEquals('node/%node/foo', $this->path->getParent()->__toString());
  }

  public function testIsDynamic() {
    $this->assertTrue($this->path->isDynamic());
  }

  public function testHasPlaceholders() {
    $this->assertTrue($this->path->hasPlaceholders());
  }

  public function testGetPlaceholders() {
    $placeholders = $this->path->getPlaceholders();
    $this->assertCount(1, $placeholders);
    $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $placeholders->first());
    $this->assertEquals('%', $placeholders->first()->__toString());
  }

  /**
   * @depends testHasPlaceholders
   */
  public function testDeletePlaceholders() {
    $this->assertFalse($this->path->deletePlaceholders()->hasPlaceholders());
  }

}

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

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