|
Server : Apache System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64 User : njnconst ( 1116) PHP Version : 8.4.18 Disable Function : NONE Directory : /usr/local/share/perl5/Test/Deep/ |
Upload File : |
use strict;
use warnings;
package Test::Deep::HashKeys;
use Test::Deep::Ref;
sub init
{
my $self = shift;
my %keys;
@keys{@_} = ();
$self->{val} = \%keys;
$self->{keys} = [sort @_];
}
sub descend
{
my $self = shift;
my $got = shift;
my $exp = $self->{val};
return 0 unless $self->test_reftype($got, "HASH");
return Test::Deep::descend($got, $self->hashkeysonly($exp));
}
sub hashkeysonly
{
require Test::Deep::HashKeysOnly;
my $self = shift;
my $exp = shift;
return Test::Deep::HashKeysOnly->new(keys %$exp)
}
package Test::Deep::SuperHashKeys;
use base 'Test::Deep::HashKeys';
sub hashkeysonly
{
require Test::Deep::HashKeysOnly;
my $self = shift;
my $exp = shift;
return Test::Deep::SuperHashKeysOnly->new(keys %$exp)
}
package Test::Deep::SubHashKeys;
use base 'Test::Deep::HashKeys';
sub hashkeysonly
{
require Test::Deep::HashKeysOnly;
my $self = shift;
my $exp = shift;
return Test::Deep::SubHashKeysOnly->new(keys %$exp)
}
1;