public function visit(vfsStreamContent $content) { switch ($content->getType()) { case vfsStreamContent::TYPE_BLOCK: $this->visitBlockDevice($content); break; case vfsStreamContent::TYPE_FILE: $this->visitFile($content); break; case vfsStreamContent::TYPE_DIR: if (!$content->isDot()) { $this->visitDirectory($content); } break; default: throw new \InvalidArgumentException('Unknown content type ' . $content->getType() . ' for ' . $content->getName()); } return $this; }
/** * @test */ public function visitWithDirectoryCallsVisitDirectory() { $dir = new vfsStreamDirectory('bar'); $this->abstractVisitor->expects($this->once())->method('visitDirectory')->with($this->equalTo($dir)); $this->assertSame($this->abstractVisitor, $this->abstractVisitor->visit($dir)); }