Blame t/leaf-wrapper.t

Packit 61a564
use strict;
Packit 61a564
use warnings;
Packit 61a564
use lib 't/lib';
Packit 61a564
Packit 61a564
use Std;
Packit 61a564
Packit 61a564
{
Packit 61a564
  check_test(
Packit 61a564
    sub {
Packit 61a564
      cmp_deeply( Test::Deep::EqOverloaded->new, 5);
Packit 61a564
    },
Packit 61a564
    {
Packit 61a564
      actual_ok => 0,
Packit 61a564
    },
Packit 61a564
    "comparing a plain scalar leaf against obj without eq"
Packit 61a564
  );
Packit 61a564
Packit 61a564
  {
Packit 61a564
    local $Test::Deep::LeafWrapper = \&str;
Packit 61a564
    check_tests(
Packit 61a564
      sub {
Packit 61a564
        cmp_deeply( Test::Deep::EqOverloaded->new, 5);
Packit 61a564
        cmp_deeply( Test::Deep::EqOverloaded->new, 6);
Packit 61a564
      },
Packit 61a564
      [
Packit 61a564
        {
Packit 61a564
          actual_ok => 1,
Packit 61a564
        },
Packit 61a564
        {
Packit 61a564
          actual_ok => 0,
Packit 61a564
        },
Packit 61a564
      ],
Packit 61a564
      "comparing a plain scalar leaf against obj with eq"
Packit 61a564
    );
Packit 61a564
  }
Packit 61a564
Packit 61a564
  {
Packit 61a564
    check_tests(
Packit 61a564
      sub {
Packit 61a564
        my $t1 = 5;
Packit 61a564
        my $t2 = any(5);
Packit 61a564
        my $t3 = all(5);
Packit 61a564
        local $Test::Deep::LeafWrapper = \&str;
Packit 61a564
        cmp_deeply(Test::Deep::EqOverloaded->new, $t1);
Packit 61a564
        cmp_deeply(Test::Deep::EqOverloaded->new, $t2);
Packit 61a564
        cmp_deeply(Test::Deep::EqOverloaded->new, $t3);
Packit 61a564
      },
Packit 61a564
      [
Packit 61a564
        {
Packit 61a564
          actual_ok => 1,
Packit 61a564
        },
Packit 61a564
        {
Packit 61a564
          actual_ok => 1,
Packit 61a564
        },
Packit 61a564
        {
Packit 61a564
          actual_ok => 1,
Packit 61a564
        },
Packit 61a564
      ],
Packit 61a564
      "comparing a plain scalar leaf against obj with eq via any() and all()"
Packit 61a564
    );
Packit 61a564
  }
Packit 61a564
}
Packit 61a564
Packit 61a564
{
Packit 61a564
  package Test::Deep::EqOverloaded;
Packit 61a564
  use overload q{""} => sub { "5" }, fallback => 1;
Packit 61a564
  sub new { my $self = {}; bless $self; }
Packit 61a564
}