%PDF- %PDF-
Direktori : /home/opti/optisoftcom/.cpanm/work/1544535425.21555/CPAN-Meta-YAML-0.018/t/lib/ |
Current File : /home/opti/optisoftcom/.cpanm/work/1544535425.21555/CPAN-Meta-YAML-0.018/t/lib/TestUtils.pm |
package TestUtils; use strict; use warnings; use Exporter (); use File::Spec (); use File::Find (); our @ISA = qw{ Exporter }; our @EXPORT = qw{ find_tml_files json_class slurp test_data_directory test_data_file }; sub find_tml_files { my $dir = shift; my @files; File::Find::find( sub { push @files, $File::Find::name if -f and /\.tml$/ }, $dir ); return @files; } sub json_class { return eval { require JSON::MaybeXS; JSON::MaybeXS->VERSION('1.001000'); $JSON::MaybeXS::JSON_Class } || do { require JSON::PP; 'JSON::PP' }; } sub test_data_directory { return File::Spec->catdir( 't', 'data' ); } sub test_data_file { return File::Spec->catfile( test_data_directory(), shift ); } sub slurp { my $file = shift; local $/ = undef; open( FILE, " $file" ) or die "open($file) failed: $!"; binmode( FILE, $_[0] ) if @_ > 0; # binmode(FILE); # disable perl's BOM interpretation my $source = <FILE>; close( FILE ) or die "close($file) failed: $!"; $source; } 1;