Modern-Perl-Prelude

 view release on metacpan or  search on metacpan

t/01-import.t  view on Meta::CPAN

use v5.26;
use strict;
use warnings;
use utf8;

use Test::More;

my $ok = eval <<'PERL';
    package Local::Prelude::Smoke;

    use Modern::Perl::Prelude;

    our %RESULT;

    sub run {
        state $counter = 0;
        $counter++;

        my $out = '';
        {
            open my $fh, '>', \$out or die "open scalar fh failed: $!";
            local *STDOUT = $fh;
            say 'hello';
        }

        my $trimmed = trim(" hello \n");
        my $folded  = fc("Straße");

        my $obj = bless {}, 'Local::Prelude::Smoke::Object';

        my $caught = '';
        try {
            die "boom\n";
        }
        catch ($e) {
            $caught = $e;
        }

        my $tmp = [];
        my $ref = $tmp;

        my $weak_before = is_weak($ref) ? 1 : 0;
        weaken($ref);
        my $weak_after = is_weak($ref) ? 1 : 0;
        unweaken($ref);
        my $weak_restored = is_weak($ref) ? 1 : 0;

        %RESULT = (
            said            => $out,
            trimmed         => $trimmed,
            folded          => $folded,
            blessed         => blessed($obj),
            caught_like     => ($caught =~ /boom/) ? 1 : 0,
            true_value      => true  ? 1 : 0,
            false_value     => false ? 1 : 0,
            ceil_value      => ceil(1.2),
            floor_value     => floor(1.8),
            refaddr_defined => defined refaddr($obj) ? 1 : 0,
            reftype         => reftype($obj),
            state_counter   => $counter,
            weak_before     => $weak_before,
            weak_after      => $weak_after,
            weak_restored   => $weak_restored,
        );

        return 1;
    }

    run();
PERL



( run in 1.036 second using v1.01-cache-2.11-cpan-364913b4093 )