コード例 #1
0
 private function doTestCreate($op, $alreadyExists, $okStatus, $newSize)
 {
     $backendName = $this->backendClass();
     $dest = $op['dst'];
     $this->prepare(array('dir' => dirname($dest)));
     $oldText = 'blah...blah...waahwaah';
     if ($alreadyExists) {
         $status = $this->backend->doOperation(array('op' => 'create', 'content' => $oldText, 'dst' => $dest));
         $this->assertGoodStatus($status, "Creation of file at {$dest} succeeded ({$backendName}).");
     }
     $status = $this->backend->doOperation($op);
     if ($okStatus) {
         $this->assertGoodStatus($status, "Creation of file at {$dest} succeeded without warnings ({$backendName}).");
         $this->assertEquals(true, $status->isOK(), "Creation of file at {$dest} succeeded ({$backendName}).");
         $this->assertEquals(array(0 => true), $status->success, "Creation of file at {$dest} has proper 'success' field in Status ({$backendName}).");
     } else {
         $this->assertEquals(false, $status->isOK(), "Creation of file at {$dest} failed ({$backendName}).");
     }
     $this->assertEquals(true, $this->backend->fileExists(array('src' => $dest)), "Destination file {$dest} exists after creation ({$backendName}).");
     $props1 = $this->backend->getFileProps(array('src' => $dest));
     $this->assertEquals(true, $props1['fileExists'], "Destination file {$dest} exists according to props ({$backendName}).");
     if ($okStatus) {
         // file content is what we saved
         $this->assertEquals($newSize, $props1['size'], "Destination file {$dest} has expected size according to props ({$backendName}).");
         $this->assertEquals($newSize, $this->backend->getFileSize(array('src' => $dest)), "Destination file {$dest} has correct size ({$backendName}).");
     } else {
         // file content is some other previous text
         $this->assertEquals(strlen($oldText), $props1['size'], "Destination file {$dest} has original size according to props ({$backendName}).");
         $this->assertEquals(strlen($oldText), $this->backend->getFileSize(array('src' => $dest)), "Destination file {$dest} has original size according to props ({$backendName}).");
     }
     $this->assertBackendPathsConsistent(array($dest));
 }
コード例 #2
0
ファイル: FileRepo.php プロジェクト: Tjorriemorrie/app
 /**
  * Get properties of a file with a given virtual URL/storage path.
  * Properties should ultimately be obtained via FSFile::getProps().
  *
  * @param $virtualUrl string
  * @return Array
  */
 public function getFileProps($virtualUrl)
 {
     $path = $this->resolveToStoragePath($virtualUrl);
     return $this->backend->getFileProps(array('src' => $path));
 }