App-Followme

 view release on metacpan or  search on metacpan

t/FIO.t  view on Meta::CPAN

#!/usr/bin/env perl
use strict;

use Test::More tests => 32;

use IO::File;
use File::Path qw(rmtree);
use File::Spec::Functions qw(catdir catfile rel2abs splitdir);

#----------------------------------------------------------------------
# Change the modification date of a file

sub age {
	my ($filename, $sec) = @_;
	return unless -e $filename;
	return if $sec <= 0;
	
    my @stats = stat($filename);
    my $date = $stats[9];
    $date -= $sec;
    utime($date, $date, $filename);
    
    return; 
}

#----------------------------------------------------------------------
# Load package

my @path = splitdir(rel2abs($0));
pop(@path);
pop(@path);

my $lib = catdir(@path, 'lib');
unshift(@INC, $lib);

eval "use App::Followme::FIO";
eval "use App::Followme::Web";

my $test_dir = catdir(@path, 'test');

rmtree($test_dir, 0, 1) if -e $test_dir;
mkdir($test_dir) unless -e $test_dir;
chdir $test_dir or die $!;

my $sub_one = catdir($test_dir, 'sub-one');
mkdir $sub_one unless -e $sub_one;

my $sub_two = catdir($test_dir, 'sub-two');
mkdir $sub_two unless -e $sub_two;

#----------------------------------------------------------------------
# Test same file

do {
    my $same = fio_same_file('first.txt', 'first.txt', 0);
    is($same, 1, 'Same file'); # test 1

    my $same = fio_same_file('first.txt', 'First.txt', 0);
    is($same, 1, 'Same file, different case'); # test 2

    $same = fio_same_file('first.txt', 'second.txt', 0);
    is($same, undef, 'Not same file'); # test 3

};

#----------------------------------------------------------------------
# Test glob_patterns

do {
    my $exclude_files = '*.htm,template_*';
    my $excluded_files_ok = ['\.htm$', '^template_'];

    my $excluded_files = fio_glob_patterns($exclude_files);
    is_deeply($excluded_files, $excluded_files_ok, 'Glob patterns'); # test 4
};

#----------------------------------------------------------------------
# Test split_filename



( run in 2.365 seconds using v1.01-cache-2.11-cpan-99c4e6809bf )