From d38fd2ac9a17dea3cec83ce1aa3e30e7477a2abe Mon Sep 17 00:00:00 2001 From: Yegor Kozlov Date: Mon, 24 Dec 2007 09:48:11 +0000 Subject: [PATCH] fix reopen of bug 42999: incorrect AnchorHeight calculations in HSSFClientAnchor.getAnchorHeightInPoints git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@606684 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hssf/usermodel/HSSFClientAnchor.java | 4 ++-- .../hssf/usermodel/TestHSSFClientAnchor.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java b/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java index 04a0f57328..4d9098d75a 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java @@ -82,8 +82,8 @@ public class HSSFClientAnchor */ public float getAnchorHeightInPoints(HSSFSheet sheet ) { - int y1 = Math.min( getDy1(), getDy2() ); - int y2 = Math.max( getDy1(), getDy2() ); + int y1 = getDy1(); + int y2 = getDy2(); int row1 = Math.min( getRow1(), getRow2() ); int row2 = Math.max( getRow1(), getRow2() ); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFClientAnchor.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFClientAnchor.java index 10c4e390cb..655f78eddb 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFClientAnchor.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFClientAnchor.java @@ -85,4 +85,23 @@ public class TestHSSFClientAnchor extends TestCase assertEquals(anchor[i].getRow2(), record.getRow2()); } } + + public void testAnchorHeightInPoints(){ + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet sheet = wb.createSheet(); + + HSSFClientAnchor[] anchor = { + new HSSFClientAnchor( 0 , 0, 0 , 0 ,(short)0, 1,(short)1, 3), + new HSSFClientAnchor( 0 , 254 , 0 , 126 ,(short)0, 1,(short)1, 3), + new HSSFClientAnchor( 0 , 128 , 0 , 128 ,(short)0, 1,(short)1, 3), + new HSSFClientAnchor( 0 , 0 , 0 , 128 ,(short)0, 1,(short)1, 3), + }; + float[] ref = {24.0f, 18.0f, 24.0f, 30.0f}; + for (int i = 0; i < anchor.length; i++) { + float height = anchor[i].getAnchorHeightInPoints(sheet); + assertEquals(ref[i], height, 0); + } + + } + } -- 2.39.5