public function testDeepCloneTriplesItemContent()
 {
     // create a file / put it in item content property
     /** @var \core_kernel_versioning_Repository $repository */
     $repository = \tao_models_classes_FileSourceService::singleton()->addLocalSource("repository test", \tao_helpers_File::createTempDir());
     //see if clone item content works
     /** @var \core_kernel_versioning_File $file */
     $file = $repository->createFile("test.xml", "test");
     mkdir($repository->getPath() . 'test');
     copy(__DIR__ . '/sample/test.xml', $repository->getPath() . 'test/test.xml');
     copy(__DIR__ . '/sample/style.css', $repository->getPath() . 'test/style.css');
     $rdfsTriple = new \core_kernel_classes_Triple();
     $rdfsTriple->predicate = "http://www.tao.lu/Ontologies/TAOItem.rdf#ItemContent";
     $rdfsTriple->object = $file->getUri();
     $fileNameProp = new \core_kernel_classes_Property(PROPERTY_FILE_FILENAME);
     $return = CloneHelper::deepCloneTriples(array($rdfsTriple));
     $this->assertNotEquals($rdfsTriple->object, $return[0]->object);
     $this->assertEquals($rdfsTriple->predicate, $return[0]->predicate);
     $this->assertCount(1, $return);
     $returnedFile = new \core_kernel_versioning_File($return[0]->object);
     $this->assertEquals($returnedFile->getPropertyValues($fileNameProp), $file->getPropertyValues($fileNameProp));
     $this->assertNotEquals($file->getAbsolutePath(), $returnedFile->getAbsolutePath());
     $files = scandir(dirname($returnedFile->getAbsolutePath()));
     $this->assertContains('test.xml', $files);
     $this->assertContains('style.css', $files);
     $file->delete(true);
     $returnedFile->delete(true);
     $repository->delete(true);
 }
 protected static function cloneItemContent($itemContentUri)
 {
     \common_Logger::i('clone itemcontent ' . $itemContentUri);
     $fileNameProp = new core_kernel_classes_Property(PROPERTY_FILE_FILENAME);
     $file = new \core_kernel_versioning_File($itemContentUri);
     $sourceDir = dirname($file->getAbsolutePath());
     $newFile = $file->getRepository()->spawnFile($sourceDir);
     $newFile->editPropertyValues($fileNameProp, $file->getPropertyValues($fileNameProp));
     return $newFile->getUri();
 }