From cda2a2b63d12ff3b399f2122ac4d94483d6a8964 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sun, 13 Sep 2015 19:05:28 +0000 Subject: [PATCH] Verify that bug 55406 can be closed WORKSFORME git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1702800 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFBugs.java | 27 ++++++++++++++++++ .../55406_Conditional_formatting_sample.xlsx | Bin 0 -> 12646 bytes 2 files changed, 27 insertions(+) create mode 100644 test-data/spreadsheet/55406_Conditional_formatting_sample.xlsx diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java index d6f573c1ca..c7a5486cc8 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -81,6 +81,7 @@ import org.apache.poi.ss.usermodel.Name; import org.apache.poi.ss.usermodel.PrintSetup; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.SheetConditionalFormatting; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.AreaReference; @@ -2783,4 +2784,30 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { wb.close(); } + + @Test + public void test55406() { + Workbook wb = XSSFTestDataSamples.openSampleWorkbook("55406_Conditional_formatting_sample.xlsx"); + Sheet sheet = wb.getSheetAt(0); + Cell cellA1 = sheet.getRow(0).getCell(0); + Cell cellA2 = sheet.getRow(1).getCell(0); + + assertEquals(0, cellA1.getCellStyle().getFillForegroundColor()); + assertEquals("FFFDFDFD", ((XSSFColor)cellA1.getCellStyle().getFillForegroundColorColor()).getARGBHex()); + assertEquals(0, cellA2.getCellStyle().getFillForegroundColor()); + assertEquals("FFFDFDFD", ((XSSFColor)cellA2.getCellStyle().getFillForegroundColorColor()).getARGBHex()); + + SheetConditionalFormatting cond = sheet.getSheetConditionalFormatting(); + assertEquals(2, cond.getNumConditionalFormattings()); + + assertEquals(1, cond.getConditionalFormattingAt(0).getNumberOfRules()); + assertEquals(64, cond.getConditionalFormattingAt(0).getRule(0).getPatternFormatting().getFillForegroundColor()); + assertEquals("ISEVEN(ROW())", cond.getConditionalFormattingAt(0).getRule(0).getFormula1()); + assertNull(((XSSFColor)cond.getConditionalFormattingAt(0).getRule(0).getPatternFormatting().getFillForegroundColorColor()).getARGBHex()); + + assertEquals(1, cond.getConditionalFormattingAt(1).getNumberOfRules()); + assertEquals(64, cond.getConditionalFormattingAt(1).getRule(0).getPatternFormatting().getFillForegroundColor()); + assertEquals("ISEVEN(ROW())", cond.getConditionalFormattingAt(1).getRule(0).getFormula1()); + assertNull(((XSSFColor)cond.getConditionalFormattingAt(1).getRule(0).getPatternFormatting().getFillForegroundColorColor()).getARGBHex()); + } } diff --git a/test-data/spreadsheet/55406_Conditional_formatting_sample.xlsx b/test-data/spreadsheet/55406_Conditional_formatting_sample.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..dc3e96d62846c525a6d6cecbd876006b0750c552 GIT binary patch literal 12646 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