<?php use \ParagonIE\ConstantTime\Base32; class Base32Test extends PHPUnit\Framework\TestCase { /** * @covers Base32::encode() * @covers Base32::decode() * @covers Base32::encodeUpper() * @covers Base32::decodeUpper() */ public function testRandom() { for ($i = 1; $i < 32; ++$i) { for ($j = 0; $j < 50; ++$j) { $random = \random_bytes($i); $enc = Base32::encode($random); $this->assertSame( $random, Base32::decode($enc) ); $unpadded = \rtrim($enc, '='); $this->assertSame( $unpadded, Base32::encodeUnpadded($random) ); $this->assertSame( $random, Base32::decode($unpadded) ); $enc = Base32::encodeUpper($random); $this->assertSame( $random, Base32::decodeUpper($enc) ); $unpadded = \rtrim($enc, '='); $this->assertSame( $unpadded, Base32::encodeUpperUnpadded($random) ); $this->assertSame( $random, Base32::decodeUpper($unpadded) ); } } } }