1<?php 2 3/** 4 * @group GlobalFunctions 5 * @covers ::wfEscapeShellArg 6 */ 7class WfEscapeShellArgTest extends MediaWikiUnitTestCase { 8 public function testSingleInput() { 9 if ( wfIsWindows() ) { 10 $expected = '"blah"'; 11 } else { 12 $expected = "'blah'"; 13 } 14 15 $actual = wfEscapeShellArg( 'blah' ); 16 17 $this->assertEquals( $expected, $actual ); 18 } 19 20 public function testMultipleArgs() { 21 if ( wfIsWindows() ) { 22 $expected = '"foo" "bar" "baz"'; 23 } else { 24 $expected = "'foo' 'bar' 'baz'"; 25 } 26 27 $actual = wfEscapeShellArg( 'foo', 'bar', 'baz' ); 28 29 $this->assertEquals( $expected, $actual ); 30 } 31 32 public function testMultipleArgsAsArray() { 33 if ( wfIsWindows() ) { 34 $expected = '"foo" "bar" "baz"'; 35 } else { 36 $expected = "'foo' 'bar' 'baz'"; 37 } 38 39 $actual = wfEscapeShellArg( [ 'foo', 'bar', 'baz' ] ); 40 41 $this->assertEquals( $expected, $actual ); 42 } 43} 44