diff options
Diffstat (limited to 't/temp.t')
-rw-r--r-- | t/temp.t | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/t/temp.t b/t/temp.t new file mode 100644 index 0000000..91b40dd --- /dev/null +++ b/t/temp.t @@ -0,0 +1,71 @@ +use 5.008001; +use strict; +use warnings; +use Cwd; # hack around https://bugs.activestate.com/show_bug.cgi?id=104767 +use Test::More 0.96; +use File::Spec::Unix; + +use lib 't/lib'; +use TestUtils qw/exception tempd/; + +use Path::Tiny; + +subtest "tempdir" => sub { + my $tempdir = Path::Tiny->tempdir; + my $string = $tempdir->stringify; + ok( $tempdir->exists, "tempdir exists" ); + undef $tempdir; + ok( !-e $string, "tempdir destroyed" ); +}; + +subtest "tempfile" => sub { + my $tempfile = Path::Tiny->tempfile; + my $string = $tempfile->stringify; + ok( $tempfile->exists, "tempfile exists" ); + undef $tempfile; + ok( !-e $string, "tempfile destroyed" ); +}; + +subtest "tempdir w/ TEMPLATE" => sub { + my $tempdir = Path::Tiny->tempdir( TEMPLATE => "helloXXXXX" ); + like( $tempdir, qr/hello/, "found template" ); +}; + +subtest "tempfile w/ TEMPLATE" => sub { + my $tempfile = Path::Tiny->tempfile( TEMPLATE => "helloXXXXX" ); + like( $tempfile, qr/hello/, "found template" ); +}; + +subtest "tempdir w/ leading template" => sub { + my $tempdir = Path::Tiny->tempdir("helloXXXXX"); + like( $tempdir, qr/hello/, "found template" ); +}; + +subtest "tempfile w/ leading template" => sub { + my $tempfile = Path::Tiny->tempfile("helloXXXXX"); + like( $tempfile, qr/hello/, "found template" ); +}; + +subtest "tempfile handle" => sub { + my $tempfile = Path::Tiny->tempfile; + my $fh = $tempfile->filehandle; + is( ref $tempfile->[5], 'File::Temp', "cached File::Temp object" ); + is( fileno $tempfile->[5], undef, "cached handle is closed" ); +}; + +subtest "survives absolute" => sub { + my $wd = tempd; + my $tempdir = Path::Tiny->tempdir( DIR => '.' )->absolute; + ok( -d $tempdir, "exists" ); +}; + +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 +# |