summaryrefslogtreecommitdiff
path: root/t/temp.t
diff options
context:
space:
mode:
Diffstat (limited to 't/temp.t')
-rw-r--r--t/temp.t71
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
+#