blob: 183161a58e266dca8087e62ebf8119ddd8bf5e64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!perl
use strict;
use warnings;
use Crypt::RandPasswd;
use Test::More 0.88 tests => 20;
my $word;
my $length;
my $min_length;
my $max_length;
my @chars;
my $char;
my $regexp;
for ($length = 10; $length < 20; $length++) {
$word = Crypt::RandPasswd->chars($length, $length);
ok(length($word) == $length && valid_chars($word),
"create random letter string of length $length");
}
for ($min_length = 5; $min_length < 15; $min_length++) {
$max_length = $min_length + 5;
$word = Crypt::RandPasswd->chars($min_length, $max_length);
ok(length($word) >= $min_length && length($word) <= $max_length && valid_chars($word),
"create random letter string of length $min_length .. $max_length");
}
sub valid_chars
{
my $word = shift;
foreach my $char (split('', $word)) {
return 0 if ord($char) < ord('!') || ord($char) > ord('~');
}
return 1;
}
|