File: 10-basics.t

package info (click to toggle)
libfile-slurp-tiny-perl 0.004-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 156 kB
  • sloc: perl: 166; makefile: 10
file content (39 lines) | stat: -rw-r--r-- 1,429 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#! perl

use strict;
use warnings;

use File::Spec::Functions qw/catfile/;
use File::Slurp::Tiny qw/read_file read_lines write_file read_dir/;
use File::Temp qw/tempdir/;

use Test::More;

my $content = do { local $/; open my $fh, '<:raw', $0; <$fh> };
is(read_file($0), $content, 'read_file() works');
is(read_file($0, binmode => ':raw'), $content, 'read_file(binmode => :raw) works');
my $ref = read_file($0, scalar_ref => 1);
ok(ref($ref) && ${$ref} eq $content, 'read_file(scalar_ref => 1) works');
read_file($0, buf_ref => \my $buf);
is($buf, $content, 'read_file(buf_ref => $buf) works');

my @content = split /(?<=\n)/, $content;

is_deeply([ read_lines($0) ], \@content, 'read_lines returns the right thing');
chomp @content;
is_deeply([ read_lines($0, chomp => 1) ], \@content, 'read_lines(chomp => 1) returns the right thing');

SKIP: {
skip "No 'lib' directory available under autopkgtest", 2 if $ENV{AUTOPKGTEST_TMP};
is_deeply([ read_dir('lib') ], [ 'File' ], 'read_dir appears to work');
is_deeply([ read_dir('lib', prefix => 1) ], [ catfile(qw/lib File/) ], 'read_dir(prefix => 1) appears to work');
};

my $dir = tempdir( CLEANUP => 1 );
my $filename = catfile($dir, 'out.txt');
write_file($filename, $content);
is(read_file($filename), $content, 'write_file + readfile = noop');
write_file($filename, $content, append => 1);
is(read_file($filename), $content x 2, 'write_file + readfile = noop');

done_testing;