晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/Legacy/ |
Upload File : |
use strict;
use Test::Tester;
use Data::Dumper qw(Dumper);
my $test = Test::Builder->new;
$test->plan(tests => 54);
my $cap;
{
$cap = Test::Tester->capture;
my ($prem, @results) = run_tests(
sub {$cap->ok(1, "run pass")}
);
local $Test::Builder::Level = 0;
$test->is_eq($prem, "", "run pass no prem");
$test->is_num(scalar (@results), 1, "run pass result count");
my $res = $results[0];
$test->is_eq($res->{name}, "run pass", "run pass name");
$test->is_eq($res->{ok}, 1, "run pass ok");
$test->is_eq($res->{actual_ok}, 1, "run pass actual_ok");
$test->is_eq($res->{reason}, "", "run pass reason");
$test->is_eq($res->{type}, "", "run pass type");
$test->is_eq($res->{diag}, "", "run pass diag");
$test->is_num($res->{depth}, 0, "run pass depth");
}
{
my ($prem, @results) = run_tests(
sub {$cap->ok(0, "run fail")}
);
local $Test::Builder::Level = 0;
$test->is_eq($prem, "", "run fail no prem");
$test->is_num(scalar (@results), 1, "run fail result count");
my $res = $results[0];
$test->is_eq($res->{name}, "run fail", "run fail name");
$test->is_eq($res->{actual_ok}, 0, "run fail actual_ok");
$test->is_eq($res->{ok}, 0, "run fail ok");
$test->is_eq($res->{reason}, "", "run fail reason");
$test->is_eq($res->{type}, "", "run fail type");
$test->is_eq($res->{diag}, "", "run fail diag");
$test->is_num($res->{depth}, 0, "run fail depth");
}
{
my ($prem, @results) = run_tests(
sub {$cap->skip("just because")}
);
local $Test::Builder::Level = 0;
$test->is_eq($prem, "", "skip no prem");
$test->is_num(scalar (@results), 1, "skip result count");
my $res = $results[0];
$test->is_eq($res->{name}, "", "skip name");
$test->is_eq($res->{actual_ok}, 1, "skip actual_ok");
$test->is_eq($res->{ok}, 1, "skip ok");
$test->is_eq($res->{reason}, "just because", "skip reason");
$test->is_eq($res->{type}, "skip", "skip type");
$test->is_eq($res->{diag}, "", "skip diag");
$test->is_num($res->{depth}, 0, "skip depth");
}
{
my ($prem, @results) = run_tests(
sub {$cap->todo_skip("just because")}
);
local $Test::Builder::Level = 0;
$test->is_eq($prem, "", "todo_skip no prem");
$test->is_num(scalar (@results), 1, "todo_skip result count");
my $res = $results[0];
$test->is_eq($res->{name}, "", "todo_skip name");
$test->is_eq($res->{actual_ok}, 0, "todo_skip actual_ok");
$test->is_eq($res->{ok}, 1, "todo_skip ok");
$test->is_eq($res->{reason}, "just because", "todo_skip reason");
$test->is_eq($res->{type}, "todo_skip", "todo_skip type");
$test->is_eq($res->{diag}, "", "todo_skip diag");
$test->is_num($res->{depth}, 0, "todo_skip depth");
}
{
my ($prem, @results) = run_tests(
sub {$cap->diag("run diag")}
);
local $Test::Builder::Level = 0;
$test->is_eq($prem, "run diag\n", "run diag prem");
$test->is_num(scalar (@results), 0, "run diag result count");
}
{
my ($prem, @results) = run_tests(
sub {
$cap->ok(1, "multi pass");
$cap->diag("multi pass diag1");
$cap->diag("multi pass diag2");
$cap->ok(0, "multi fail");
$cap->diag("multi fail diag");
}
);
local $Test::Builder::Level = 0;
$test->is_eq($prem, "", "run multi no prem");
$test->is_num(scalar (@results), 2, "run multi result count");
my $res_pass = $results[0];
$test->is_eq($res_pass->{name}, "multi pass", "run multi pass name");
$test->is_eq($res_pass->{actual_ok}, 1, "run multi pass actual_ok");
$test->is_eq($res_pass->{ok}, 1, "run multi pass ok");
$test->is_eq($res_pass->{reason}, "", "run multi pass reason");
$test->is_eq($res_pass->{type}, "", "run multi pass type");
$test->is_eq($res_pass->{diag}, "multi pass diag1\nmulti pass diag2\n",
"run multi pass diag");
$test->is_num($res_pass->{depth}, 0, "run multi pass depth");
my $res_fail = $results[1];
$test->is_eq($res_fail->{name}, "multi fail", "run multi fail name");
$test->is_eq($res_pass->{actual_ok}, 1, "run multi fail actual_ok");
$test->is_eq($res_fail->{ok}, 0, "run multi fail ok");
$test->is_eq($res_pass->{reason}, "", "run multi fail reason");
$test->is_eq($res_pass->{type}, "", "run multi fail type");
$test->is_eq($res_fail->{diag}, "multi fail diag\n", "run multi fail diag");
$test->is_num($res_pass->{depth}, 0, "run multi fail depth");
}