コード例 #1
0
 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));
 }