晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/doc/perl-Test-Simple/t/Test2/modules/Event/ |
Upload File : |
use strict;
use warnings;
use Test2::Tools::Tiny;
use Test2::EventFacet::Trace;
use Test2::Event::Ok;
use Test2::Event::Diag;
use Test2::API qw/context/;
my $trace;
sub before_each {
# Make sure there is a fresh trace object for each group
$trace = Test2::EventFacet::Trace->new(
frame => ['main_foo', 'foo.t', 42, 'main_foo::flubnarb'],
);
}
tests Passing => sub {
my $ok = Test2::Event::Ok->new(
trace => $trace,
pass => 1,
name => 'the_test',
);
ok($ok->increments_count, "Bumps the count");
ok(!$ok->causes_fail, "Passing 'OK' event does not cause failure");
is($ok->pass, 1, "got pass");
is($ok->name, 'the_test', "got name");
is($ok->effective_pass, 1, "effective pass");
is($ok->summary, "the_test", "Summary is just the name of the test");
my $facet_data = $ok->facet_data;
ok($facet_data->{about}, "got common facet data");
ok(!$facet_data->{amnesty}, "No amnesty by default");
is_deeply(
$facet_data->{assert},
{
no_debug => 1,
pass => 1,
details => 'the_test',
},
"Got assert facet",
);
$ok = Test2::Event::Ok->new(
trace => $trace,
pass => 1,
name => '',
);
is($ok->summary, "Nameless Assertion", "Nameless test");
$facet_data = $ok->facet_data;
ok($facet_data->{about}, "got common facet data");
ok(!$facet_data->{amnesty}, "No amnesty by default");
is_deeply(
$facet_data->{assert},
{
no_debug => 1,
pass => 1,
details => '',
},
"Got assert facet",
);
};
tests Failing => sub {
local $ENV{HARNESS_ACTIVE} = 1;
local $ENV{HARNESS_IS_VERBOSE} = 1;
my $ok = Test2::Event::Ok->new(
trace => $trace,
pass => 0,
name => 'the_test',
);
ok($ok->increments_count, "Bumps the count");
ok($ok->causes_fail, "A failing test causes failures");
is($ok->pass, 0, "got pass");
is($ok->name, 'the_test', "got name");
is($ok->effective_pass, 0, "effective pass");
is($ok->summary, "the_test", "Summary is just the name of the test");
my $facet_data = $ok->facet_data;
ok($facet_data->{about}, "got common facet data");
ok(!$facet_data->{amnesty}, "No amnesty by default");
is_deeply(
$facet_data->{assert},
{
no_debug => 1,
pass => 0,
details => 'the_test',
},
"Got assert facet",
);
};
tests "Failing TODO" => sub {
local $ENV{HARNESS_ACTIVE} = 1;
local $ENV{HARNESS_IS_VERBOSE} = 1;
my $ok = Test2::Event::Ok->new(
trace => $trace,
pass => 0,
name => 'the_test',
todo => 'A Todo',
);
ok($ok->increments_count, "Bumps the count");
is($ok->pass, 0, "got pass");
is($ok->name, 'the_test', "got name");
is($ok->effective_pass, 1, "effective pass is true from todo");
is($ok->summary, "the_test (TODO: A Todo)", "Summary is just the name of the test + todo");
my $facet_data = $ok->facet_data;
ok($facet_data->{about}, "got common facet data");
is_deeply(
$facet_data->{assert},
{
no_debug => 1,
pass => 0,
details => 'the_test',
},
"Got assert facet",
);
is_deeply(
$facet_data->{amnesty},
[{
tag => 'TODO',
details => 'A Todo',
}],
"Got amnesty facet",
);
$ok = Test2::Event::Ok->new(
trace => $trace,
pass => 0,
name => 'the_test2',
todo => '',
);
ok($ok->effective_pass, "empty string todo is still a todo");
is($ok->summary, "the_test2 (TODO)", "Summary is just the name of the test + todo");
$facet_data = $ok->facet_data;
ok($facet_data->{about}, "got common facet data");
is_deeply(
$facet_data->{assert},
{
no_debug => 1,
pass => 0,
details => 'the_test2',
},
"Got assert facet",
);
is_deeply(
$facet_data->{amnesty},
[{
tag => 'TODO',
details => '',
}],
"Got amnesty facet",
);
};
tests init => sub {
my $ok = Test2::Event::Ok->new(
trace => $trace,
pass => 1,
);
is($ok->effective_pass, 1, "set effective pass");
};
done_testing;