$t->is($definition->getOptions(), array('bar' => $bar), '->setOptions() clears all InputOption objects'); try { $definition->getOptionForShortcut('f'); $t->fail('->setOptions() clears all InputOption objects'); } catch (\Exception $e) { $t->pass('->setOptions() clears all InputOption objects'); } // ->addOptions() $t->diag('->addOptions()'); $definition = new InputDefinition(array($foo)); $t->is($definition->getOptions(), array('foo' => $foo), '->addOptions() adds an array of InputOption objects'); $definition->addOptions(array($bar)); $t->is($definition->getOptions(), array('foo' => $foo, 'bar' => $bar), '->addOptions() does not clear existing InputOption objects'); // ->addOption() $t->diag('->addOption()'); $definition = new InputDefinition(); $definition->addOption($foo); $t->is($definition->getOptions(), array('foo' => $foo), '->addOption() adds a InputOption object'); $definition->addOption($bar); $t->is($definition->getOptions(), array('foo' => $foo, 'bar' => $bar), '->addOption() adds a InputOption object'); try { $definition->addOption($foo2); $t->fail('->addOption() throws a Exception if the another option is already registered with the same name'); } catch (\Exception $e)
public function testAddOptions() { $this->initializeOptions(); $definition = new InputDefinition(array($this->foo)); $this->assertEquals($definition->getOptions(), array('foo' => $this->foo), '->addOptions() adds an array of InputOption objects'); $definition->addOptions(array($this->bar)); $this->assertEquals($definition->getOptions(), array('foo' => $this->foo, 'bar' => $this->bar), '->addOptions() does not clear existing InputOption objects'); }