This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
remove typo fix from LaTex.pm, to keep it in sync with CPAN
[perl5.git] / lib / Pod / t / Functions.t
CommitLineData
66c981cf
AT
1#!perl
2
3BEGIN {
4 chdir 't' if -d 't';
5 @INC = '../lib';
66c981cf
AT
6}
7
8use File::Basename;
9use File::Spec;
10
11use Test::More;
12plan tests => 9;
13
14
15use_ok( 'Pod::Functions' );
16
17# How do you test exported vars?
18my( $pkg_ref, $exp_ref ) = ( \%Pod::Functions::Kinds, \%Kinds );
19is( $pkg_ref, $exp_ref, '%Pod::Functions::Kinds exported' );
20
21( $pkg_ref, $exp_ref ) = ( \%Pod::Functions::Type, \%Type );
22is( $pkg_ref, $exp_ref, '%Pod::Functions::Type exported' );
23
24( $pkg_ref, $exp_ref ) = ( \%Pod::Functions::Flavor, \%Flavor );
25is( $pkg_ref, $exp_ref, '%Pod::Functions::Flavor exported' );
26
27( $pkg_ref, $exp_ref ) = ( \%Pod::Functions::Type_Description,
28 \%Type_Description );
29is( $pkg_ref, $exp_ref, '%Pod::Functions::Type_Description exported' );
30
31( $pkg_ref, $exp_ref ) = ( \@Pod::Functions::Type_Order, \@Type_Order );
32is( $pkg_ref, $exp_ref, '@Pod::Functions::Type_Order exported' );
33
34# Check @Type_Order
35my @catagories = qw(
36 String Regexp Math ARRAY LIST HASH I/O
37 Binary File Flow Namespace Misc Process Modules
38 Objects Socket SysV User Network Time
39);
40
41ok( eq_array( \@Type_Order, \@catagories ),
42 '@Type_Order' );
43
44my @cat_keys = grep exists $Type_Description{ $_ } => @Type_Order;
45
46ok( eq_array( \@cat_keys, \@catagories ),
47 'keys() %Type_Description' );
48
49my( undef, $path ) = fileparse( $0 );
50my $pod_functions = File::Spec->catfile(
51 $path, File::Spec->updir, 'Functions.pm' );
52
53SKIP: {
54 my $test_out = do { local $/; <DATA> };
55
56 skip( "Can't fork '$^X': $!", 1)
6170a8f8 57 unless open my $fh, qq[$^X "-I../lib" $pod_functions |];
66c981cf 58 my $fake_out = do { local $/; <$fh> };
66c981cf
AT
59 skip( "Pipe error: $!", 1)
60 unless close $fh;
61
6170a8f8 62 is( $fake_out, $test_out, 'run as plain program' );
66c981cf
AT
63}
64
65=head1 NAME
66
67Functions.t - Test Pod::Functions
68
69=head1 AUTHOR
70
7120011229 Abe Timmerman <abe@ztreet.demon.nl>
72
73=cut
74
75__DATA__
76
77Functions for SCALARs or strings:
78 chomp, chop, chr, crypt, hex, index, lc, lcfirst, length,
79 oct, ord, pack, q/STRING/, qq/STRING/, reverse, rindex,
80 sprintf, substr, tr///, uc, ucfirst, y///
81
82Regular expressions and pattern matching:
fccfe6e8 83 m//, pos, qr/STRING/, quotemeta, s///, split, study
66c981cf
AT
84
85Numeric functions:
86 abs, atan2, cos, exp, hex, int, log, oct, rand, sin, sqrt,
87 srand
88
89Functions for real @ARRAYs:
90 pop, push, shift, splice, unshift
91
92Functions for list data:
93 grep, join, map, qw/STRING/, reverse, sort, unpack
94
95Functions for real %HASHes:
96 delete, each, exists, keys, values
97
98Input and output functions:
99 binmode, close, closedir, dbmclose, dbmopen, die, eof,
100 fileno, flock, format, getc, print, printf, read, readdir,
101 readline, rewinddir, seek, seekdir, select, syscall,
102 sysread, sysseek, syswrite, tell, telldir, truncate, warn,
103 write
104
105Functions for fixed length data or records:
106 pack, read, syscall, sysread, sysseek, syswrite, unpack,
107 vec
108
109Functions for filehandles, files, or directories:
110 -X, chdir, chmod, chown, chroot, fcntl, glob, ioctl, link,
111 lstat, mkdir, open, opendir, readlink, rename, rmdir,
fccfe6e8 112 stat, symlink, sysopen, umask, unlink, utime
66c981cf
AT
113
114Keywords related to control flow of your perl program:
115 caller, continue, die, do, dump, eval, exit, goto, last,
116 next, prototype, redo, return, sub, wantarray
117
118Keywords altering or affecting scoping of identifiers:
119 caller, import, local, my, our, package, use
120
121Miscellaneous functions:
122 defined, dump, eval, formline, local, my, our, prototype,
123 reset, scalar, undef, wantarray
124
125Functions for processes and process groups:
126 alarm, exec, fork, getpgrp, getppid, getpriority, kill,
fccfe6e8
A
127 pipe, qx/STRING/, readpipe, setpgrp, setpriority, sleep,
128 system, times, wait, waitpid
66c981cf
AT
129
130Keywords related to perl modules:
131 do, import, no, package, require, use
132
133Keywords related to classes and object-orientedness:
fccfe6e8
A
134 bless, dbmclose, dbmopen, package, ref, tie, tied, untie,
135 use
66c981cf
AT
136
137Low-level socket functions:
138 accept, bind, connect, getpeername, getsockname,
139 getsockopt, listen, recv, send, setsockopt, shutdown,
140 socket, socketpair
141
142System V interprocess communication functions:
143 msgctl, msgget, msgrcv, msgsnd, semctl, semget, semop,
144 shmctl, shmget, shmread, shmwrite
145
146Fetching user and group info:
147 endgrent, endhostent, endnetent, endpwent, getgrent,
148 getgrgid, getgrnam, getlogin, getpwent, getpwnam,
149 getpwuid, setgrent, setpwent
150
151Fetching network info:
152 endprotoent, endservent, gethostbyaddr, gethostbyname,
153 gethostent, getnetbyaddr, getnetbyname, getnetent,
154 getprotobyname, getprotobynumber, getprotoent,
155 getservbyname, getservbyport, getservent, sethostent,
156 setnetent, setprotoent, setservent
157
158Time-related functions:
159 gmtime, localtime, time, times