function testParseArgs() { $m2 = new MaintenanceFixup($this); // Create an option with an argument allowed to be specified multiple times $m2->addOption('multi', 'This option does stuff', false, true, false, true); $m2->loadWithArgv(['--multi', 'this1', '--multi', 'this2']); $this->assertEquals(['this1', 'this2'], $m2->getOption('multi')); $this->assertEquals([['multi', 'this1'], ['multi', 'this2']], $m2->orderedOptions); $m2->simulateShutdown(); $m2 = new MaintenanceFixup($this); $m2->addOption('multi', 'This option does stuff', false, false, false, true); $m2->loadWithArgv(['--multi', '--multi']); $this->assertEquals([1, 1], $m2->getOption('multi')); $this->assertEquals([['multi', 1], ['multi', 1]], $m2->orderedOptions); $m2->simulateShutdown(); $m2 = new MaintenanceFixup($this); // Create an option with an argument allowed to be specified multiple times $m2->addOption('multi', 'This option doesn\'t actually support multiple occurrences'); $m2->loadWithArgv(['--multi=yo']); $this->assertEquals('yo', $m2->getOption('multi')); $this->assertEquals([['multi', 'yo']], $m2->orderedOptions); $m2->simulateShutdown(); }