PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` package Test2::Compare::Bool; use strict; use warnings; use Carp qw/confess/; use base 'Test2::Compare::Base'; our $VERSION = '1.302204'; use Test2::Util::HashBase qw/input/; # Overloads '!' for us. use Test2::Compare::Negatable; sub name { my $self = shift; my $in = $self->{+INPUT}; return _render_bool($in); } sub operator { my $self = shift; return '!=' if $self->{+NEGATE}; return '=='; } sub verify { my $self = shift; my %params = @_; my ($got, $exists) = @params{qw/got exists/}; return 0 unless $exists; my $want = $self->{+INPUT}; my $match = ($want xor $got) ? 0 : 1; $match = $match ? 0 : 1 if $self->{+NEGATE}; return $match; } sub run { my $self = shift; my $delta = $self->SUPER::run(@_) or return; my $dne = $delta->dne || ""; unless ($dne eq 'got') { my $got = $delta->got; $delta->set_got(_render_bool($got)); } return $delta; } sub _render_bool { my $bool = shift; my $name = $bool ? 'TRUE' : 'FALSE'; my $val = defined $bool ? $bool : 'undef'; $val = "''" unless length($val); return "<$name ($val)>"; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test2::Compare::Bool - Compare two values as booleans =head1 DESCRIPTION Check if two values have the same boolean result (both true, or both false). =head1 SOURCE The source code repository for Test2-Suite can be found at F. =head1 MAINTAINERS =over 4 =item Chad Granum Eexodist@cpan.orgE =back =head1 AUTHORS =over 4 =item Chad Granum Eexodist@cpan.orgE =back =head1 COPYRIGHT Copyright Chad Granum Eexodist@cpan.orgE. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See F =cut