bug 50401 - fixed EscherProperty to return property name instead of 'unknown' for complex properties

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1149111 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yegor Kozlov 2011-07-21 11:00:41 +00:00
parent 09653df7bc
commit e0322786b1
3 changed files with 59 additions and 1 deletions

View File

@ -34,6 +34,7 @@
<changes> <changes>
<release version="3.8-beta4" date="2011-??-??"> <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="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">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> <action dev="poi-developers" type="fix">51481 - Fixed autofilters in HSSF to avoid warnings in Excel 2007</action>

View File

@ -62,7 +62,7 @@ public abstract class EscherProperty {
} }
public String getName() { public String getName() {
return EscherProperties.getPropertyName(_id); return EscherProperties.getPropertyName(getPropertyNumber());
} }
/** /**

View File

@ -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());
}
}