/** * @param $directory * @return Watcher\Linux|Watcher\Mac * @throws \Exception */ public static function factory($directory) { switch (PHP_OS) { case self::LINUX: $watcher = new Watcher\Linux(new Sh(), new EventEmitter()); break; case self::MAC_OS_X: return new Watcher\Mac(new Sh(), new EventEmitter()); break; default: throw new \Exception('Not implemented.'); } $watcher->setDirectory($directory); return $watcher; }
public function setUp() { $this->emmiter = new Evenement\EventEmitter(); $watcher = new Linux($this->getMock('Sh\\Sh'), $this->emmiter); $watcher->registerExtensionToWatch('php'); $watcher->onSave(function () { $this->counterOnSave++; }); $watcher->onCreate(function () { $this->counterOnCreate++; }); $watcher->onDelete(function () { $this->counterOnDelete++; }); }