fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / configure / 002-messages.t
blobb69fc2ba0c10e81da487a7807b50db62541a89a6
1 #! perl
2 # Copyright (C) 2007, Parrot Foundation.
3 # $Id$
4 # 002-messages.t
6 use strict;
7 use warnings;
8 use Carp;
9 use Test::More tests => 10;
10 use lib qw( lib );
11 use Parrot::Configure::Messages qw|
12     print_introduction
13     print_conclusion
15 use IO::CaptureOutput qw| capture |;
17 my $parrot_version = '0.4.10';
18 my $make_version   = 'gnu make';
21     my ( $rv, $stdout );
22     capture(
23         sub { $rv = print_introduction($parrot_version); },
24         \$stdout,
25     );
26     ok( $rv, "print_introduction() returned true" );
28     # Following test is definitive.
29     like( $stdout, qr/$parrot_version/,
30         "Message included Parrot version number supplied as argument" );
32     # Following tests are NOT definitive.  They will break if content of
33     # strings printed by function is changed.
34     like( $stdout, qr/Parrot\sVersion/i, "Message included string 'Parrot version'" );
35     like( $stdout, qr/Configure/i,       "Message included string 'Configure'" );
36     like( $stdout, qr/Copyright/i,       "Message included copyright notice" );
40     my ( $rv, $stdout );
41     my $pseudo_conf = {
42         log => [],
43     };
44     capture(
45         sub { $rv = print_conclusion($pseudo_conf, $make_version); },
46         \$stdout,
47     );
48     ok( $rv, "print_conclusion() returned true" );
50     # Following test is definitive.
51     like( $stdout, qr/$make_version/, "Message included make version supplied as argument" );
56     my ( $rv, $stdout );
57     my $pseudo_conf = {
58         log => [
59             undef,
60             {   step    => q{init::manifest} },
61         ],
62     };
63     capture(
64         sub { $rv = print_conclusion($pseudo_conf, $make_version); },
65         \$stdout,
66     );
67     ok(! defined $rv, "print_conclusion() returned undefined value" );
69     like( $stdout,
70         qr/During configuration the following steps failed:.*init::manifest/s,
71         "Got expected message re configuration step failure" );
75 pass("Completed all tests in $0");
77 ################### DOCUMENTATION ###################
79 =head1 NAME
81 002-messages.t - test Parrot::Configure::Messages
83 =head1 SYNOPSIS
85     % prove t/configure/components/002-messages.t
87 =head1 DESCRIPTION
89 The files in this directory test functionality used by F<Configure.pl>.
91 The tests in this file test subroutines exported by
92 Parrot::Configure::Messages.
94 =head1 AUTHOR
96 James E Keenan
98 =head1 SEE ALSO
100 Parrot::Configure::Messages, F<Configure.pl>.
102 =cut
104 # Local Variables:
105 #   mode: cperl
106 #   cperl-indent-level: 4
107 #   fill-column: 100
108 # End:
109 # vim: expandtab shiftwidth=4: