/** * Renders an option. * * @param BlockLayout $layout The layout. * @param Option $option The option to render. */ protected function renderOption(BlockLayout $layout, Option $option) { $description = $option->getDescription(); $defaultValue = $option->getDefaultValue(); if ($option->isLongNamePreferred()) { $preferredName = '--' . $option->getLongName(); $alternativeName = $option->getShortName() ? '-' . $option->getShortName() : null; } else { $preferredName = '-' . $option->getShortName(); $alternativeName = '--' . $option->getLongName(); } $name = '<c1>' . $preferredName . '</c1>'; if ($alternativeName) { $name .= sprintf(' (%s)', $alternativeName); } if ($option->acceptsValue() && null !== $defaultValue && (!is_array($defaultValue) || count($defaultValue))) { $description .= sprintf(' <b>(default: %s)</b>', $this->formatValue($defaultValue)); } if ($option->isMultiValued()) { $description .= ' <b>(multiple values allowed)</b>'; } $layout->add(new LabeledParagraph($name, $description)); }
public function testPreferShortName() { $option = new Option('option', 'o', Option::PREFER_SHORT_NAME); $this->assertFalse($option->isLongNamePreferred()); $this->assertTrue($option->isShortNamePreferred()); }