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); }