public function testUserPermissionsAreCalculatedCorrectly() { $file = new File('file'); $file->chown($this->uid); $ph = new PermissionHelper(); $ph->setNode($file); $file->chmod(00); $this->assertFalse($ph->userCanRead(), 'User can\'t read with 0000'); $this->assertFalse($ph->userCanWrite(), 'User can\'t write with 0000'); $file->chmod(0100); $this->assertFalse($ph->userCanRead(), 'User can\'t read with 0100'); $this->assertFalse($ph->userCanWrite(), 'User can\'t write with 0100'); $file->chmod(0200); $this->assertFalse($ph->userCanRead(), 'User can\'t read with 0200'); $this->assertTrue($ph->userCanWrite(), 'User can write with 0200'); $file->chmod(0400); $this->assertTrue($ph->userCanRead(), 'User can read with 0400'); $this->assertFalse($ph->userCanWrite(), 'User can\'t write with 0400'); $file->chmod(0500); $this->assertTrue($ph->userCanRead(), 'User can read with 0500'); $this->assertFalse($ph->userCanWrite(), 'User can\'t write with 0500'); $file->chmod(0600); $this->assertTrue($ph->userCanRead(), 'User can read with 0600'); $this->assertTrue($ph->userCanWrite(), 'User can read with 0600'); $file->chown(1); $file->chmod(0666); $this->assertFalse($ph->userCanRead(), 'User can\'t read without ownership'); $this->assertFalse($ph->userCanWrite(), 'User can\'t without ownership'); }