diff options
Diffstat (limited to 'tests/phpunit/includes/GlobalFunctions/wfEscapeShellArgTest.php')
-rw-r--r-- | tests/phpunit/includes/GlobalFunctions/wfEscapeShellArgTest.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/phpunit/includes/GlobalFunctions/wfEscapeShellArgTest.php b/tests/phpunit/includes/GlobalFunctions/wfEscapeShellArgTest.php new file mode 100644 index 00000000..cb334d2f --- /dev/null +++ b/tests/phpunit/includes/GlobalFunctions/wfEscapeShellArgTest.php @@ -0,0 +1,43 @@ +<?php + +/** + * @group GlobalFunctions + * @covers ::wfEscapeShellArg + */ +class wfEscapeShellArgTest extends MediaWikiTestCase { + public function testSingleInput() { + if ( wfIsWindows() ) { + $expected = '"blah"'; + } else { + $expected = "'blah'"; + } + + $actual = wfEscapeShellArg( 'blah' ); + + $this->assertEquals( $expected, $actual ); + } + + public function testMultipleArgs() { + if ( wfIsWindows() ) { + $expected = '"foo" "bar" "baz"'; + } else { + $expected = "'foo' 'bar' 'baz'"; + } + + $actual = wfEscapeShellArg( 'foo', 'bar', 'baz' ); + + $this->assertEquals( $expected, $actual ); + } + + public function testMultipleArgsAsArray() { + if ( wfIsWindows() ) { + $expected = '"foo" "bar" "baz"'; + } else { + $expected = "'foo' 'bar' 'baz'"; + } + + $actual = wfEscapeShellArg( array( 'foo', 'bar', 'baz' ) ); + + $this->assertEquals( $expected, $actual ); + } +} |