createResource(); $checker = $this->createChecker($resource); $this->assertSame($resource, $checker->getResource()); } public function testNoChanges() { $resource = $this->createResource(true); $checker = $this->createChecker($resource); $resource ->expects($this->once()) ->method('isFresh') ->with(12) ->will($this->returnValue(true)); $this->assertEquals(array(), $checker->getChangeset()); } public function testDeleted() { $resource = $this->createResource(null); $resource ->expects($this->any()) ->method('exists') ->will($this->onConsecutiveCalls(true, false)); $checker = $this->createChecker($resource); $this->assertEquals( array(array('event' => FilesystemEvent::DELETE, 'resource' => $resource)), $checker->getChangeset() ); } public function testModified() { $resource = $this->createResource(true); $checker = $this->createChecker($resource); $resource ->expects($this->once()) ->method('isFresh') ->with(12) ->will($this->returnValue(false)); $this->assertEquals( array(array('event' => FilesystemEvent::MODIFY, 'resource' => $resource)), $checker->getChangeset() ); } public function testConsecutiveChecks() { $resource = $this->createResource(null); $resource ->expects($this->any()) ->method('exists') ->will($this->onConsecutiveCalls(true, true, false)); $checker = $this->createChecker($resource); $resource ->expects($this->once()) ->method('isFresh') ->with(12) ->will($this->returnValue(false)); $this->assertEquals( array(array('event' => FilesystemEvent::MODIFY, 'resource' => $resource)), $checker->getChangeset() ); $this->assertEquals( array(array('event' => FilesystemEvent::DELETE, 'resource' => $resource)), $checker->getChangeset() ); $this->assertEquals(array(), $checker->getChangeset()); } protected function createResource($exists = true) { $resource = $this ->getMockBuilder('Lurker\Resource\FileResource') ->disableOriginalConstructor() ->getMock(); $resource ->expects($this->any()) ->method('getModificationTime') ->will($this->returnValue(11)); if (null !== $exists) { $resource ->expects($this->any()) ->method('exists') ->will($this->returnValue($exists)); } return $resource; } protected function createChecker($resource) { return new FileStateChecker($resource); } } __halt_compiler();----SIGNATURE:----MrMs/do09/L/9JofGm28Zr5dh5hT2UTKArmMlhBtPJkUQC2bDCy1ulSyJGidO94RJD9e65Lllbp9WVM7jCz3Dj3fcmQ41jKSfjbJbfoLMU379aJgDmplFSPjgeByBjwo5FJ1DeOdHASCiHfT4hEDF34vc8XKRXfRIxkxhY1JorDYBmAhBaY3WCu44g7MGOaJdZXn4QI0t0kYNDc8AvvBLgKe+oab5g+mBJoVeM6MXMU5f/mK6uTTNXF9LZIUspTv5BDoTw9REwZgy60dYksUvyRMSxFpbWeOWd67llmStmwKrGwDpkoS9G2nOpUjYkUOuZ/V9HdHLCo7RDFDE1gf6UTf3LorA12kUcqe9x6igxE008T1HGiX1EX/qgzHYosf1DUySA3dChIDr+vdZ+kX5k9G7TGaHFtQSfsZhvxRt9NWonTibC+KnTpVLKkAaOX+LSWoQCGnWZqI7Nx8rHzyMOXZFYkTQsf27eOCeKnO1s+qsiR95MBj2AoZPxGD+bL0DS59r+ikWJKXiAOzaArD8ehCBE67YYU6TIOwtWNzXkLA2tPhPzZPYAWcIcYGmrh+L48ZInOuy3KIMVKq1eCd841Ew6uu2BU0xX8gB4fQmsmjfSvQKSX1b+1mO4MoFhP75mcBC4XTfOnOyX1QxUoKW5YYrT0VCvOphxMHuOASYy8=----ATTACHMENT:----ODY1MDk0NDUwMTA4MDg5OSAyODY5ODA0MzY0NTg5OTE1IDYzODA3NDM4MzczNTMwNTQ=