From e16e9b24e1a5e4f98f74f2347b4d61f584a56c9e Mon Sep 17 00:00:00 2001 From: Avik Sengupta Date: Thu, 30 Oct 2003 18:14:55 +0000 Subject: [PATCH] fix for bug 16560. But the testcase in HEAD was already failing, so continues to fail even now. git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353427 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/hssf/record/BoolErrRecord.java | 11 ++++++++--- .../org/apache/poi/hssf/usermodel/TestHSSFCell.java | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/java/org/apache/poi/hssf/record/BoolErrRecord.java b/src/java/org/apache/poi/hssf/record/BoolErrRecord.java index 859748a84..814649641 100644 --- a/src/java/org/apache/poi/hssf/record/BoolErrRecord.java +++ b/src/java/org/apache/poi/hssf/record/BoolErrRecord.java @@ -172,14 +172,19 @@ public class BoolErrRecord * set the error value for the cell * * @param value error representing the error value + * this value can only be 0,7,15,23,29,36 or 42 + * see bugzilla bug 16560 for an explanation */ public void setValue(byte value) { - field_4_bBoolErr = value; - field_5_fError = ( byte ) 1; + if ( (value==0)||(value==7)||(value==15)||(value==23)||(value==29)||(value==36)||(value==42)) { + field_4_bBoolErr = value; + field_5_fError = ( byte ) 1; + } else { + throw new RuntimeException("Error Value can only be 0,7,15,23,29,36 or 42. It cannot be "+value); + } } - //public short getRow() public int getRow() { diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java index dcb114cae..1ad975980 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java @@ -116,7 +116,7 @@ extends TestCase { c=r.createCell((short)2); //c.setCellType(HSSFCell.CELL_TYPE_ERROR); - c.setCellErrorValue((byte)1); + c.setCellErrorValue((byte)7); wb.write(out); @@ -136,7 +136,7 @@ extends TestCase { c = r.getCell((short)1); assertTrue("boolean value 0,1 = 0",c.getErrorCellValue() == 0); c = r.getCell((short)2); - assertTrue("boolean value 0,2 = 1",c.getErrorCellValue() == 1); + assertTrue("boolean value 0,2 = 7",c.getErrorCellValue() == 7); in.close(); }