コード例 #1
0
ファイル: Watcher.php プロジェクト: shinichi81/ci
 /**
  * Register a resource to be watched.
  *
  * @param  string  $resource
  * @return \JasonLewis\ResourceWatcher\Listener
  */
 public function watch($resource)
 {
     if (!$this->files->exists($resource)) {
         throw new RuntimeException('Resource must exist before you can watch it.');
     } elseif ($this->files->isDirectory($resource)) {
         $resource = new DirectoryResource(new SplFileInfo($resource), $this->files);
         $resource->setupDirectory();
     } else {
         $resource = new FileResource(new SplFileInfo($resource), $this->files);
     }
     // The listener gives users the ability to bind listeners on the events
     // created when watching a file or directory. We'll give the listener
     // to the tracker so the tracker can fire any bound listeners.
     $listener = new Listener();
     $this->tracker->register($resource, $listener);
     return $listener;
 }
コード例 #2
0
 public function testResourceRegisteredWithTracker()
 {
     $resource = m::mock('JasonLewis\\ResourceWatcher\\Resource\\ResourceInterface');
     $resource->shouldReceive('getKey')->twice()->andReturn('foo');
     $listener = m::mock('JasonLewis\\ResourceWatcher\\Listener');
     $tracker = new Tracker();
     $tracker->register($resource, $listener);
     $this->assertTrue($tracker->isTracked($resource));
 }