You are here

PathUtilityTest.php in Drupal 7 to 8/9 Module Upgrader 8

File

tests/src/Unit/Utility/Path/Drupal8/PathUtilityTest.php
View source
<?php

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

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

/**
 * @group DMU.Utility.Path
 */
class PathUtilityTest extends UnitTestCase {
  public function setUp() {
    parent::setUp();
    $this->path = new PathUtility('node/{node}/foo/{bar}');
  }
  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\\Drupal8\\PathComponent', $path
      ->last());
    $this
      ->assertEquals('baz', $path
      ->last()
      ->__toString());
    $path
      ->add(new PathComponent('wambooli'));
    $this
      ->assertCount(6, $path);
    $this
      ->assertEquals('wambooli', $path
      ->last()
      ->__toString());
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testAddArray() {
    $this->path
      ->add([]);
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testAddObject() {
    $this->path
      ->add(new \StdClass());
  }
  public function testFind() {
    $result = $this->path
      ->find('foo');
    $this
      ->assertCount(1, $result);
    $this
      ->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal8\\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}/{bar}', $this->path
      ->getWildcards()
      ->__toString());
  }
  public function testGetNextWildcard() {
    $wildcard = $this->path
      ->getNextWildcard();
    $this
      ->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal8\\PathComponent', $wildcard);
    $this
      ->assertEquals('{node}', $wildcard
      ->__toString());
    $wildcard = $this->path
      ->getNextWildcard();
    $this
      ->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal8\\PathComponent', $wildcard);
    $this
      ->assertEquals('{bar}', $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());
  }

}

Classes

Namesort descending Description
PathUtilityTest @group DMU.Utility.Path