示例#1
0
    $foo = new nbOption('foo', 'f', nbOption::PARAMETER_REQUIRED, '', 'defaultValue');
    $t->fail('option with mode "nbOption::PARAMETER_REQUIRED" can\'t have default value');
} catch (InvalidArgumentException $e) {
    $t->pass('option with mode "nbOption::PARAMETER_REQUIRED" can\'t have default value');
}
$foo = new nbOption('foo', 'f', nbOption::PARAMETER_OPTIONAL, 'foo description', 'defaultValue');
$t->comment('nbOptionTest - Test if an argument is an array');
$foo = new nbOption('foo', '', nbOption::IS_ARRAY);
$t->is($foo->hasParameter(), false, 'option with array without mode has no parameter');
$foo = new nbOption('foo', '', nbOption::PARAMETER_NONE | nbOption::IS_ARRAY);
$t->is($foo->hasParameter(), false, 'option can be array with no parameter');
$t->is($foo->isArray(), true, 'option can be array with no parameter');
$foo = new nbOption('foo', 'f', nbOption::PARAMETER_OPTIONAL | nbOption::IS_ARRAY, 'foo description');
$t->ok($foo->isArray(), '->isArray() returns true if the argument can be an array');
$foo = new nbOption('foo', 'f', nbOption::PARAMETER_OPTIONAL, 'foo description');
$t->ok(!$foo->isArray(), '->isArray() returns false if the argument cannot be an array');
$foo = new nbOption('foo', 'f', nbOption::PARAMETER_REQUIRED | nbOption::IS_ARRAY, 'foo description');
try {
    $foo->setValue('a value');
    $t->fail('->setValue() must receive an array if option mode is "nbOption::IS_ARRAY"');
} catch (InvalidArgumentException $e) {
    $t->pass('->setValue() must receive an array if option mode is "nbOption::IS_ARRAY"');
}
$foo->setValue(array());
$t->is($foo->getValue(), array(), '->getValue() returns an empty array if option has IS_ARRAY mode');
$foo->setValue(array("val1", "val2", "val3"));
$t->is($foo->getValue(), array("val1", "val2", "val3"), '->setValue() append parameter to value if option has IS_ARRAY mode');
$t->comment('nbOptionTest - Test to string');
$option = new nbOption('foo', '', nbOption::PARAMETER_NONE);
$t->is((string) $option, '[--foo]', '->__toString() returns "[--foo]"');
$option = new nbOption('foo', '', nbOption::PARAMETER_OPTIONAL, '', 'FOO');
示例#2
0
 public function setOption(nbOption $option, $value)
 {
     if ($option->isArray()) {
         $this->optionValues[$option->getName()][] = $value;
     } else {
         $this->optionValues[$option->getName()] = $value;
     }
 }