Code Duplication    Length = 17-23 lines in 3 locations

tests/PseudoRandomString/McryptPseudoRandomStringGeneratorTest.php 1 location

@@ 28-44 (lines=17) @@
25
26
use Facebook\PseudoRandomString\McryptPseudoRandomStringGenerator;
27
28
class McryptPseudoRandomStringGeneratorTest extends \PHPUnit_Framework_TestCase
29
{
30
    public function testCanGenerateRandomStringOfArbitraryLength()
31
    {
32
        if (!function_exists('mcrypt_create_iv')) {
33
            $this->markTestSkipped(
34
                'Mcrypt must be installed to test mcrypt_create_iv().'
35
            );
36
        }
37
38
        $prsg = new McryptPseudoRandomStringGenerator();
39
        $randomString = $prsg->getPseudoRandomString(10);
40
41
        $this->assertEquals(1, preg_match('/^([0-9a-f]+)$/', $randomString));
42
        $this->assertEquals(10, mb_strlen($randomString));
43
    }
44
}
45

tests/PseudoRandomString/OpenSslPseudoRandomStringGeneratorTest.php 1 location

@@ 28-44 (lines=17) @@
25
26
use Facebook\PseudoRandomString\OpenSslPseudoRandomStringGenerator;
27
28
class OpenSslPseudoRandomStringGeneratorTest extends \PHPUnit_Framework_TestCase
29
{
30
    public function testCanGenerateRandomStringOfArbitraryLength()
31
    {
32
        if (!function_exists('openssl_random_pseudo_bytes')) {
33
            $this->markTestSkipped(
34
                'The OpenSSL extension must be enabled to test openssl_random_pseudo_bytes().'
35
            );
36
        }
37
38
        $prsg = new OpenSslPseudoRandomStringGenerator();
39
        $randomString = $prsg->getPseudoRandomString(10);
40
41
        $this->assertEquals(1, preg_match('/^([0-9a-f]+)$/', $randomString));
42
        $this->assertEquals(10, mb_strlen($randomString));
43
    }
44
}
45

tests/PseudoRandomString/UrandomPseudoRandomStringGeneratorTest.php 1 location

@@ 28-50 (lines=23) @@
25
26
use Facebook\PseudoRandomString\UrandomPseudoRandomStringGenerator;
27
28
class UrandomPseudoRandomStringGeneratorTest extends \PHPUnit_Framework_TestCase
29
{
30
    public function testCanGenerateRandomStringOfArbitraryLength()
31
    {
32
        if (ini_get('open_basedir')) {
33
            $this->markTestSkipped(
34
                'Cannot test /dev/urandom generator due to open_basedir constraint.'
35
            );
36
        }
37
38
        if (!is_readable('/dev/urandom')) {
39
            $this->markTestSkipped(
40
                '/dev/urandom not found or is not readable.'
41
            );
42
        }
43
44
        $prsg = new UrandomPseudoRandomStringGenerator();
45
        $randomString = $prsg->getPseudoRandomString(10);
46
47
        $this->assertEquals(1, preg_match('/^([0-9a-f]+)$/', $randomString));
48
        $this->assertEquals(10, mb_strlen($randomString));
49
    }
50
}
51