HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/share/perl5/Test/Deep/All.pm
use strict;
use warnings;

package Test::Deep::All;

use Scalar::Util ();
use Test::Deep::Cmp;

sub init
{
  my $self = shift;

  my @list = map {
    (Scalar::Util::blessed($_) && $_->isa('Test::Deep::All'))
    ? @{ $_->{val} }
    : $_
  } @_;

  $self->{val} = \@list;
}

sub descend
{
  my $self = shift;
  my $got = shift;

  my $data = $self->data;

  my $index = 1;

  foreach my $cmp (@{$self->{val}})
  {
    $data->{index} = $index;
    $index++;

    next if Test::Deep::descend($got, $cmp);
    return 0
  }

  return 1;
}

sub render_stack
{
  my $self = shift;
  my $var = shift;
  my $data = shift;

  my $max = @{$self->{val}};

  return "(Part $data->{index} of $max in $var)";
}

1;