コード例 #1
0
 private function doTestGetLocalCopy($source, $content)
 {
     $backendName = $this->backendClass();
     $srcs = (array) $source;
     $content = (array) $content;
     foreach ($srcs as $i => $src) {
         $this->prepare(array('dir' => dirname($src)));
         $status = $this->backend->doOperation(array('op' => 'create', 'content' => $content[$i], 'dst' => $src));
         $this->assertGoodStatus($status, "Creation of file at {$src} succeeded ({$backendName}).");
     }
     if (is_array($source)) {
         $tmpFiles = $this->backend->getLocalCopyMulti(array('srcs' => $source));
         foreach ($tmpFiles as $path => $tmpFile) {
             $this->assertNotNull($tmpFile, "Creation of local copy of {$path} succeeded ({$backendName}).");
             $contents = file_get_contents($tmpFile->getPath());
             $this->assertNotEquals(false, $contents, "Local copy of {$path} exists ({$backendName}).");
             $this->assertEquals(current($content), $contents, "Local copy of {$path} is correct ({$backendName}).");
             next($content);
         }
         $this->assertEquals($source, array_keys($tmpFiles), "Local copies in right order ({$backendName}).");
         $this->assertEquals(count($source), count($tmpFiles), "Local copies array size correct ({$backendName}).");
     } else {
         $tmpFile = $this->backend->getLocalCopy(array('src' => $source));
         $this->assertNotNull($tmpFile, "Creation of local copy of {$source} succeeded ({$backendName}).");
         $contents = file_get_contents($tmpFile->getPath());
         $this->assertNotEquals(false, $contents, "Local copy of {$source} exists ({$backendName}).");
         $this->assertEquals($content[0], $contents, "Local copy of {$source} is correct ({$backendName}).");
     }
     $obj = new stdClass();
     $tmpFile->bind($obj);
 }