/** * @param ParserOptions|null $options * @param MonthNameProvider|null $monthNameProvider */ public function __construct(ParserOptions $options = null, MonthNameProvider $monthNameProvider = null) { $this->options = $options ?: new ParserOptions(); $this->monthNameProvider = $monthNameProvider ?: new MediaWikiMonthNameProvider(); $this->options->defaultOption(ValueParser::OPT_LANG, self::CANONICAL_LANGUAGE_CODE); $this->options->defaultOption(YearTimeParser::OPT_DIGIT_GROUP_SEPARATOR, $this->getDigitGroupSeparator()); }
/** * @param ParserOptions|null $options * @param MonthNameProvider|null $monthNameProvider */ public function __construct(ParserOptions $options = null, MonthNameProvider $monthNameProvider = null) { $this->options = $options ?: new ParserOptions(); $this->monthNameProvider = $monthNameProvider ?: new MediaWikiMonthNameProvider(); $this->options->defaultOption(ValueParser::OPT_LANG, self::CANONICAL_LANGUAGE_CODE); }
public function testDefaultOption() { $options = array('foo' => 42, 'bar' => 4.2, 'baz' => array('o_O', false, null, '42' => 42, array())); $parserOptions = new ParserOptions($options); foreach ($options as $option => $value) { $parserOptions->defaultOption($option, 9001); $this->assertEquals(serialize($value), serialize($parserOptions->getOption($option)), 'Defaulting a set option should not affect its value'); } $defaults = array('N' => 42, 'y' => 4.2, 'a' => false, 'n' => array('42' => 42, array(''))); foreach ($defaults as $option => $value) { $parserOptions->defaultOption($option, $value); $this->assertEquals(serialize($value), serialize($parserOptions->getOption($option)), 'Defaulting a not set option should affect its value'); } }
/** * Shortcut to $this->options->defaultOption. * * @since 0.1 * * @param string $option * @param mixed $default */ protected final function defaultOption($option, $default) { $this->options->defaultOption($option, $default); }