Browse Source

Add some tests for valid+invalid zaddrs and fix our broken regex

master
Jonathan "Duke" Leto 7 years ago
parent
commit
9f218568f3
  1. 12
      lib/Hush/Util.pm
  2. 40
      t/util.t

12
lib/Hush/Util.pm

@ -9,7 +9,7 @@ our @EXPORT_OK = qw/
/;
use Time::HiRes qw/gettimeofday tv_interval/;
sub now { [gettimeofday] }
sub now { [gettimeofday] }
sub barf { die longmess(@_); }
sub timing {
@ -18,9 +18,15 @@ sub timing {
}
sub is_valid_zaddr {
my ($zaddr) = @_;
my ($z) = @_;
#warn "zaddr=$z";
# TODO: only base58 is valid
return ($zaddr =~ m/^zc[A-z0-9]{94,94}$/) ? 1 : 0;
if ($z =~ m/^zc[a-z0-9]{93}$/i) {
return $z;
} else {
return 0;
}
}

40
t/util.t

@ -0,0 +1,40 @@
#!/usr/bin/env perl
use strict;
use warnings;
use Test::Most;
use Hush::Util qw/is_valid_zaddr/;
my @INVALID = qw(
notevenCLOSE
2340592304958302498503495034985
zcTOOSHORT
.zcDukeLetoLDNV3JBGjHuShDavMoNizUSD4REKTznF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFi
zbDukeLetoLDNV3JBGjHuShDavMoNizUSD4REKTznF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFi
SKOoooops
zcDukeLetoLDNV3JBGjHuShDavMoNizUSD4REKTznF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFi
zcDukeLetoLDNV3JBGjHuShDavMoNizUSD=REKTznF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFi4
zcDukeLetoLDNV3JBGjHuShDavMoNizUSD4REKTznF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFi4z
zcDuïueLeoLDNV3JBGjHuShDavMoNiUQb3WnF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFiKwjLOL
);
my @VALID = qw(
zcDukeLetoLDNV3JBGjHuShDavMoNiUQb3WnF86ftU42YroUuz6A8UP6GvFeme6k2Bk4RH1MXnZ3L8ajsDQ6SsAFiKwjLOL
zcUUFRCsiA1zhsbBsWiHuShcfntcqT5Fh6xZ65LhYnoyjZkSnArKs4l1f3cxrunvjM3auSavjrNGoHCxMnjF6oTdeadbee9
zcKKpEmq9ZvRdfjEK7BHuSh1f8bjjA59CKEcD8oEcDvRqZkSnArKs4l1f3VzhDbvogbwvc3sGv9ZhXB8AuoTau7deadbeeF
zce8Y2LMuxiXXgDos9uHuShgWHLQxjDShFwJAaKRCJw5TZkSnArKs4l1f35dbwubfZiYJsNawnjp8tuewUSDREKTeadbees
zcL1SAEnmriuZTuWnRDHuShavv7krfqHEa54kJfhLywRqZkSnArKs4l1f3SfKCpvUqEJKwYdx25ePthWAkTkhm3deadbeeR
zcEGixE2c3tc5hDkrAZHuShKMUYjpobyYMpcjoLrvnLUKZkSnArKs4l1f3884VxriyUUv2w3uyZbZN8sM4u5W5BdeadbeeE
zcTGixE2c3tc5hDkrAZHuShKMUYjpobyYMpcjoLrvnLUKZkSnArKs4l1f3884VxriyUUv2w3uyZbZN8sM4u5W5BdeadbeeE
zcOUFRCsiA1zhsbBsWiHuShcfntcqT5Fh6xZ65LhYnoyjWCgNeSGpbbAzbp5z4bg3cxrunvjM3auSavjrNGoHCxMnjF6oT9
);
for my $z (@INVALID) {
ok( !is_valid_zaddr($z), "$z is not a valid zaddr");
}
for my $z (@VALID) {
ok( is_valid_zaddr($z), "$z is a valid zaddr");
}
done_testing;
Loading…
Cancel
Save