/**
  * @param array $configs
  */
 public function __construct(array $configs)
 {
     foreach ($configs as $setting => $value) {
         $check = new PhpFlag($setting, $value);
         $check->setLabel(sprintf('PHP flag "%s"', $setting));
         $this->checks[sprintf('php_flag_%s', $setting)] = $check;
     }
 }
예제 #2
0
 public function testPhpFlag()
 {
     // Retrieve a set of settings to test against
     $all = ini_get_all();
     foreach ($all as $name => $valueArray) {
         if ($valueArray['local_value'] == '0') {
             break;
         }
     }
     $check = new PhpFlag($name, false);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Success', $check->check());
     $check = new PhpFlag($name, true);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Failure', $check->check());
     $allFalse = array();
     foreach ($all as $name => $valueArray) {
         if ($valueArray['local_value'] == '0') {
             $allFalse[] = $name;
         }
         if (count($allFalse) == 3) {
             break;
         }
     }
     $check = new PhpFlag($allFalse, false);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Success', $check->check());
     $check = new PhpFlag($allFalse, true);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Failure', $result = $check->check());
     $this->assertStringMatchesFormat('%A' . join(', ', $allFalse) . '%Aenabled%A', $result->getMessage());
     $allFalse = new ArrayObject($allFalse);
     $check = new PhpFlag($allFalse, false);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Success', $check->check());
     $check = new PhpFlag($allFalse, true);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Failure', $check->check());
     $notAllFalse = $allFalse;
     foreach ($all as $name => $valueArray) {
         if ($valueArray['local_value'] == '1') {
             $notAllFalse[] = $name;
             break;
         }
     }
     $check = new PhpFlag($notAllFalse, false);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Failure', $result = $check->check());
     $this->assertStringMatchesFormat("%A{$name}%A", $result->getMessage());
     $check = new PhpFlag($notAllFalse, true);
     $this->assertInstanceOf('ZendDiagnostics\\Result\\Failure', $check->check());
 }