diff options
Diffstat (limited to 'vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php')
-rw-r--r-- | vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php b/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php new file mode 100644 index 000000000..ed19f336f --- /dev/null +++ b/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php @@ -0,0 +1,49 @@ +<?php +use \ParagonIE\ConstantTime\Base32Hex; + +class Base32HexTest extends PHPUnit\Framework\TestCase +{ + /** + * @covers Base32Hex::encode() + * @covers Base32Hex::decode() + * @covers Base32Hex::encodeUpper() + * @covers Base32Hex::decodeUpper() + */ + public function testRandom() + { + for ($i = 1; $i < 32; ++$i) { + for ($j = 0; $j < 50; ++$j) { + $random = \random_bytes($i); + + $enc = Base32Hex::encode($random); + $this->assertSame( + $random, + Base32Hex::decode($enc) + ); + $unpadded = \rtrim($enc, '='); + $this->assertSame( + $unpadded, + Base32Hex::encodeUnpadded($random) + ); + $this->assertSame( + $random, + Base32Hex::decode($unpadded) + ); + + $enc = Base32Hex::encodeUpper($random); + $this->assertSame( + $random, + Base32Hex::decodeUpper($enc) + ); $unpadded = \rtrim($enc, '='); + $this->assertSame( + $unpadded, + Base32Hex::encodeUpperUnpadded($random) + ); + $this->assertSame( + $random, + Base32Hex::decodeUpper($unpadded) + ); + } + } + } +} |