View | Details | Raw Unified | Return to bug 19463
Collapse All | Expand All

(-)a/t/lib/TestBuilder.pm (-13 / +15 lines)
Lines 4-9 use Modern::Perl; Link Here
4
4
5
use Koha::Database;
5
use Koha::Database;
6
6
7
use Bytes::Random::Secure;
7
use Carp;
8
use Carp;
8
use Module::Load;
9
use Module::Load;
9
use String::Random;
10
use String::Random;
Lines 432-449 sub _gen_datetime { Link Here
432
sub _gen_text {
433
sub _gen_text {
433
    my ($self, $params) = @_;
434
    my ($self, $params) = @_;
434
    # From perldoc String::Random
435
    # From perldoc String::Random
435
    # max: specify the maximum number of characters to return for * and other
436
    my $size = $params->{info}{size} // 10;
436
    # regular expression patters that don't return a fixed number of characters
437
    $size -= alt_rand(0.5 * $size);
437
    my $regex = '[A-Za-z][A-Za-z0-9_]*';
438
    my $regex = $size > 1
438
    my $size = $params->{info}{size};
439
        ? '[A-Za-z][A-Za-z0-9_]{'.($size-1).'}'
439
    if ( defined $size and $size > 1 ) {
440
        : '[A-Za-z]';
440
        $size--;
441
    my $random = String::Random->new( max => $size, rand_gen => \&alt_rand );
441
    } elsif ( defined $size and $size == 1 ) {
442
    return $random->randregex($regex);
442
        $regex = '[A-Za-z]';
443
}
443
    }
444
444
    my $random = String::Random->new( max => $size );
445
sub alt_rand { #Alternative randomizer
445
    my $text = $random->randregex($regex);
446
    my ($max) = @_;
446
    return $text;
447
    my $random = Bytes::Random::Secure->new( NonBlocking => 1 );
448
    my $r = $random->irand / 2**32;
449
    return int( $r * $max );
447
}
450
}
448
451
449
sub _gen_set_enum {
452
sub _gen_set_enum {
450
- 

Return to bug 19463