Acme-JWT
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
sub _version ($) {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
# Normalise multipart versions
$s =~ s/(\.)(\d{1,3})/sprintf("$1%03d",$2)/eg;
}
$s =~ s/^(\d+)\.?//;
my $l = $1 || 0;
my @v = map {
$_ . '0' x (3 - length $_)
} $s =~ /(\d{1,3})\D?/g;
$l = $l . '.' . join '', @v if @v;
return $l + 0;
}
sub _cmp ($$) {
_version($_[0]) <=> _version($_[1]);
}
# Cloned from Params::Util::_CLASS
inc/Module/Install/Makefile.pm view on Meta::CPAN
for my $subdir (@_) {
push @$subdirs, $subdir;
}
}
sub clean_files {
my $self = shift;
my $clean = $self->makemaker_args->{clean} ||= {};
%$clean = (
%$clean,
FILES => join ' ', grep { length $_ } ($clean->{FILES} || (), @_),
);
}
sub realclean_files {
my $self = shift;
my $realclean = $self->makemaker_args->{realclean} ||= {};
%$realclean = (
%$realclean,
FILES => join ' ', grep { length $_ } ($realclean->{FILES} || (), @_),
);
}
sub libs {
my $self = shift;
my $libs = ref $_[0] ? shift : [ shift ];
$self->makemaker_args( LIBS => $libs );
}
sub inc {
t/01_spec.t view on Meta::CPAN
my $name = 'raises exception on unsupported crypto algorithm';
eval {
Acme::JWT->encode($payload, 'secret', 'HS1024');
};
like $@, qr/^Unsupported signing method/, $name;
}
{
my $name = 'encodes and decodes plaintext JWTs';
my $jwt = Acme::JWT->encode($payload, undef, 0);
is((my @a = split(/\./, $jwt)), 2, $name . '(length)');
my $decoded_payload = Acme::JWT->decode($jwt, undef, 0);
is_d $decoded_payload, $payload, $name;
}
done_testing;
( run in 0.853 second using v1.01-cache-2.11-cpan-65fba6d93b7 )