Initial Commit

This commit is contained in:
Riley Schneider
2025-12-03 16:38:10 +01:00
parent c5e26bf594
commit b732d8d4b5
17680 changed files with 5977495 additions and 2 deletions

View File

@@ -0,0 +1,68 @@
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;