Viewing file: Base64UrlSafeTest.php (1.51 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
use ParagonIE\ConstantTime\Base64UrlSafe; use ParagonIE\ConstantTime\Binary;
/** * Class Base64UrlSafeTest */ class Base64UrlSafeTest extends PHPUnit\Framework\TestCase { /** * @covers Base64UrlSafe::encode() * @covers Base64UrlSafe::decode() * * @throws Exception * @throws TypeError */ public function testRandom() { for ($i = 1; $i < 32; ++$i) { for ($j = 0; $j < 50; ++$j) { $random = \random_bytes($i);
$enc = Base64UrlSafe::encode($random); $this->assertSame( $random, Base64UrlSafe::decode($enc) ); $this->assertSame( \strtr(\base64_encode($random), '+/', '-_'), $enc );
$unpadded = \rtrim($enc, '='); $this->assertSame( $unpadded, Base64UrlSafe::encodeUnpadded($random) ); $this->assertSame( $random, Base64UrlSafe::decode($unpadded) ); } }
$random = \random_bytes(1 << 20); $enc = Base64UrlSafe::encode($random); $this->assertTrue(Binary::safeStrlen($enc) > 65536); $this->assertSame( $random, Base64UrlSafe::decode($enc) ); $this->assertSame( \strtr(\base64_encode($random), '+/', '-_'), $enc ); } }
|