public function test_removeAccess() { $x = new Bitwise(); $pRead = $x->nextBit(); $pWrite = $x->nextBit(); $pExecute = $x->nextBit(); $pDelete = $x->nextBit(); $all = null; $all = $x->addAccess($all, $pRead); $all = $x->addAccess($all, $pWrite); $all = $x->addAccess($all, $pExecute); $all = $x->addAccess($all, $pDelete); //make sure what we did is valid $this->assertEquals($all, $pRead + $pWrite + $pExecute + $pDelete); $noRead = $x->removeAccess($all, $pRead); $this->assertFalse($x->canAccess($noRead, $pRead)); $this->assertTrue($x->canAccess($noRead, $pWrite)); $this->assertTrue($x->canAccess($noRead, $pExecute)); $this->assertTrue($x->canAccess($noRead, $pDelete)); $noReadOrWrite = $x->removeAccess($noRead, $pWrite); $this->assertFalse($x->canAccess($noReadOrWrite, $pWrite)); $this->assertFalse($x->canAccess($noReadOrWrite, $pRead)); $this->assertTrue($x->canAccess($noReadOrWrite, $pExecute)); $this->assertTrue($x->canAccess($noReadOrWrite, $pDelete)); }
public static function canExecute($perm) { return Bitwise::canAccess(intval($perm), self::EXECUTE); }