示例#1
0
文件: Factory.php 项目: cargomedia/cm
 /**
  * @param string      $adapterClassName
  * @param array       $options
  * @param string|null $secondaryClassName
  * @param array|null  $secondaryOptions
  * @return CM_File_Filesystem
  */
 public function createFilesystem($adapterClassName, array $options, $secondaryClassName = null, array $secondaryOptions = null)
 {
     $adapter = $this->createAdapter($adapterClassName, $options);
     $filesystem = new CM_File_Filesystem($adapter);
     if (null !== $secondaryClassName && null !== $secondaryOptions) {
         $secondaryAdapter = $this->createAdapter($secondaryClassName, $secondaryOptions);
         $secondaryFilesystem = new CM_File_Filesystem($secondaryAdapter);
         $filesystem->addSecondary($secondaryFilesystem);
     }
     return $filesystem;
 }
示例#2
0
 public function testEquals()
 {
     $dirTmp = CM_Bootloader::getInstance()->getDirTmp();
     $filesystem1 = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local($dirTmp));
     $filesystem2 = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local($dirTmp));
     $filesystem3 = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local($dirTmp));
     $filesystemSecondary1 = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local($dirTmp . 'sec1'));
     $filesystemSecondary2 = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local($dirTmp . 'sec2'));
     $filesystemSecondary3 = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local($dirTmp . 'sec1'));
     $this->assertTrue($filesystem1->equals($filesystem2));
     $filesystem1->addSecondary($filesystemSecondary1);
     $this->assertFalse($filesystem1->equals($filesystem2));
     $filesystem2->addSecondary($filesystemSecondary1);
     $this->assertTrue($filesystem1->equals($filesystem2));
     $filesystem3->addSecondary($filesystemSecondary2);
     $this->assertFalse($filesystem1->equals($filesystem3));
     $filesystem1->addSecondary($filesystemSecondary1);
     $filesystem2->addSecondary($filesystemSecondary3);
     $this->assertTrue($filesystem1->equals($filesystem2));
     $filesystem1->addSecondary($filesystemSecondary1);
     $filesystem2->addSecondary($filesystemSecondary2);
     $this->assertFalse($filesystem1->equals($filesystem2));
 }