From: Uri Guttman <uri@quad.(none)> Date: Sat, 16 Apr 2011 07:28:08 +0000 (-0400) Subject: new X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=45094320f5541509fb4ab833e19e5949de8eea4c;p=urisagit%2FPerl-Docs.git new --- diff --git a/t/prepend_file.t b/t/prepend_file.t new file mode 100644 index 0000000..ec3c8bb --- /dev/null +++ b/t/prepend_file.t @@ -0,0 +1,74 @@ + +use strict ; +use warnings ; + +use lib qw(t) ; + +use File::Slurp qw( read_file write_file prepend_file ) ; +use Test::More ; + +use TestDriver ; + +my $file = 'prepend_file' ; +my $existing_data = <<PRE ; +line 1 +line 2 +more +PRE + +my $tests = [ + { + name => 'prepend null', + sub => \&prepend_file, + prepend_data => '', + pretest => sub { + my( $test ) = @_ ; + write_file( $file, $existing_data ) ; + my $prepend_data = $test->{prepend_data} ; + $test->{args} = [ + $file, + $prepend_data, + ] ; + $test->{expected} = "$prepend_data$existing_data" ; + }, + posttest => sub { $_[0]->{result} = read_file( $file ) }, + }, + { + name => 'prepend line', + sub => \&prepend_file, + prepend_data => "line 0\n", + pretest => sub { + my( $test ) = @_ ; + write_file( $file, $existing_data ) ; + my $prepend_data = $test->{prepend_data} ; + $test->{args} = [ + $file, + $prepend_data, + ] ; + $test->{expected} = "$prepend_data$existing_data" ; + }, + posttest => sub { $_[0]->{result} = read_file( $file ) }, + }, + { + name => 'prepend partial line', + sub => \&prepend_file, + prepend_data => 'partial line', + pretest => sub { + my( $test ) = @_ ; + write_file( $file, $existing_data ) ; + my $prepend_data = $test->{prepend_data} ; + $test->{args} = [ + $file, + $prepend_data, + ] ; + $test->{expected} = "$prepend_data$existing_data" ; + }, + posttest => sub { $_[0]->{result} = read_file( $file ) }, + }, +] ; + +test_driver( $tests ) ; + +unlink $file ; + +exit ;