Beispiel #1
0
 public function testConstructionSuccess()
 {
     $optionDependency = new ezcConsoleOption("d", "depend");
     $optionExclusion = new ezcConsoleOption("e", "exclude");
     $ruleDependency = new ezcConsoleOptionRule($optionDependency, array("abc"));
     $ruleExclusion = new ezcConsoleOptionRule($optionExclusion, array("abc"));
     $option = new ezcConsoleOption("a", "aaa", ezcConsoleInput::TYPE_INT, 23, true, "Shorthelp", "Longhelp", array($ruleDependency), array($ruleExclusion), false, true, true);
     $this->assertEquals($option->short, "a");
     $this->assertEquals($option->long, "aaa");
     $this->assertEquals(ezcConsoleInput::TYPE_INT, $option->type);
     $this->assertEquals(23, $option->default);
     $this->assertTrue($option->multiple);
     $this->assertEquals("Shorthelp", $option->shorthelp);
     $this->assertEquals("Longhelp", $option->longhelp);
     $this->assertEquals(array($ruleDependency), $option->getDependencies());
     $this->assertEquals(array($ruleExclusion), $option->getExclusions());
     $this->assertFalse($option->arguments);
     $this->assertTrue($option->mandatory);
     $this->assertTrue($option->isHelpOption);
 }
 /**
  * Validated option exclusions.
  *
  * Validates exclusions by $option.
  *
  * @param ezcConsoleOption $option.
  */
 private function validateExclusions(ezcConsoleOption $option)
 {
     $optSet = $option->value !== false && (!is_array($option->value) || $option->value !== array());
     foreach ($option->getExclusions() as $excl) {
         if ($excl->ifSet === $optSet) {
             $this->validateExclusion($option, $excl);
         }
     }
 }