public function testThatAdditionalArgumentsCanBeExtractedAsSpaceSeparatedString() { $svnNumber = new SvnNumber(array("svn-number.php", "status", "-x", "--ignore-whitespace"), $this->getBashCommandMock()); $this->assertSame("-x --ignore-whitespace", $svnNumber->getAdditionalArgsStr()); }
} else { exit($status->getOutput(null)); } } if (in_array($svnNumber->getAction(), array("commit-staged", "stage", "stage-all", "unstage", "unstage-all"))) { switch ($svnNumber->getAction()) { case "commit-staged": $stagedFilePaths = $staging->getStagedFilePaths(); $status = new Status($svnNumber, $staging); $commitingFilePaths = array(); foreach ($status->getLines() as $line) { if (in_array($line->getFilePath(), $stagedFilePaths)) { $commitingFilePaths[] = escapeshellarg($line->getFilePath()); } } $svnNumber->exec(sprintf("svn commit %s %s", implode(" ", $commitingFilePaths), $svnNumber->getAdditionalArgsStr())); $staging->clear()->save(); $status = new Status($svnNumber, $staging); exit(printStatus($status, true)); case "stage": if ($svnNumber->hasRequestedNumbers()) { $status = new Status($svnNumber, $staging); $lines = array_intersect_key($status->getLines(), array_flip($svnNumber->getRequestedNumbers())); foreach ($lines as $line) { echo "Staged file: " . $line->getFilePath() . PHP_EOL; $staging->addLine($line); } $staging->save(); exit(printStatus($status, true)); } else { throw new \InvalidArgumentException("Command 'svn-number stage #' requires at least one number");