示例#1
0
 /**
  * testPermission method
  *
  * @return void
  */
 public function testPermission()
 {
     $this->skipIf(DS === '\\', 'File permissions tests not supported on Windows.');
     $dir = TMP . 'tests' . DS . 'permissions' . DS;
     $old = umask();
     umask(02);
     $file = $dir . 'permission_' . uniqid();
     $expecting = decoct(0664 & ~umask());
     $File = new File($file, true);
     $result = $File->perms();
     $this->assertEquals($expecting, $result);
     $File->delete();
     umask(022);
     $file = $dir . 'permission_' . uniqid();
     $expecting = decoct(0644 & ~umask());
     $File = new File($file, true);
     $result = $File->perms();
     $this->assertEquals($expecting, $result);
     $File->delete();
     umask(0422);
     $file = $dir . 'permission_' . uniqid();
     $expecting = decoct(0244 & ~umask());
     $File = new File($file, true);
     $result = $File->perms();
     $this->assertEquals($expecting, $result);
     $File->delete();
     umask(0444);
     $file = $dir . 'permission_' . uniqid();
     $expecting = decoct(0222 & ~umask());
     $File = new File($file, true);
     $result = $File->perms();
     $this->assertEquals($expecting, $result);
     $File->delete();
     umask($old);
 }