5 * Contains \Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Path\Drupal7\PathUtilityTest.
8 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Path\Drupal7;
10 use Drupal\drupalmoduleupgrader\Utility\Path\Drupal7\PathComponent;
11 use Drupal\drupalmoduleupgrader\Utility\Path\Drupal7\PathUtility;
12 use Drupal\Tests\UnitTestCase;
15 * @group DMU.Utility.Path
17 class PathUtilityTest extends UnitTestCase {
19 public function __construct() {
20 $this->path = new PathUtility('node/%node/foo/%');
23 public function testCount() {
24 $this->assertCount(4, $this->path);
27 public function testAdd() {
28 $path = clone $this->path;
31 $this->assertCount(5, $path);
32 $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $path->last());
33 $this->assertEquals('baz', $path->last()->__toString());
35 $path->add(new PathComponent('wambooli'));
36 $this->assertCount(6, $path);
37 $this->assertEquals('wambooli', $path->last()->__toString());
41 * @expectedException \InvalidArgumentException
43 public function testAddArray() {
48 * @expectedException \InvalidArgumentException
50 public function testAddObject() {
51 $this->path->add(new \StdClass());
54 public function testFind() {
55 $result = $this->path->find('foo');
56 $this->assertCount(1, $result);
57 $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $result->first());
58 $this->assertEquals('foo', $result->first()->__toString());
61 public function testContains() {
62 $this->assertTrue($this->path->contains('%node'));
63 $this->assertFalse($this->path->contains('fruit'));
66 public function testHasWildcards() {
67 $this->assertTrue($this->path->hasWildcards());
70 public function testGetWildcards() {
71 $this->assertEquals('%node', $this->path->getWildcards()->__toString());
74 public function testGetNextWildcard() {
75 $wildcard = $this->path->getNextWildcard();
76 $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $wildcard);
77 $this->assertEquals('%node', $wildcard->__toString());
79 $wildcard = $this->path->getNextWildcard();
80 $this->assertNull($wildcard);
83 public function testDeleteWildcards() {
84 $this->assertEquals('node/foo/%', $this->path->deleteWildcards()->__toString());
87 public function testGetParent() {
88 $this->assertEquals('node/%node/foo', $this->path->getParent()->__toString());
91 public function testIsDynamic() {
92 $this->assertTrue($this->path->isDynamic());
95 public function testHasPlaceholders() {
96 $this->assertTrue($this->path->hasPlaceholders());
99 public function testGetPlaceholders() {
100 $placeholders = $this->path->getPlaceholders();
101 $this->assertCount(1, $placeholders);
102 $this->assertInstanceOf('Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathComponent', $placeholders->first());
103 $this->assertEquals('%', $placeholders->first()->__toString());
107 * @depends testHasPlaceholders
109 public function testDeletePlaceholders() {
110 $this->assertFalse($this->path->deletePlaceholders()->hasPlaceholders());