/**
  * test renaming the directory
  *
  * @test
  */
 public function rename()
 {
     $this->dir->rename('bar');
     $this->assertEquals('bar', $this->dir->getName());
     $this->assertFalse($this->dir->appliesTo('foo'));
     $this->assertFalse($this->dir->appliesTo('foo/bar'));
     $this->assertTrue($this->dir->appliesTo('bar'));
 }
 /**
  * visit a directory and process it
  *
  * @param   vfsStreamDirectory         $dir
  * @return  vfsStreamStructureVisitor
  */
 public function visitDirectory(vfsStreamDirectory $dir)
 {
     $this->current[$dir->getName()] = [];
     $tmp =& $this->current;
     $this->current =& $tmp[$dir->getName()];
     foreach ($dir as $child) {
         $this->visit($child);
     }
     $this->current =& $tmp;
     return $this;
 }