| Server IP : 127.0.1.1 / Your IP : 216.73.216.152 Web Server : Apache/2.4.52 (Ubuntu) System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/bahcrestline/core/vendor/phpunit/phpunit/tests/unit/Util/ |
Upload File : |
<?php declare(strict_types=1);
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Util;
use PHPUnit\Framework\Exception;
use PHPUnit\Framework\TestCase;
/**
* @small
*/
final class GetoptTest extends TestCase
{
public function testItIncludeTheLongOptionsAfterTheArgument(): void
{
$args = [
'command',
'myArgument',
'--colors',
];
$actual = Getopt::getopt($args, '', ['colors==']);
$expected = [
[
[
'--colors',
null,
],
],
[
'myArgument',
],
];
$this->assertEquals($expected, $actual);
}
public function testItIncludeTheShortOptionsAfterTheArgument(): void
{
$args = [
'command',
'myArgument',
'-v',
];
$actual = Getopt::getopt($args, 'v');
$expected = [
[
[
'v',
null,
],
],
[
'myArgument',
],
];
$this->assertEquals($expected, $actual);
}
public function testShortOptionUnrecognizedException(): void
{
$args = [
'command',
'myArgument',
'-v',
];
$this->expectException(Exception::class);
$this->expectExceptionMessage('unrecognized option -- v');
Getopt::getopt($args, '');
}
public function testShortOptionRequiresAnArgumentException(): void
{
$args = [
'command',
'myArgument',
'-f',
];
$this->expectException(Exception::class);
$this->expectExceptionMessage('option requires an argument -- f');
Getopt::getopt($args, 'f:');
}
public function testShortOptionHandleAnOptionalValue(): void
{
$args = [
'command',
'myArgument',
'-f',
];
$actual = Getopt::getopt($args, 'f::');
$expected = [
[
[
'f',
null,
],
],
[
'myArgument',
],
];
$this->assertEquals($expected, $actual);
}
public function testLongOptionIsAmbiguousException(): void
{
$args = [
'command',
'--col',
];
$this->expectException(Exception::class);
$this->expectExceptionMessage('option --col is ambiguous');
Getopt::getopt($args, '', ['columns', 'colors']);
}
public function testLongOptionUnrecognizedException(): void
{
// the exception 'unrecognized option --option' is not thrown
// if the there are not defined extended options
$args = [
'command',
'--foo',
];
$this->expectException(Exception::class);
$this->expectExceptionMessage('unrecognized option --foo');
Getopt::getopt($args, '', ['colors']);
}
public function testLongOptionRequiresAnArgumentException(): void
{
$args = [
'command',
'--foo',
];
$this->expectException(Exception::class);
$this->expectExceptionMessage('option --foo requires an argument');
Getopt::getopt($args, '', ['foo=']);
}
public function testLongOptionDoesNotAllowAnArgumentException(): void
{
$args = [
'command',
'--foo=bar',
];
$this->expectException(Exception::class);
$this->expectExceptionMessage("option --foo doesn't allow an argument");
Getopt::getopt($args, '', ['foo']);
}
public function testItHandlesLongParametesWithValues(): void
{
$command = 'command parameter-0 --exec parameter-1 --conf config.xml --optn parameter-2 --optn=content-of-o parameter-n';
$args = \explode(' ', $command);
unset($args[0]);
$expected = [
[
['--exec', null],
['--conf', 'config.xml'],
['--optn', null],
['--optn', 'content-of-o'],
],
[
'parameter-0',
'parameter-1',
'parameter-2',
'parameter-n',
],
];
$actual = Getopt::getopt($args, '', ['exec', 'conf=', 'optn==']);
$this->assertEquals($expected, $actual);
}
public function testItHandlesShortParametesWithValues(): void
{
$command = 'command parameter-0 -x parameter-1 -c config.xml -o parameter-2 -ocontent-of-o parameter-n';
$args = \explode(' ', $command);
unset($args[0]);
$expected = [
[
['x', null],
['c', 'config.xml'],
['o', null],
['o', 'content-of-o'],
],
[
'parameter-0',
'parameter-1',
'parameter-2',
'parameter-n',
],
];
$actual = Getopt::getopt($args, 'xc:o::');
$this->assertEquals($expected, $actual);
}
}