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