projects
/
irspy-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
e1aa551
)
add more tests for validate_record()
author
Wolfram Schneider
<wosch@indexdata.dk>
Wed, 28 Apr 2010 15:30:22 +0000
(17:30 +0200)
committer
Wolfram Schneider
<wosch@indexdata.dk>
Wed, 28 Apr 2010 15:30:22 +0000
(17:30 +0200)
lib/ZOOM/IRSpy/Utils.pm
patch
|
blob
|
history
diff --git
a/lib/ZOOM/IRSpy/Utils.pm
b/lib/ZOOM/IRSpy/Utils.pm
index
eeffccc
..
856e602
100644
(file)
--- a/
lib/ZOOM/IRSpy/Utils.pm
+++ b/
lib/ZOOM/IRSpy/Utils.pm
@@
-828,7
+828,7
@@
sub validate_record {
my $rec = shift;
my %args = @_;
my $rec = shift;
my %args = @_;
- my %required = map { $_ => 1 } qw/port host database/;
+ my %required = map { $_ => 1 } qw/port host database protocol/;
my %optional = map { $_ => 1 } qw/country type hosturl contact language/;
my %tests = ( %required, %args );
my %optional = map { $_ => 1 } qw/country type hosturl contact language/;
my %tests = ( %required, %args );
@@
-841,18
+841,27
@@
sub validate_record {
my $id = irspy_make_identifier($protocol, $host, $port, $dbname);
my $id = irspy_make_identifier($protocol, $host, $port, $dbname);
+ if ($protocol =~ /\s+$/ || $dbname =~ /\s+$/) {
+ warn "xxx: $protocol:$host:$port:$dbname: whitespaces\n";
+ }
+
my @errors = $id;
my @errors = $id;
+ if ($tests{'protocol'}) {
+ push(@errors, 'protocol number is not valid') if $protocol !~ /^(z39\.50|sru|srw|tcp)$/;
+ }
+
if ($tests{'port'}) {
if ($tests{'port'}) {
- push(@errors, 'This port number is not valid') if $port !~ /^\d+$/;
+ push(@errors, 'port number is not valid') if $port !~ /^\d+$/;
}
if ($tests{'host'}) {
}
if ($tests{'host'}) {
- push(@errors, 'This host name is not valid') if $host !~ /^[0-9a-z]+[0-9a-z\.\-]*\.[0-9a-z]+$/i;
+ push(@errors, 'host name is not valid') if $host !~ /^[0-9a-z]+[0-9a-z\.\-]*\.[0-9a-z]+$/i;
}
if ($tests{'database'}) {
}
if ($tests{'database'}) {
- push(@errors, 'This database name is not valid') if $dbname !~ /^[\w_\-\.]+$/i;
+ push(@errors, 'database name is not valid') if $dbname =~ m,/,i;
+ push(@errors, 'database has trailing spaces') if $dbname ne trimField($dbname);
}
if ($tests{'hosturl'}) {
}
if ($tests{'hosturl'}) {