Author: msahyoun Date: Wed Jan 1 16:54:36 2020 New Revision: 1872183 URL: http://svn.apache.org/viewvc?rev=1872183&view=rev Log: PDFBOX-4723: make sure a COSDictionary is not equal to COSStream with same dictionary content
Added: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/COSDictionaryTest.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java?rev=1872183&r1=1872182&r2=1872183&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java Wed Jan 1 16:54:36 2020 @@ -1460,7 +1460,7 @@ public class COSDictionary extends COSBa return true; } - if (!(o instanceof COSDictionary)) + if (!(o.getClass().getName().equals(this.getClass().getName()))) { return false; } Added: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/COSDictionaryTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/COSDictionaryTest.java?rev=1872183&view=auto ============================================================================== --- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/COSDictionaryTest.java (added) +++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/cos/COSDictionaryTest.java Wed Jan 1 16:54:36 2020 @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.pdfbox.cos; + +import static org.junit.Assert.assertFalse; +import org.junit.Test; + +public class COSDictionaryTest +{ + @Test + public void testCOSDictionaryNotEqualsCOSStream() + { + COSDictionary cosDictionary = new COSDictionary(); + COSStream cosStream = new COSStream(); + cosDictionary.setItem(COSName.BE, COSName.BE); + cosDictionary.setInt(COSName.LENGTH, 0); + cosStream.setItem(COSName.BE, COSName.BE); + assertFalse("a COSDictionary shall not be equal to a COSStream with the same dictionary entries", cosDictionary.equals(cosStream)); + assertFalse("a COSStream shall not be equal to a COSDictionary with the same dictionary entries", cosStream.equals(cosDictionary)); + } +} \ No newline at end of file