diff options
author | Scott <scott@paragonie.com> | 2016-03-12 17:39:28 -0500 |
---|---|---|
committer | Scott <scott@paragonie.com> | 2016-03-12 17:39:28 -0500 |
commit | 6709366e81deae25c770e52211e04e2afc88d01c (patch) | |
tree | 709b5b168bf5a686d24a68b0c5ff7020a573cf9d /tests | |
parent | 0ed01f67e5a3837f3e8b52c2072127d429b3459a (diff) | |
download | constant_time_encoding-6709366e81deae25c770e52211e04e2afc88d01c.zip constant_time_encoding-6709366e81deae25c770e52211e04e2afc88d01c.tar.gz constant_time_encoding-6709366e81deae25c770e52211e04e2afc88d01c.tar.bz2 |
Add Base32Hex, completing RFC 4648 coverage.v0.3.0
Diffstat (limited to 'tests')
-rw-r--r-- | tests/EncodingTest.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/EncodingTest.php b/tests/EncodingTest.php index 9216e8b..e62b082 100644 --- a/tests/EncodingTest.php +++ b/tests/EncodingTest.php @@ -1,5 +1,11 @@ <?php +use \ParagonIE\ConstantTime\Base32; +use \ParagonIE\ConstantTime\Base32Hex; +use \ParagonIE\ConstantTime\Base64; +use \ParagonIE\ConstantTime\Base64DotSlash; +use \ParagonIE\ConstantTime\Base64DotSlashOrdered; use \ParagonIE\ConstantTime\Encoding; +use \ParagonIE\ConstantTime\Hex; class EncodingTest extends PHPUnit_Framework_TestCase { @@ -70,6 +76,41 @@ class EncodingTest extends PHPUnit_Framework_TestCase '22222222' ); } + + public function testBase32Hex() + { + $this->assertEquals( + Base32Hex::encode("\x00"), + '00======' + ); + $this->assertEquals( + Base32Hex::encode("\x00\x00"), + '0000====' + ); + $this->assertEquals( + Base32Hex::encode("\x00\x00\x00"), + '00000===' + ); + $this->assertEquals( + Base32Hex::encode("\x00\x00\x00\x00"), + '0000000=' + ); + $this->assertEquals( + Base32Hex::encode("\x00\x00\x00\x00\x00"), + '00000000' + ); + $this->assertEquals( + Base32Hex::encode("\x00\x00\x0F\xFF\xFF"), + '0000VVVV' + ); + $this->assertEquals( + Base32Hex::encode("\xFF\xFF\xF0\x00\x00"), + 'VVVV0000' + ); + + + } + /** * Based on test vectors from RFC 4648 */ @@ -186,6 +227,13 @@ class EncodingTest extends PHPUnit_Framework_TestCase "Base32 Encoding - Length: " . $i ); + $enc = Encoding::base32HexEncode($rand); + $this->assertEquals( + bin2hex($rand), + bin2hex(Encoding::base32HexDecode($enc)), + "Base32 Encoding - Length: " . $i + ); + $enc = Encoding::base64Encode($rand); $this->assertEquals( $rand, |