use strict;
use warnings;
use Test::More;
if (eval { symlink("",""); 1 }) { # i.e., can symlink files
plan 'no_plan';
} else {
plan skip_all => "no symlinks, so no symlink testing required"
}
use_ok("Tree::File::YAML");
unlink qw(examples/has_symlink/link_to_file examples/has_symlink/link_to_dir);
symlink "examples/has_symlink/file" => "examples/has_symlink/link_to_file";
symlink "examples/has_symlink/dir" => "examples/has_symlink/link_to_dir";
my $config = Tree::File::YAML->new("examples/has_symlink");
isa_ok($config, "Tree::File::YAML", "the root");
isa_ok($config->get("dir"), "Tree::File::YAML", "the first nested dir");
is_deeply(
$config->get("/file/alphabet"),
[ qw(a b c d e f g h i j k l m n o p q r s t u v w x y z) ],
"the alphabet"
);
is_deeply(
$config->get("/dir/file/alphabet"),
[ qw(a b c d e f g h i j k l m n o p q r s t u v w x y z) ],
"the alphabet"
);
is($config->get("/link_to_file"), undef, "symlink ignored");
is($config->get("/link_to_dir" ), undef, "symlink ignored");