Fix for bug 45380 - added return keyword in ArrayPtg.toFormulaString()
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@676457 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9c3f4b14c6
commit
92a6e4538b
@ -37,6 +37,7 @@
|
||||
|
||||
<!-- Don't forget to update status.xml too! -->
|
||||
<release version="3.1.1-alpha1" date="2008-??-??">
|
||||
<action dev="POI-DEVELOPERS" type="add">45380 - Missing return keyword in ArrayPtg.toFormulaString()</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">44958 - Record level support for Data Tables. (No formula parser support though)</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">35583 - Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another</action>
|
||||
|
@ -34,6 +34,7 @@
|
||||
<!-- Don't forget to update changes.xml too! -->
|
||||
<changes>
|
||||
<release version="3.1.1-alpha1" date="2008-??-??">
|
||||
<action dev="POI-DEVELOPERS" type="add">45380 - Missing return keyword in ArrayPtg.toFormulaString()</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">44958 - Record level support for Data Tables. (No formula parser support though)</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">35583 - Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another</action>
|
||||
|
@ -176,7 +176,7 @@ public final class ArrayPtg extends Ptg {
|
||||
return ((Double)o).toString();
|
||||
}
|
||||
if (o instanceof Boolean) {
|
||||
((Boolean)o).toString();
|
||||
return ((Boolean)o).booleanValue() ? "TRUE" : "FALSE";
|
||||
}
|
||||
if (o instanceof ErrorConstant) {
|
||||
return ((ErrorConstant)o).getText();
|
||||
|
@ -102,7 +102,7 @@ public final class TestArrayPtg extends TestCase {
|
||||
public void testElementOrderingInSpreadsheet() {
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("ex42564-elementOrder.xls");
|
||||
|
||||
// The formula has an array with 3 rows and 5 column
|
||||
// The formula has an array with 3 rows and 5 columns
|
||||
String formula = wb.getSheetAt(0).getRow(0).getCell((short)0).getCellFormula();
|
||||
// TODO - These number literals should not have '.0'. Excel has different number rendering rules
|
||||
|
||||
@ -111,4 +111,21 @@ public final class TestArrayPtg extends TestCase {
|
||||
}
|
||||
assertEquals("SUM({1.0,2.0,3.0;4.0,5.0,6.0;7.0,8.0,9.0;10.0,11.0,12.0;13.0,14.0,15.0})", formula);
|
||||
}
|
||||
|
||||
public void testToFormulaString() {
|
||||
ArrayPtg ptg = new ArrayPtg(new TestcaseRecordInputStream(ArrayPtg.sid, ENCODED_PTG_DATA));
|
||||
|
||||
ptg.readTokenValues(new TestcaseRecordInputStream(0, ENCODED_CONSTANT_DATA));
|
||||
|
||||
String actualFormula;
|
||||
try {
|
||||
actualFormula = ptg.toFormulaString(null);
|
||||
} catch (IllegalArgumentException e) {
|
||||
if (e.getMessage().equals("Unexpected constant class (java.lang.Boolean)")) {
|
||||
throw new AssertionFailedError("Identified bug 45380");
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
assertEquals("{TRUE,\"ABCD\";\"E\",0.0;FALSE,\"FG\"}", actualFormula);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user