]> source.dussan.org Git - poi.git/commitdiff
Verify that bug 55406 can be closed WORKSFORME
authorDominik Stadler <centic@apache.org>
Sun, 13 Sep 2015 19:05:28 +0000 (19:05 +0000)
committerDominik Stadler <centic@apache.org>
Sun, 13 Sep 2015 19:05:28 +0000 (19:05 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1702800 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
test-data/spreadsheet/55406_Conditional_formatting_sample.xlsx [new file with mode: 0644]

index d6f573c1ca8861cfda7703597f6f7d23ddea6047..c7a5486cc820e97a6bfe73921cb2b4d7b46f3723 100644 (file)
@@ -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 (file)
index 0000000..dc3e96d
Binary files /dev/null and b/test-data/spreadsheet/55406_Conditional_formatting_sample.xlsx differ