addtag() - L<Imager::ImageTypes/addtag> - add image tags
-arc() - L<Imager::Draw/arc>
-
align_string() - L<Imager::Draw/align_string>
+arc() - L<Imager::Draw/arc>
+
bits() - L<Imager::ImageTypes/bits> - number of bits per sample for the
image
getheight() - L<Imager::ImageTypes/getwidth>
+getmask() - L<Imager::ImageTypes/getmask>
+
getpixel() - L<Imager::Draw/getpixel>
getsamples() - L<Imager::Draw/getsamples>
img_set() - L<Imager::ImageTypes/img_set>
+init() - L<Imager::ImageTypes/init>
+
line() - L<Imager::Draw/line>
+load_plugin() - L<Imager::Filters/load_plugin>
+
map() - L<Imager::Transformations/"Color Mappings"> - remap color
channel values
maxcolors() - L<Imager::ImageTypes/maxcolors>
+NC() - L<Imager::Handy/NC>
+
new() - L<Imager::ImageTypes/new>
+newcolor() - L<Imager::Handy/newcolor>
+
+newcolour() - L<Imager::Handy/newcolour>
+
+newfont() - L<Imager::Handy/newfont>
+
+NF() - L<Imager::Handy/NF>
+
open() - L<Imager::Files> - an alias for read()
parseiptc() - L<Imager::Files/parseiptc> - parse IPTC data from a JPEG
read_multi() - L<Imager::Files> - read multiple images from an image
file
+register_filter() - L<Imager::Filters/register_filter>
+
+register_reader() - L<Imager::Filters/register_reader>
+
+register_writer() - L<Imager::Filters/register_writer>
+
rotate() - L<Imager::Transformations/rotate>
rubthrough() - L<Imager::Transformations/rubthrough> - draw an image onto an
setcolors() - L<Imager::ImageTypes/setcolors> - set palette colors in
a paletted image
+set_file_limits() - L<Imager::Files/"Limiting the sizes of images you read">
+
+setmask() - L<Imager::ImageTypes/setmask>
+
setpixel() - L<Imager::Draw/setpixel>
setscanline() - L<Imager::Draw/setscanline>
settag() - L<Imager::ImageTypes/settag>
-set_file_limits() - L<Imager::Files/"Limiting the sizes of images you read">
-
string() - L<Imager::Draw/string> - draw text on an image
tags() - L<Imager::ImageTypes/tags> - fetch image tags
type() - L<Imager::ImageTypes/type> - type of image (direct vs paletted)
+unload_plugin() - L<Imager::Filters/unload_plugin>
+
virtual() - L<Imager::ImageTypes/virtual> - whether the image has it's own
data
'^malloc_state$',
'^init_log$',
'^polybezier$', # not ready for public consumption
+ '^border$', # I don't know what it is, expect it to go away
);
my @trustme = ( '^open$', );
-plan tests => 15;
+plan tests => 17;
{
pod_coverage_ok('Imager', { also_private => \@private,
pod_coverage_ok('Imager::Transform');
}
+{
+ # check all documented methods/functions are in the method index
+ my $coverage =
+ Pod::Coverage::Imager->new(package => 'Imager',
+ pod_from => \@pods,
+ trustme => \@trustme,
+ also_private => \@private);
+ my %methods = map { $_ => 1 } $coverage->covered;
+ open IMAGER, "< Imager.pm"
+ or die "Cannot open Imager.pm: $!";
+ while (<IMAGER>) {
+ last if /^=head1 METHOD INDEX/;
+ }
+ my @indexed;
+ while (<IMAGER>) {
+ last if /^=\w/;
+
+ if (/^(\w+)\(/) {
+ push @indexed, $1;
+ delete $methods{$1};
+ }
+ }
+
+ unless (is(keys %methods, 0, "all methods in method index")) {
+ print "# the following methods are documented but not in the index:\n";
+ print "# $_\n" for sort keys %methods;
+ }
+
+ sub dict_cmp_func;
+ is_deeply(\@indexed, [ sort dict_cmp_func @indexed ],
+ "check method index is alphabetically sorted");
+}
+
+sub dict_cmp_func {
+ (my $tmp_a = lc $a) =~ tr/_//d;
+ (my $tmp_b = lc $b) =~ tr/_//d;
+
+ $tmp_a cmp $tmp_b;
+}