]> source.dussan.org Git - poi.git/commitdiff
bug 50401 - fixed EscherProperty to return property name instead of 'unknown' for...
authorYegor Kozlov <yegor@apache.org>
Thu, 21 Jul 2011 11:00:41 +0000 (11:00 +0000)
committerYegor Kozlov <yegor@apache.org>
Thu, 21 Jul 2011 11:00:41 +0000 (11:00 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1149111 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/status.xml
src/java/org/apache/poi/ddf/EscherProperty.java
src/testcases/org/apache/poi/ddf/TestEscherProperty.java [new file with mode: 0644]

index b4b5101a306415dfe647f233ce7e6cbd8ffd7fa7..7a874d208abecaea9db8e592cabf111b3fddaf53 100644 (file)
@@ -34,6 +34,7 @@
 
     <changes>
         <release version="3.8-beta4" date="2011-??-??">
+           <action dev="poi-developers" type="fix">50401 - fixed EscherProperty to return property name instead of 'unknown' for complex properties </action>
            <action dev="poi-developers" type="add">Initial support for endnotes and footnotes in HWPF</action>
            <action dev="poi-developers" type="fix">51470 - avoid exception when cloning XSSF sheets with background images</action>
            <action dev="poi-developers" type="fix">51481 - Fixed autofilters in HSSF to avoid warnings in Excel 2007</action>
index faa2cc44a11f31223ca1b3d69d665f3944d07462..e06fff1bfcb9f0540b55f82929fae6b6d08b7b41 100644 (file)
@@ -62,7 +62,7 @@ public abstract class EscherProperty {
     }
 
     public String getName() {
-        return EscherProperties.getPropertyName(_id);
+        return EscherProperties.getPropertyName(getPropertyNumber());
     }
 
     /**
diff --git a/src/testcases/org/apache/poi/ddf/TestEscherProperty.java b/src/testcases/org/apache/poi/ddf/TestEscherProperty.java
new file mode 100644 (file)
index 0000000..faa7604
--- /dev/null
@@ -0,0 +1,57 @@
+/* ====================================================================
+   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.poi.ddf;
+
+import junit.framework.TestCase;
+
+import java.util.List;
+import java.lang.reflect.Field;
+
+import org.apache.poi.util.HexRead;
+import org.apache.poi.util.HexDump;
+
+/**
+ * @author Yegor Kozlov
+ */
+public class TestEscherProperty extends TestCase
+{
+    /**
+     * assure that EscherProperty.getName() returns correct name for complex properties
+     * See Bugzilla 50401 
+     */
+    public void testPropertyNames() throws Exception {
+        EscherProperty p1 = new EscherSimpleProperty( EscherProperties.GROUPSHAPE__SHAPENAME, 0);
+        assertEquals("groupshape.shapename", p1.getName());
+        assertEquals(EscherProperties.GROUPSHAPE__SHAPENAME, p1.getPropertyNumber());
+        assertFalse(p1.isComplex());
+
+        EscherProperty p2 = new EscherComplexProperty(
+                EscherProperties.GROUPSHAPE__SHAPENAME, false, new byte[10]);
+        assertEquals("groupshape.shapename", p2.getName());
+        assertEquals(EscherProperties.GROUPSHAPE__SHAPENAME, p2.getPropertyNumber());
+        assertTrue(p2.isComplex());
+        assertFalse(p2.isBlipId());
+
+        EscherProperty p3 = new EscherComplexProperty(
+                EscherProperties.GROUPSHAPE__SHAPENAME, true, new byte[10]);
+        assertEquals("groupshape.shapename", p3.getName());
+        assertEquals(EscherProperties.GROUPSHAPE__SHAPENAME, p3.getPropertyNumber());
+        assertTrue(p3.isComplex());
+        assertTrue(p3.isBlipId());
+    }
+}
\ No newline at end of file