[cage] Fix pgegrep, which was merely an innocent bystander in the Great Namespace...
[parrot.git] / t / configure / 045-generated_file_header.t
blobfbc2e30819a53853edf9d309b7562767e9bb8ba0
1 #! perl
2 # Copyright (C) 2007, Parrot Foundation.
3 # $Id$
5 use strict;
6 use warnings;
8 use Test::More tests => 12;
9 use Carp;
10 use File::Temp qw| tempfile |;
11 use lib qw( lib );
12 use Parrot::BuildUtil;
15     my $header;
16     my ( $filename, $style ) = ( 'foobar', 'SPAF' );
17     eval { $header = Parrot::BuildUtil::generated_file_header( $filename, $style ); };
18     like(
19         $@,
20         qr/unknown style /,
21         'error when no arguments passed',
22     );
26     my $header;
27     my ( $filename, $style ) = ( 'foobar', 'perl' );
29     require File::Spec;
30     my $script = File::Spec->abs2rel($0);
31     $script =~ s/\\/\//g;
33     eval { $header = Parrot::BuildUtil::generated_file_header( $filename, $style ); };
34     is( $@, '', "no error when called with '$style' style" );
36     like( $header, qr/ft=perl:/, "filetype set to '$style'" );
37     like( $header, qr/from '$filename'/, 'filename set' );
38     like( $header, qr/by $script/, 'script set' );
40     my @header = split /\n/ => $header;
41     is(
42         @{[ grep( { /^#  / } @header ) ]},
43         @header,
44         'each line starts with a comment marker',
45     );
49     my $header;
50     my ( $filename, $style ) = ( 'foobar', 'c' );
52     require File::Spec;
53     my $script = File::Spec->abs2rel($0);
54     $script =~ s/\\/\//g;
56     eval { $header = Parrot::BuildUtil::generated_file_header( $filename, $style ); };
57     is( $@, '', "no error when called with '$style' style" );
59     like( $header, qr/ft=c:/, "filetype set to '$style'" );
60     like( $header, qr/from '$filename'/, 'filename set' );
61     like( $header, qr/by $script/, 'script set' );
63     my @header = split /\n/ => $header;
64     is(
65         @{[ grep( { /^[ \/]\*[ \/]?/ } @header ) ]},
66         @header,
67         'each line starts with a comment marker',
68     );
71 pass("Completed all tests in $0");
73 ################### DOCUMENTATION ###################
75 =head1 NAME
77 044-generated_file_header.t - test C<Parrot::BuildUtil::generated_file_header()>
79 =head1 SYNOPSIS
81     % prove t/configure/045-generated_file_header.t
83 =head1 DESCRIPTION
85 The files in this directory test functionality used by F<Configure.pl>.
87 The tests in this file test C<Parrot::BuildUtil::generated_file_header()>.
89 =head1 AUTHOR
91 James E Keenan
93 =head1 SEE ALSO
95 Parrot::BuildUtil, F<Configure.pl>.
97 =cut
99 # Local Variables:
100 #   mode: cperl
101 #   cperl-indent-level: 4
102 #   fill-column: 100
103 # End:
104 # vim: expandtab shiftwidth=4: