+{ # check validation of palette entries
+ my $im = Imager->new(xsize => 10, ysize => 10, type => 'paletted');
+ $im->addcolors(colors => [ $black, $red ]);
+ {
+ my $no_croak = eval {
+ $im->setscanline(y => 0, type => 'index', pixels => [ 0, 1 ]);
+ 1;
+ };
+ ok($no_croak, "valid values don't croak");
+ }
+ {
+ my $no_croak = eval {
+ $im->setscanline(y => 0, type => 'index', pixels => pack("C*", 0, 1));
+ 1;
+ };
+ ok($no_croak, "valid values don't croak (packed)");
+ }
+ {
+ my $no_croak = eval {
+ $im->setscanline(y => 0, type => 'index', pixels => [ 2, 255 ]);
+ 1;
+ };
+ ok(!$no_croak, "invalid values do croak");
+ }
+ {
+ my $no_croak = eval {
+ $im->setscanline(y => 0, type => 'index', pixels => pack("C*", 2, 255));
+ 1;
+ };
+ ok(!$no_croak, "invalid values do croak (packed)");
+ }
+}
+