From: Uri Guttman Date: Sat, 16 Apr 2011 07:28:08 +0000 (-0400) Subject: new X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=urisagit%2FPerl-Docs.git;a=commitdiff_plain;h=45094320f5541509fb4ab833e19e5949de8eea4c 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 = <
 '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 ;