From 2b7b9df777739363c2db13a8c0d67e643cda4585 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 1 Dec 2024 20:38:34 +1300 Subject: [PATCH] Replace issue-159 test --- tests/files/issue-159.png | Bin 6371 -> 0 bytes .../palette_should_be_reduced_with_bkgd.png | Bin 0 -> 422 bytes tests/reduction.rs | 39 ++++++++++++++++++ tests/regression.rs | 12 ------ 4 files changed, 39 insertions(+), 12 deletions(-) delete mode 100644 tests/files/issue-159.png create mode 100644 tests/files/palette_should_be_reduced_with_bkgd.png diff --git a/tests/files/issue-159.png b/tests/files/issue-159.png deleted file mode 100644 index cd5585ab46bfdcf84e789db144b2b08b1dac036f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6371 zcmV<97#!z`P)@5>|n}ezORdoX1gXi1NeXn?;?~z`j}3td=l+v8Z}naePso zHY7j3sKI!VaZ8QHB&Fd+os9*I!;6}Xtr~{Ut!&J=8{Q)3ZpedM#F>LigImPIgopOG zIJiY3Eds1$81y1@dkY5+-3@NI)aHA}!)9>9rMed!3qkVOhRgLOA`2Sku?^QID6?oQ z4sAGB7tizfC=6{lUuP=v_{a}!xFDjLYM^ciEyAZuf%qtoY~T6b2|)&yX=MARd!E#- zZ64Xa`F@2guQG9D``**Tqw@70`pD+p%sZeTKy&w-M0GK81IFO*&m?^@8Zd@BJI0MN z520Pg)o6Xa?$&P#CoRHR=Wly$xV_&Lj%EpGTaNwpx1-+__GSrW{pT>+R+sePQE=!t zt$X1z1Z;IteZOhF#^=<{==F~SXmv?O29|jM?Ns4q z4M$S1X@%EY@bJ>#OEUMO#Wp5+YkQ$>y=XgqTm+V}7wz@+P6R~r>s3Rq*}ta7i(u^z zEJLrMruq_WOn21ad(m>8AhvpUq~m(cKG(%7#v$8{_JT>$zV85_*X&=@Us4OA3?LuZAUarlH_MOSvhh{*jQ8tvHxq2TMBcOz)`%(IMpMLW9O+tto{#{$c8f6oZo#jZwsb02+Z zb*@hq;~#B(`kZe?JJ>~wqK4dwcC>>ov)jVlkM>$KIPYnTyev5NxN=u*d*e5TWeDxH z*Xg{6EfR*%wu*Kq$8%}t{OgN)(Na6_%k~=ZK7jiUOrJVg}%@_-&x~AI_^LFJ#e#q1;gPRG`xQ>w0#Wi;%9a!W$i^f$RI4VX&CL~v5xOXBX3DE># z3co?SZ*6tsZucJg7;R$)ai^2MLp$Iaaxd`LXjIPjWTM?@5WW;Zo4!Cx_2O`E+yOM$ z?hu=EJVgIJl_9wC;%O32iJIw019|tv^9aKSj$ewCO}!r4JdueOUgj6-2txyy1Jt zZ*A7O&@#vI3p5A`M{m2<3D`33U=ZV{bE^h)X9M$x{MvR6`K{sme~Mt5iP?E6B?TXtp|?Yqo(Xj!9ShISBbp`ySs zlJ8ab(?q3|{>(NvgN4c;+xKWIm1Y``psTpc%wVOm(O9)Y=0iMfkZ;lUwtY{i@^qmc zJoCfqS-mwQmE%f{#8s=8Lud{wWNXVPb=BHbHZQbN@jz8k~S4i7(%;bW;-^q4zOeK1b~iHtVhuqO%mb_m zyOJ^?KcpAU)hW7|AMNLdheRorn&&#BY( z%KGVnOWM!8!rCtO1o$$-3JX;6qs9Yjtms7ZqKduJA`GzUnu#u~{iD{PLpR!v)&G+$ zp)B1jMC3VmVo3&KPIRIjj5V>gs`xd)-mD&WXB}i^kf*BHCe=tGdgwtrdDPH?k$r%X zn}MZMqlOt-M4f2FAd0f5*!41*^L;fasuOsGvyIFvCz}KY(Q>73@dk!&cKVErwJe$| zx|#EgO*e~?o=BFk z2!4cy59fSfEh+uIJe-m1Sl3d2pOIh-XY9Hg=z(hS#y-K0TPA3=8bLdziQNGWvh*h| zso-nStqtf-y=b)??PU)1*WSh;V$!w$2HN)8kG8T;w&BeK?ODV?-1PT!w~kRa#I9$w zyGbs#?7*q^b$G)5)H3b(X*Vbjai8--av==r63mc}TG?(J zX^4-|tH|zvL(TdD`Y10p(2*{2*5kS1Ku0>*J@%iT^lxL`^^Wz%uJYs>Fou

iaJQ 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 QF#rGn07*qoM6N<$f`@O+kN^Mx literal 0 HcmV?d00001 diff --git a/tests/reduction.rs b/tests/reduction.rs index 752de3a2..88f7fc0a 100644 --- a/tests/reduction.rs +++ b/tests/reduction.rs @@ -1048,6 +1048,45 @@ fn palette_should_be_reduced_with_unused() { remove_file(output).ok(); } +#[test] +fn palette_should_be_reduced_with_bkgd() { + let input = PathBuf::from("tests/files/palette_should_be_reduced_with_bkgd.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::One); + assert_eq!(&png.aux_chunks[0].name, b"bKGD"); + if let ColorType::Indexed { palette } = &png.raw.ihdr.color_type { + assert_eq!(palette.len(), 3); + } + + 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::One); + assert_ne!(&png.aux_chunks[0].name, b"bKGD"); + if let ColorType::Indexed { palette } = &png.raw.ihdr.color_type { + assert_eq!(palette.len(), 2); + } + + remove_file(output).ok(); +} + #[test] fn palette_should_be_reduced_with_both() { let input = PathBuf::from("tests/files/palette_should_be_reduced_with_both.png"); diff --git a/tests/regression.rs b/tests/regression.rs index 586663fa..765a04f5 100644 --- a/tests/regression.rs +++ b/tests/regression.rs @@ -161,18 +161,6 @@ fn issue_140() { ); } -#[test] -fn issue_159() { - test_it_converts( - "tests/files/issue-159.png", - None, - INDEXED, - BitDepth::One, - INDEXED, - BitDepth::One, - ); -} - #[test] fn issue_171() { test_it_converts(