Add test for image with truncated palette
This commit is contained in:
parent
eae53362b2
commit
a30ee05ca8
2 changed files with 37 additions and 0 deletions
BIN
tests/files/palette_should_be_reduced_with_missing.png
Normal file
BIN
tests/files/palette_should_be_reduced_with_missing.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 138 B |
|
|
@ -1049,6 +1049,43 @@ fn palette_should_be_reduced_with_both() {
|
||||||
remove_file(output).ok();
|
remove_file(output).ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn palette_should_be_reduced_with_missing() {
|
||||||
|
let input = PathBuf::from("tests/files/palette_should_be_reduced_with_missing.png");
|
||||||
|
let (output, opts) = get_opts(&input);
|
||||||
|
|
||||||
|
let png = PngData::new(&input, &opts).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(png.raw.ihdr.color_type.png_header_code(), INDEXED);
|
||||||
|
assert_eq!(png.raw.ihdr.bit_depth, BitDepth::Eight);
|
||||||
|
if let ColorType::Indexed { palette } = &png.raw.ihdr.color_type {
|
||||||
|
assert_eq!(palette.len(), 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
match oxipng::optimize(&InFile::Path(input), &output, &opts) {
|
||||||
|
Ok(_) => (),
|
||||||
|
Err(x) => panic!("{}", x),
|
||||||
|
};
|
||||||
|
let output = output.path().unwrap();
|
||||||
|
assert!(output.exists());
|
||||||
|
|
||||||
|
let png = match PngData::new(output, &opts) {
|
||||||
|
Ok(x) => x,
|
||||||
|
Err(x) => {
|
||||||
|
remove_file(output).ok();
|
||||||
|
panic!("{}", x)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
assert_eq!(png.raw.ihdr.color_type.png_header_code(), INDEXED);
|
||||||
|
assert_eq!(png.raw.ihdr.bit_depth, BitDepth::Two);
|
||||||
|
if let ColorType::Indexed { palette } = &png.raw.ihdr.color_type {
|
||||||
|
assert_eq!(palette.len(), 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_file(output).ok();
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn rgba_16_reduce_alpha() {
|
fn rgba_16_reduce_alpha() {
|
||||||
test_it_converts(
|
test_it_converts(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue