BEGIN { $INFILE = $0; $OUTFILE = $0; @ARGV = ( "-i $INFILE", "-out=", $OUTFILE, ); chmod 0644, $0; } use Getopt::Euclid qw( :minimal_keys ); use Test::More 'no_plan'; my $man = < -i [options] \=head1 REQUIRED ARGUMENTS \=over \=item -i[nfile] [=] Specify input file \=item -o[ut][file]= Specify output file \=back \=head1 OPTIONS \=over \=item size x Specify height and width \=item -l[[en][gth]] Display length [default: 24 ] \=item -girth Display girth [default: 42 ] \=item -v[erbose] Print all warnings \=item [-]-timeout [] [] \=item -w Test something spaced \=item [-]-no[-fudge] Automaticaly fudge the factors. \=item Step size \=item --version \=item --usage \=item --help \=item --man Print the usual program information \=back \=head1 AUTHOR Damian Conway (damian\@conway.org) \=head1 BUGS There are undoubtedly serious bugs lurking somewhere in this code. Bug reports and other feedback are most welcome. \=head1 COPYRIGHT Copyright (c) 2002, Damian Conway. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html) EOS my $podfile = "# This file was automatically generated by Getopt::Euclid. Do not edit it.\n\n$man"; my $help = < -i [options] std_arguments.t --help std_arguments.t --version \=head1 Required arguments: \=over \=item -i[nfile] [=] Specify input file \=item -o[ut][file]= Specify output file \=back \=head1 Options: \=over \=item size x Specify height and width \=item -l[[en][gth]] Display length [default: 24 ] \=item -girth Display girth [default: 42 ] \=item -v[erbose] Print all warnings \=item [-]-timeout [] [] \=item -w Test something spaced \=item [-]-no[-fudge] Automaticaly fudge the factors. \=item Step size \=item --version \=item --usage \=item --help \=item --man Print the usual program information \=back EOS my $usage = < -i [options] std_arguments.t --help std_arguments.t --version EOS my $version = <man(); is $man_test, $man => 'Correct man message'; my $file = Getopt::Euclid->podfile(); ok -e $file => 'Podfile was created'; my $podfile_test = ''; open my $in, '<', $file or die "Could not open file $file\n$!\n"; while (<$in>) { $podfile_test .= $_; } close $in; is $podfile_test, $podfile => 'Correct podfile content'; unlink $file; my $help_test = Getopt::Euclid->help(); is $help_test, $help => 'Correct help message'; my $usage_test = Getopt::Euclid->usage(); is $usage_test, $usage => 'Correct usage message'; my $version_test = Getopt::Euclid->version(); is $version_test, $version => 'Correct version message'; SKIP: { skip 'Need Pod::Checker for this tests', 3 unless eval { require Pod::Checker }; require Pod::Checker; open my $pod_fh, '<', \$man; my $nof_errors = Pod::Checker::podchecker( $pod_fh ); is $nof_errors, 0; close $pod_fh; open $pod_fh, '<', \$podfile_test; $nof_errors = Pod::Checker::podchecker( $pod_fh ); is $nof_errors, 0; close $pod_fh; open $pod_fh, '<', \$help_test; $nof_errors = Pod::Checker::podchecker( $pod_fh ); is $nof_errors, 0; close $pod_fh; } __END__ =head1 NAME orchestrate - Convert a file to Melkor's .orc format =head1 SYNOPSIS my $var = 'asdf'; =head1 VERSION This documentation refers to orchestrate version 1.9.4 =head1 USAGE orchestrate -in source.txt --out dest.orc -verbose -len=24 =head1 REQUIRED ARGUMENTS =over =item -i[nfile] [=] Specify input file =for Euclid: file.type: readable file.default: '-' =item -o[ut][file]= Specify output file =for Euclid: out_file.type: writable out_file.default: '-' =back =head1 OPTIONS =over =item size x Specify height and width =item -l[[en][gth]] Display length [default: 24 ] =for Euclid: l.type: int > 0 l.default: 24 =item -girth Display girth [default: 42 ] =for Euclid: g.default: 42 =item -v[erbose] Print all warnings =item [-]-timeout [] [] =for Euclid: min.type: int max.type: int max.default: -1 =item -w Test something spaced =item [-]-no[-fudge] Automaticaly fudge the factors. =for Euclid: false: [-]-no[-fudge] =item Step size =item --version =item --usage =item --help =item --man Print the usual program information =back =begin remainder of documentation here... =end =head1 AUTHOR Damian Conway (damian@conway.org) =head1 BUGS There are undoubtedly serious bugs lurking somewhere in this code. Bug reports and other feedback are most welcome. =head1 COPYRIGHT Copyright (c) 2002, Damian Conway. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)