From d3f582172b9d1b2a029b967a4ab9cacc8083800d Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Wed, 2 Nov 2011 22:58:53 +1100 Subject: [PATCH] PNG re-work: add more image type TODO tests --- MANIFEST | 6 ++++++ PNG/t/10png.t | 26 ++++++++++++++++++++++++-- PNG/testimg/bilevel.png | Bin 0 -> 69 bytes PNG/testimg/rgb16.png | Bin 0 -> 3209 bytes 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 PNG/testimg/bilevel.png create mode 100644 PNG/testimg/rgb16.png diff --git a/MANIFEST b/MANIFEST index 64f5975d..4d07d3e8 100644 --- a/MANIFEST +++ b/MANIFEST @@ -226,8 +226,14 @@ PNG/README PNG/t/00load.t PNG/t/10png.t Test png support PNG/testimg/badcrc.png +PNG/testimg/bilevel.png +PNG/testimg/gray.png +PNG/testimg/graya.png +PNG/testimg/pal.png PNG/testimg/palette.png PNG/testimg/palette_out.png +PNG/testimg/paltrans.png +PNG/testimg/rgb16.png pnm.c polygon.c ppport.h diff --git a/PNG/t/10png.t b/PNG/t/10png.t index 3ebe9c43..c3a248ce 100644 --- a/PNG/t/10png.t +++ b/PNG/t/10png.t @@ -13,7 +13,7 @@ init_log("testout/t102png.log",1); $Imager::formats{"png"} or plan skip_all => "No png support"; -plan tests => 63; +plan tests => 73; diag("Library version " . Imager::File::PNG::i_png_lib_version()); @@ -230,6 +230,7 @@ SKIP: "read grayscale"); is($im->getchannels, 1, "check channel count"); is($im->type, "direct", "check type"); + is($im->bits, 8, "check bits"); } { # test grayscale + alpha read as greyscale + alpha @@ -238,6 +239,7 @@ SKIP: "read grayscale + alpha"); is($im->getchannels, 2, "check channel count"); is($im->type, "direct", "check type"); + is($im->bits, 8, "check bits"); } { # test paletted + alpha read as paletted @@ -252,10 +254,30 @@ SKIP: { # test paletted read as paletted my $im = Imager->new; ok($im->read(file => "testimg/pal.png", type => "png"), - "read paletted with alpha"); + "read paletted"); + is($im->getchannels, 3, "check channel count"); + local $TODO = "Not yet implemented"; + is($im->type, "paletted", "check type"); +} + +{ # test 16-bit rgb read as 16 bit + my $im = Imager->new; + ok($im->read(file => "testimg/rgb16.png", type => "png"), + "read 16-bit rgb"); is($im->getchannels, 3, "check channel count"); + is($im->type, "direct", "check type"); + local $TODO = "Not yet implemented"; + is($im->bits, 16, "check bits"); +} + +{ # test 1-bit grey read as mono + my $im = Imager->new; + ok($im->read(file => "testimg/bilevel.png", type => "png"), + "read bilevel png"); + is($im->getchannels, 1, "check channel count"); local $TODO = "Not yet implemented"; is($im->type, "paletted", "check type"); + ok($im->is_bilevel, "should be bilevel"); } sub limited_write { diff --git a/PNG/testimg/bilevel.png b/PNG/testimg/bilevel.png new file mode 100644 index 0000000000000000000000000000000000000000..7be3a21aeec8883ae7fc974134713b0dc79b5d57 GIT binary patch literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^Od!k%Bp9O38gv3F9#0p?5RRG21qm4p42&)e2lLYn QAAsaNUHx3vIVCg!0Fg!x3;+NC literal 0 HcmV?d00001 diff --git a/PNG/testimg/rgb16.png b/PNG/testimg/rgb16.png new file mode 100644 index 0000000000000000000000000000000000000000..232a6f01a499ecd266b61e92fc12ac12a013b448 GIT binary patch literal 3209 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 IiBIx>0rY7&x&QzG literal 0 HcmV?d00001 -- 2.39.5