From b7fb38421c30b0419a30311c1bde34706aa60fb8 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Sun, 28 Jun 2015 17:50:34 +0000 Subject: Path-Tiny-0.070 --- t/children.t | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 t/children.t (limited to 't/children.t') diff --git a/t/children.t b/t/children.t new file mode 100644 index 0000000..4c0e266 --- /dev/null +++ b/t/children.t @@ -0,0 +1,51 @@ +use 5.008001; +use strict; +use warnings; +use Test::More 0.96; +use File::Basename (); +use File::Temp (); +use File::Spec::Unix; + +use lib 't/lib'; +use TestUtils qw/exception/; + +use Path::Tiny; + +my $tempdir = File::Temp->newdir; + +my @kids = qw/apple banana carrot/; +path($tempdir)->child($_)->touch for @kids; + +my @expected = map { path( File::Spec::Unix->catfile( $tempdir, $_ ) ) } @kids; + +is_deeply( + [ sort { $a cmp $b } path($tempdir)->children ], + [ sort @expected ], + "children correct" +); + +my $regexp = qr/.a/; +is_deeply( + [ sort { $a cmp $b } path($tempdir)->children($regexp) ], + [ + sort grep { my $child = File::Basename::basename($_); $child =~ /$regexp/ } + @expected + ], + "children correct with Regexp argument" +); + +my $arrayref = []; +eval { path($tempdir)->children($arrayref) }; +like $@, qr/Invalid argument '\Q$arrayref\E' for children()/, + 'children with invalid argument'; + +done_testing; +# +# This file is part of Path-Tiny +# +# This software is Copyright (c) 2014 by David Golden. +# +# This is free software, licensed under: +# +# The Apache License, Version 2.0, January 2004 +# -- cgit v1.2.1