Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/perl/vendor/lib/Test/Deep/ |
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;