markTestSkipped('Inotify is required for this test'); } $this->bag = new CheckerBag('whatever'); $this->resource = $this->getResource(); } public function testResourceAddedToBag() { $this->setAddWatchReturns(1); $checker = $this->getChecker(); $this->assertCount(1, $this->bag->get(1)); $this->assertContains($checker, $this->bag->get(1)); } public function testResourceDeleted() { $this->setAddWatchReturns(1); $this->markResourceNonExistent(); $checker = $this->getChecker($this->resource); $checker->setEvent(IN_DELETE); $events = $checker->getChangeset(); $this->assertHasEvent($this->resource, FilesystemEvent::DELETE, $events); $this->assertCount(0, $this->bag->get(1)); $this->assertNull($checker->getId()); } protected function setAddWatchReturns($id) { DirectoryStateCheckerForTest::setAddWatchReturns($id); } protected function getChecker() { return new DirectoryStateCheckerForTest($this->bag, $this->resource); } protected function assertHasEvent(ResourceInterface $resource, $event, $events) { $this->assertContains(array('resource' => $resource, 'event' => $event), $events, sprintf('Cannot find the expected event for the received resource.')); } protected function getResource() { $resource = $this ->getMockBuilder('Lurker\Resource\DirectoryResource') ->disableOriginalConstructor() ->getMock(); $resource ->expects($this->any()) ->method('exists') ->will($this->returnCallback(array($this, 'isResourceExists'))); $resource ->expects($this->any()) ->method('getFilteredResources') ->will($this->returnValue(array())); return $resource; } protected function markResourceExistent() { $this->exists = true; } protected function markResourceNonExistent() { $this->exists = false; } public function isResourceExists() { return $this->exists; } } __halt_compiler();----SIGNATURE:----RYfUlmsnyaBpDz5gmDJSQZFmQn4KOhOhsea3EN1aRpB+sDf05Z29A0bVcX996R1DleYuRo7zP/UZfJVEzEx7awjq14TieoUUrlFNfYP0W6F2lGRCWivwefFZgk61WDovy+RsZ+uLyr5jdj1m0Nqil32yBSgy9yvic+O2YsWiyUB4vs8NpwmG406YsbzzQKvEz8cd9K+NC2AoHX8FJy87uDF7SkQPYqktpyOFdQdwwI7f7SHx1qew2amzpbyI0Yh2P5ueFUZrfJ+AKRAnr8mnNXuGZnDrbVBnSuCz3o/QW3ha9T5Q41slHZ9HAHf22q1kqHTxwZPXx3qHaZrm+fONuIyouoPKt5ULejkcFBlqtRGw9QnYmslAw8FoKajrYcpHdqCVdIRuzItYT/FRZjw4VUwY71WBoNqMs+sN/AIzb46Bt8G+ppOsNt3Qn4HQSsyI1tjIZcnGBIEvdjSOQa9gfLxbQIw7TDozZO4Dp0wO1tzW2AieeFTMDsbTGxIIVJOecgXLdsnLu20m1ScbtnGrgpw7rR/29LEWVIXqtTnSjDtMIjuNxG/Qk9R5fXSVxVj9X5ngG2HWYtjML2fv1AKrFyRBBZsdcdLI5Kw+IGl/pEy5/jLrwxkiuqQ1jrQKgSQ8OKnk6DmlbHK8kaKB9rbnKdRkTxMSTHSoJ/G4ec6FWn4=----ATTACHMENT:----MTA5MDIyMjUwNzUwNDc1MiA2NTU2MTMxMzk3OTExMTUwIDYxNjY3MzYxNDUxNDI1ODE=