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