Exemplo n.º 1
0
 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));
 }
Exemplo n.º 2
0
 public static function canExecute($perm)
 {
     return Bitwise::canAccess(intval($perm), self::EXECUTE);
 }