Aion-Carp
view release on metacpan or search on metacpan
t/aion/carp.t view on Meta::CPAN
use common::sense; use open qw/:std :utf8/; use Carp qw//; use Cwd qw//; use File::Basename qw//; use File::Find qw//; use File::Slurper qw//; use File::Spec qw//; use File::Path qw//; use Scalar::Util qw//; use Test::More 0.98; use String::Diff q...
# # NAME
#
# Aion::Carp - добавлÑÐµÑ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ ÑÑека в иÑклÑÑениÑ
#
# # VERSION
#
# 1.5
#
# # SYNOPSIS
#
subtest 'SYNOPSIS' => sub {
use Aion::Carp;
sub A { die "hi!" }
sub B { A() }
sub C { eval { B() }; die if $@ }
sub D { C() }
eval { D() };
my $expected = "hi!
die(...) called at t/aion/carp.t line 15
main::A() called at t/aion/carp.t line 16
main::B() called at t/aion/carp.t line 17
eval {...} called at t/aion/carp.t line 17
main::C() called at t/aion/carp.t line 18
main::D() called at t/aion/carp.t line 20
eval {...} called at t/aion/carp.t line 20
";
$expected =~ s/^ {4}/\t/gm;
local ($::_g0 = do {substr($@, 0, length $expected)}, $::_e0 = "$expected"); ::ok $::_g0 eq $::_e0, 'substr($@, 0, length $expected) # => $expected' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
my $exception = {message => "hi!"};
eval { die $exception };
local ($::_g0 = do {$@}, $::_e0 = do {$exception}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '$@ # -> $exception' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {$@->{message}}, $::_e0 = "hi!"); ::ok $::_g0 eq $::_e0, '$@->{message} # => hi!' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
::like scalar do {$@->{STACKTRACE}}, qr{^die\(\.\.\.\) called at}, '$@->{STACKTRACE} # ~> ^die\(\.\.\.\) called at'; undef $::_g0; undef $::_e0;
$exception = {message => "hi!", STACKTRACE => 123};
eval { die $exception };
local ($::_g0 = do {$exception->{STACKTRACE}}, $::_e0 = do {123}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '$exception->{STACKTRACE} # -> 123' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
$exception = [];
eval { die $exception };
local ($::_g0 = do {$@}, $::_e0 = do {[]}); ::is_deeply $::_g0, $::_e0, '$@ # --> []' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# # DESCRIPTION
#
# ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ `$SIG{__DIE__}` на ÑÑнкÑиÑ, добавлÑÑÑÑÑ Ð² иÑклÑÑÐµÐ½Ð¸Ñ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ ÑÑека.
#
# ÐÑли иÑклÑÑением ÑвлÑеÑÑÑ ÑÑÑока, к ÑообÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑÑÑ ÑÑаÑÑиÑовка ÑÑека. РеÑли иÑклÑÑением ÑвлÑеÑÑÑ Ñ
ÑÑ (`{}`) или обÑÐµÐºÑ Ð½Ð° базе Ñ
еÑ...
#
# ÐÑи повÑоÑном вÑбÑаÑÑвании иÑклÑÑÐµÐ½Ð¸Ñ ÑÑаÑÑиÑовка ÑÑека не добавлÑеÑÑÑ, а оÑÑаÑÑÑÑ Ð¿Ñежней.
#
# # SUBROUTINES
#
# ## handler ($message)
( run in 0.859 second using v1.01-cache-2.11-cpan-97f6503c9c8 )