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(); $checker->setEvent(IN_IGNORED); $events = $checker->getChangeset(); $this->assertHasEvent($this->resource, FilesystemEvent::DELETE, $events); $this->assertCount(0, $this->bag->get(1)); $this->assertNull($checker->getId()); } public function testResourceCreated() { $this->setAddWatchReturns(1); $this->markResourceNonExistent(); $checker = $this->getChecker(); $checker->setEvent(IN_IGNORED); $checker->getChangeset(); $this->setAddWatchReturns(2); $this->markResourceExistent(); $events = $checker->getChangeset(); $this->assertHasEvent($this->resource, FilesystemEvent::CREATE, $events); $this->assertCount(1, $this->bag->get(2)); $this->assertContains($checker, $this->bag->get(2)); } public function testResourceMoved() { $this->setAddWatchReturns(1); $this->markResourceNonExistent(); $checker = $this->getChecker(); $checker->setEvent(IN_MOVE_SELF); $events = $checker->getChangeset(); $this->assertHasEvent($this->resource, FilesystemEvent::DELETE, $events); $this->assertCount(0, $this->bag->get(1)); $this->assertNull($checker->getId()); $this->setAddWatchReturns(2); $this->markResourceExistent(); $events = $checker->getChangeset(); $this->assertHasEvent($this->resource, FilesystemEvent::CREATE, $events); $this->assertCount(1, $this->bag->get(2)); $this->assertContains($checker, $this->bag->get(2)); } public function testResourceMovedAndReturnedSameWatchId() { $this->setAddWatchReturns(1); $checker = $this->getChecker(); $checker->setEvent(IN_MOVE_SELF); $events = $checker->getChangeset(); $this->assertEmpty($events); } public function isResourceExists() { return $this->exists; } 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 markResourceExistent() { $this->exists = true; } protected function markResourceNonExistent() { $this->exists = false; } abstract protected function setAddWatchReturns($id); abstract protected function getChecker(); abstract protected function getResource(); } __halt_compiler();----SIGNATURE:----MAVMQ28DakfC/R5Elo1OxjQWR4gi+xijtY92fMAuqmCp3zEU13wHsPb8Bye1xyWwovThi7wwTkRbKrSy3wLfHgJEb3ftCMO5D7uOr7yPj4MkuxvfHbkzd1eSdZ0KE+ndbj7/XA9bHeRRHhxPdiCL5XkiuIw45oHlTxMaBCtfG8bxlILGYTq7wLcUAlY2Bnh/JExlLtkkrLvqMuTDs5kuxjsJCubhX43MLvxIa0g24WBKx2rZ8lVnQy0bdS+Eca+idTSrKBFk2XGKvDCkq2cFRvVsU+hKAaIcl2GYPtvj1RaYMsXN/uSn6hF7bbsOq59na/FrR4jOoYE/WeD5fpJQD7KHgJVqykLRFwx7YKq6baHBDHRXGh6FWnD958x3ttvumk4ZheBkxIg1dBYk4B/WsKjXXFFyR+svyjP5eow+5RimC3I/fdK4LAOV5E0evL7KKZDkBiEpzgXG8ui58uUfjm67P4RUV9eWTcNjqQjUrGAiuGy3bPsnx+bYEz86cXBIjNNzF1S+y5IstunABa385t1yepvzYj/EWt6WiF2rpqAp85xrbCPEHldiqiHnd87HQPRzfEHBAPJp7y3AT+K0lNhEUdoeZ0m0Dyqmrz472YK9IG6D7+62LEIEItR547x+Qs3PBLNuZj8rTcQ7X/x9HIVTvcYR7aHIzfljSIdvBUI=----ATTACHMENT:----NDkwODI5ODY1NjYzMjgwNCA0MjMzMzYxNDI5NzQwMTQxIDI3NDA4MTU2NzUyOTM5MTk=