1<?php 2 3/* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Symfony\Component\Process\Tests; 13 14use PHPUnit\Framework\TestCase; 15use Symfony\Component\Process\ProcessUtils; 16 17/** 18 * @group legacy 19 */ 20class ProcessUtilsTest extends TestCase 21{ 22 /** 23 * @dataProvider dataArguments 24 */ 25 public function testEscapeArgument($result, $argument) 26 { 27 $this->assertSame($result, ProcessUtils::escapeArgument($argument)); 28 } 29 30 public function dataArguments() 31 { 32 if ('\\' === \DIRECTORY_SEPARATOR) { 33 return [ 34 ['"\"php\" \"-v\""', '"php" "-v"'], 35 ['"foo bar"', 'foo bar'], 36 ['^%"path"^%', '%path%'], 37 ['"<|>\\" \\"\'f"', '<|>" "\'f'], 38 ['""', ''], 39 ['"with\trailingbs\\\\"', 'with\trailingbs\\'], 40 ]; 41 } 42 43 return [ 44 ["'\"php\" \"-v\"'", '"php" "-v"'], 45 ["'foo bar'", 'foo bar'], 46 ["'%path%'", '%path%'], 47 ["'<|>\" \"'\\''f'", '<|>" "\'f'], 48 ["''", ''], 49 ["'with\\trailingbs\\'", 'with\trailingbs\\'], 50 ["'withNonAsciiAccentLikeéÉèÈàÀöä'", 'withNonAsciiAccentLikeéÉèÈàÀöä'], 51 ]; 52 } 53} 54