/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Url/Test/Unit/EncoderTest.php
76 строк
2 KB
Manish Ranjan
AC-16248: PHPUnit 12 Upgrade | Fix Framework unit tests
09 янв 2026, 19:35
09 янв 2026, 19:35
de6cafc
Код
Авторство
О чём код?
<?php /** * Copyright 2022 Adobe * All Rights Reserved. */ declare(strict_types=1); namespace Magento\Framework\Url\Test\Unit; use Magento\Framework\Url\Encoder; use PHPUnit\Framework\TestCase; use PHPUnit\Framework\Attributes\DataProvider; class EncoderTest extends TestCase { /** * @var Encoder|null */ private ?Encoder $encoder = null; protected function setUp(): void { parent::setUp(); $this->encoder = new Encoder(); } public function testEncode(): void { $url = 'http://magento2.adobe/encoding'; self::assertEquals('aHR0cDovL21hZ2VudG8yLmFkb2JlL2VuY29kaW5n', $this->encoder->encode($url)); } /** * Equals should be replaced by a non-reserved character. */ public function testEncodeWithEndingSlash(): void { $url = 'http://magento2.adobe/encoding/with/longer/url/'; self::assertEquals( 'aHR0cDovL21hZ2VudG8yLmFkb2JlL2VuY29kaW5nL3dpdGgvbG9uZ2VyL3VybC8~', $this->encoder->encode($url) ); } /** * * @see https://www.rfc-editor.org/rfc/rfc3986.html#section-2.2 */ #[DataProvider('rfc3986Urls')] public function testEncodeNotContainingRfc3986ReservedCharacters(string $url): void { $genDelims = [':', '/', '?', '#', '[', ']', '@']; $subDelims = ['!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=']; $encodedUrl = $this->encoder->encode($url); array_map(static function (string $value) use ($encodedUrl): void { self::assertStringNotContainsString($value, $encodedUrl); }, $genDelims); array_map(static function (string $value) use ($encodedUrl): void { self::assertStringNotContainsString($value, $encodedUrl); }, $subDelims); } public static function rfc3986Urls(): array { return [ ['http://magento2.adobe/encoding/with/longer/url/'], ['http://magento2.adobe/some/other/random/url?currency=eur&price=2'], ['http://magento2.adobe/yet/not/done/url#anchor'] ]; } }