/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Shell/Test/Unit/ComplexParameterTest.php
65 строк
2 KB
Manish Ranjan
AC-16248: PHPUnit 12 Upgrade | Fix Framework unit tests
09 янв 2026, 19:35
09 янв 2026, 19:35
de6cafc
Код
Авторство
О чём код?
<?php /** * Copyright 2015 Adobe * All Rights Reserved. */ declare(strict_types=1); namespace Magento\Framework\Shell\Test\Unit; use Magento\Framework\Shell\ComplexParameter; use PHPUnit\Framework\TestCase; use PHPUnit\Framework\Attributes\DataProvider; class ComplexParameterTest extends TestCase { public function testGetFromArray() { $object = new ComplexParameter('baz'); $this->assertSame([], $object->getFromArray(['--foo', '--bar'])); $this->assertSame([], $object->getFromArray(['--foo', '--bar', '--baz'])); $this->assertSame([1 => ''], $object->getFromArray(['--foo', '--bar', '--baz=1'])); } /** * @param string $str * @param array $expected */ #[DataProvider('getFromStringDataProvider')] public function testGetFromString($str, $expected) { $object = new ComplexParameter('foo'); $this->assertSame($expected, $object->getFromString($str)); } /** * @return array */ public static function getFromStringDataProvider() { return [ ['--not-matching', []], ['--foo', []], ['--foo=', []], ['--foo=1', [1 => '']], ['--foo=bar=1&baz=2', ['bar' => '1', 'baz' => '2']], ['--foo=bar[1]=2&baz[3]=4', ['bar' => [1 => '2'], 'baz' => [3 => '4']]], ['--foo=bar[one]=value1&bar[two]=value2', ['bar' => ['one' => 'value1', 'two' => 'value2']]], ]; } public function testPattern() { $object = new ComplexParameter('f', '/^-%s=(bar|baz)$/'); $this->assertSame([], $object->getFromString('-f=1')); $this->assertSame(['bar' => ''], $object->getFromString('-f=bar')); $this->assertSame(['baz' => ''], $object->getFromString('-f=baz')); } public function testMergeFromArgv() { $object = new ComplexParameter('foo'); $server = ['argv' => ['--foo=bar=value1', '--nonfoo=value2']]; $into = ['baz' => 'value3']; $this->assertSame(['baz' => 'value3', 'bar' => 'value1'], $object->mergeFromArgv($server, $into)); } }