コード例 #1
0
 private function doTestDoQuickOperations()
 {
     $backendName = $this->backendClass();
     $base = self::baseStorePath();
     $files = array("{$base}/unittest-cont1/e/fileA.a", "{$base}/unittest-cont1/e/fileB.a", "{$base}/unittest-cont1/e/fileC.a");
     $createOps = array();
     $purgeOps = array();
     foreach ($files as $path) {
         $status = $this->prepare(array('dir' => dirname($path)));
         $this->assertGoodStatus($status, "Preparing {$path} succeeded without warnings ({$backendName}).");
         $createOps[] = array('op' => 'create', 'dst' => $path, 'content' => mt_rand(0, 50000));
         $copyOps[] = array('op' => 'copy', 'src' => $path, 'dst' => "{$path}-2");
         $moveOps[] = array('op' => 'move', 'src' => "{$path}-2", 'dst' => "{$path}-3");
         $purgeOps[] = array('op' => 'delete', 'src' => $path);
         $purgeOps[] = array('op' => 'delete', 'src' => "{$path}-3");
     }
     $purgeOps[] = array('op' => 'null');
     $this->assertGoodStatus($this->backend->doQuickOperations($createOps), "Creation of source files succeeded ({$backendName}).");
     foreach ($files as $file) {
         $this->assertTrue($this->backend->fileExists(array('src' => $file)), "File {$file} exists.");
     }
     $this->assertGoodStatus($this->backend->doQuickOperations($copyOps), "Quick copy of source files succeeded ({$backendName}).");
     foreach ($files as $file) {
         $this->assertTrue($this->backend->fileExists(array('src' => "{$file}-2")), "File {$file}-2 exists.");
     }
     $this->assertGoodStatus($this->backend->doQuickOperations($moveOps), "Quick move of source files succeeded ({$backendName}).");
     foreach ($files as $file) {
         $this->assertTrue($this->backend->fileExists(array('src' => "{$file}-3")), "File {$file}-3 move in.");
         $this->assertFalse($this->backend->fileExists(array('src' => "{$file}-2")), "File {$file}-2 moved away.");
     }
     $this->assertGoodStatus($this->backend->quickCopy(array('src' => $files[0], 'dst' => $files[0])), "Copy of file {$files[0]} over itself succeeded ({$backendName}).");
     $this->assertTrue($this->backend->fileExists(array('src' => $files[0])), "File {$files[0]} still exists.");
     $this->assertGoodStatus($this->backend->quickMove(array('src' => $files[0], 'dst' => $files[0])), "Move of file {$files[0]} over itself succeeded ({$backendName}).");
     $this->assertTrue($this->backend->fileExists(array('src' => $files[0])), "File {$files[0]} still exists.");
     $this->assertGoodStatus($this->backend->doQuickOperations($purgeOps), "Quick deletion of source files succeeded ({$backendName}).");
     foreach ($files as $file) {
         $this->assertFalse($this->backend->fileExists(array('src' => $file)), "File {$file} purged.");
         $this->assertFalse($this->backend->fileExists(array('src' => "{$file}-3")), "File {$file}-3 purged.");
     }
 }