From 800fe0f7ac2055124a10e5a45d955e6cd6c2d398 Mon Sep 17 00:00:00 2001 From: "vitali.prudnikovich" Date: Wed, 5 Oct 2022 08:58:34 +0000 Subject: [PATCH] Fix MergeWithSameNamedOCGTest test to do not accept possible false positive DEVSIX-6093 Autoported commit. Original commit hash: [0a6dd44b9] --- .../itext/kernel/utils/PdfMergerTest.cs | 3 +++ .../cmp_MergeWithSameNamedOCG.pdf | Bin 2343 -> 2354 bytes .../utils/PdfMergerTest/sameNamdOCGSource.pdf | Bin 1893 -> 5814 bytes .../itext/kernel/pdf/OcgPropertiesCopier.cs | 2 ++ port-hash | 2 +- 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/itext.tests/itext.kernel.tests/itext/kernel/utils/PdfMergerTest.cs b/itext.tests/itext.kernel.tests/itext/kernel/utils/PdfMergerTest.cs index eb5b7bb7b..ce6f30b25 100644 --- a/itext.tests/itext.kernel.tests/itext/kernel/utils/PdfMergerTest.cs +++ b/itext.tests/itext.kernel.tests/itext/kernel/utils/PdfMergerTest.cs @@ -458,6 +458,9 @@ namespace iText.Kernel.Utils { } NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(mergedDocument, cmpDocument, destinationFolder )); + // We have to compare visually also because compareByContent doesn't catch the differences in OCGs with the same names + NUnit.Framework.Assert.IsNull(new CompareTool().CompareVisually(mergedDocument, cmpDocument, destinationFolder + , "diff_")); } private void MergePdfs(IList sources, String destination) { diff --git a/itext.tests/itext.kernel.tests/resources/itext/kernel/utils/PdfMergerTest/cmp_MergeWithSameNamedOCG.pdf b/itext.tests/itext.kernel.tests/resources/itext/kernel/utils/PdfMergerTest/cmp_MergeWithSameNamedOCG.pdf index 51087dd38d2f7e48071de923116c9db67262624b..652264cdc95ed1b8e5287c0c4ed1c0d92ef34274 100644 GIT binary patch delta 216 zcmZ23v`J`#K8v2Afq{vknSrUHxwe6^x`BbZroL}}ic4Zis)mb|k%5sBih|9tEZZ14 z-Q1$h6$})DVmAx21v1r}7%CWmfI^-E7nosSXl`VI5GyH4%*;tG; zZ~eyZ-YewWr@wp{l^#exM87`u(|2#b=e>3RdDY!?4|?yubMO5ppZMmJa*4Z^8cUtD z<~{-l2@8@K3CFv*!#v;F3a5vBAG)O@Q&W!cz7qixQaBj6%i?enxhw`Kw?Ul$p@>qx z2te&e;h05*Zy+3CFC%lQvqIJK=rpd>s8Ac3M zD@ui+*Vh}@_jl1<7R6xa^$ql)LI{z;5=DX=U5~=a7~Q-v*9x*<1!K~$(_w|gD;@h zI{R6tr?Lx`f~r=wvR6~%@okv`?R1fOb=H?X^{?bIH8+brKs zlCh2P$;nCOM6HC;F{YMfVWMC~k%2>wPlLpn%0c|xOi8Av#bP(|$NVfqT(8p)C&^~H z%njvFy0OtXHx$GbvB`=Xj_}kOV_G42mC(50-GUG-fRMUU$a8Z;<4H6W`|(`NhHS*I zYamBg%0VDHom_OmT;}6wgmVC3e>D)XMZqzCQr9{7GErrf_Gs0nmMu3D30$VKj1*x-%XR;aYL27!8F6LZwWzFl7LohR zWim5NeNc5Qm-eff-hynZw}yEU6pCV2ae@jZ2j!0QdKXK1jXbUo^9?^P3!wMX$c4bY zgzFNn3n6eJ=F9B5gzG{GT!{HHyZ$q{3KIiNahv56mYv95l zTo{jcS}<}qXCrq*CtHTnoR8d%t#ssWw~e;dZkzB=Yr*fO4bxD!R7-_{w4t{fS{;5s Zjo4kpXXiS=lTXtnN!Jxpn$6QC>32!_Fqr@V delta 7 Ocmdm{`;>1(DmwrTp#t*& diff --git a/itext/itext.kernel/itext/kernel/pdf/OcgPropertiesCopier.cs b/itext/itext.kernel/itext/kernel/pdf/OcgPropertiesCopier.cs index cfa9a21a4..ffdce54b5 100644 --- a/itext/itext.kernel/itext/kernel/pdf/OcgPropertiesCopier.cs +++ b/itext/itext.kernel/itext/kernel/pdf/OcgPropertiesCopier.cs @@ -230,6 +230,8 @@ namespace iText.Kernel.Pdf { foreach (PdfIndirectReference fromOcgRef in fromOcgsToCopy) { PdfDictionary toOcg = (PdfDictionary)fromOcgRef.GetRefersTo().CopyTo(toDocument, false); String currentLayerName = toOcg.GetAsString(PdfName.Name).ToUnicodeString(); + // Here we check on existed layer names only in destination document but not in source document. + // That is why there is no something like layerNames.add(currentLayerName); after this if statement if (layerNames.Contains(currentLayerName)) { hasConflictingNames = true; int i = 0; diff --git a/port-hash b/port-hash index e337f9bb3..c1449ef67 100644 --- a/port-hash +++ b/port-hash @@ -1 +1 @@ -9561a1aecf626a4609068b87fe76b467bc41cf21 +0a6dd44b90f5bc37df559d1f1b2e620d807a07a6