public function testEscapedStrings()
 {
     $params = new CommandParams('"foo bar" "baz fu" \'bar baz\'');
     $this->assertEquals(['foo bar', 'baz fu', "'bar", "baz'"], $params->getArguments());
     $this->assertSame('foo bar', $params->getFirstArgument());
     $this->assertSame('baz fu', $params->getSecondArgument());
     $this->assertSame("'bar", $params->getThirdArgument());
     $this->assertSame('foo bar', $params->getArgument(0));
     $this->assertSame('baz fu', $params->getArgument(1));
     $this->assertSame("'bar", $params->getArgument(2));
     $this->assertSame("baz'", $params->getArgument(3));
 }
Exemple #2
0
 /**
  * @param string        $contents
  * @param CommandParams $params
  * @param string        $fileName
  *
  * @return string
  *
  * @throws ExecutionFailedException
  */
 private function findFunction($contents, CommandParams $params, $fileName)
 {
     $functionName = $params->getArgument(2);
     $result = $this->parser->parse($contents);
     if (!$result->hasFunction($functionName)) {
         throw new ExecutionFailedException("Function '{$functionName}' was not found in file '{$fileName}'.");
     }
     return $this->wrapLines($result->getFunction($functionName)->getSource());
 }