private function doTestMove($op) { $backendName = $this->backendClass(); $source = $op['src']; $dest = $op['dst']; $this->prepare(array('dir' => dirname($source))); $this->prepare(array('dir' => dirname($dest))); if (isset($op['ignoreMissingSource'])) { $status = $this->backend->doOperation($op); $this->assertGoodStatus($status, "Move from {$source} to {$dest} succeeded without warnings ({$backendName})."); $this->assertEquals(array(0 => true), $status->success, "Move from {$source} to {$dest} has proper 'success' field in Status ({$backendName})."); $this->assertEquals(false, $this->backend->fileExists(array('src' => $source)), "Source file {$source} does not exist ({$backendName})."); $this->assertEquals(false, $this->backend->fileExists(array('src' => $dest)), "Destination file {$dest} does not exist ({$backendName})."); return; // done } $status = $this->backend->doOperation(array('op' => 'create', 'content' => 'blahblah', 'dst' => $source)); $this->assertGoodStatus($status, "Creation of file at {$source} succeeded ({$backendName})."); if (isset($op['overwrite']) || isset($op['overwriteSame'])) { $this->backend->copy($op); } $status = $this->backend->doOperation($op); $this->assertGoodStatus($status, "Move from {$source} to {$dest} succeeded without warnings ({$backendName})."); $this->assertEquals(true, $status->isOK(), "Move from {$source} to {$dest} succeeded ({$backendName})."); $this->assertEquals(array(0 => true), $status->success, "Move from {$source} to {$dest} has proper 'success' field in Status ({$backendName})."); $this->assertEquals(false, $this->backend->fileExists(array('src' => $source)), "Source file {$source} does not still exists ({$backendName})."); $this->assertEquals(true, $this->backend->fileExists(array('src' => $dest)), "Destination file {$dest} exists after move ({$backendName})."); $this->assertNotEquals($this->backend->getFileSize(array('src' => $source)), $this->backend->getFileSize(array('src' => $dest)), "Destination file {$dest} has correct size ({$backendName})."); $props1 = $this->backend->getFileProps(array('src' => $source)); $props2 = $this->backend->getFileProps(array('src' => $dest)); $this->assertEquals(false, $props1['fileExists'], "Source file does not exist accourding to props ({$backendName})."); $this->assertEquals(true, $props2['fileExists'], "Destination file exists accourding to props ({$backendName})."); $this->assertBackendPathsConsistent(array($source, $dest)); }