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