/** * @covers FileBackend::doOperation */ private function doTestStore($op) { $backendName = $this->backendClass(); $source = $op['src']; $dest = $op['dst']; $this->prepare(array('dir' => dirname($dest))); file_put_contents($source, "Unit test file"); if (isset($op['overwrite']) || isset($op['overwriteSame'])) { $this->backend->store($op); } $status = $this->backend->doOperation($op); $this->assertGoodStatus($status, "Store from {$source} to {$dest} succeeded without warnings ({$backendName})."); $this->assertEquals(true, $status->isOK(), "Store from {$source} to {$dest} succeeded ({$backendName})."); $this->assertEquals(array(0 => true), $status->success, "Store from {$source} to {$dest} has proper 'success' field in Status ({$backendName})."); $this->assertEquals(true, file_exists($source), "Source file {$source} still exists ({$backendName})."); $this->assertEquals(true, $this->backend->fileExists(array('src' => $dest)), "Destination file {$dest} exists ({$backendName})."); $this->assertEquals(filesize($source), $this->backend->getFileSize(array('src' => $dest)), "Destination file {$dest} has correct size ({$backendName})."); $props1 = FSFile::getPropsFromPath($source); $props2 = $this->backend->getFileProps(array('src' => $dest)); $this->assertEquals($props1, $props2, "Source and destination have the same props ({$backendName})."); $this->assertBackendPathsConsistent(array($dest)); }