extend tests

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1903883 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2022-09-05 14:38:55 +00:00
parent 9e36716056
commit ee8781d7b5
1 changed files with 82 additions and 0 deletions

View File

@ -123,4 +123,86 @@ class TestXSSFCellUtil extends BaseTestCellUtil {
assertEquals(FillPatternType.NO_FILL, cell.getCellStyle().getFillPattern());
}
}
@Test
public void testBug66052WithWorkaround() throws IOException, DecoderException {
try (Workbook workbook = new XSSFWorkbook()) {
final Sheet sheet = workbook.createSheet("Sheet");
final Row row = sheet.createRow(0);
final Cell cell = row.createCell(0);
final XSSFColor color = new XSSFColor(Hex.decodeHex("FFAAAA"));
assertNull(cell.getCellStyle().getFillForegroundColorColor());
assertNull(cell.getCellStyle().getFillBackgroundColorColor());
{
Map<String, Object> properties = new LinkedHashMap<>();
properties.put(CellUtil.FILL_FOREGROUND_COLOR_COLOR, color);
properties.put(CellUtil.FILL_BACKGROUND_COLOR_COLOR, null); // WORKAROUND
properties.put(CellUtil.FILL_PATTERN, FillPatternType.SOLID_FOREGROUND);
CellUtil.setCellStyleProperties(cell, properties);
}
assertNotNull(cell.getCellStyle().getFillForegroundColorColor());
assertNull(cell.getCellStyle().getFillBackgroundColorColor());
{
Map<String, Object> properties = new LinkedHashMap<>();
properties.put(CellUtil.FILL_FOREGROUND_COLOR_COLOR, null);
properties.put(CellUtil.FILL_BACKGROUND_COLOR_COLOR, null); // WORKAROUND
properties.put(CellUtil.FILL_PATTERN, FillPatternType.NO_FILL);
CellUtil.setCellStyleProperties(cell, properties);
}
assertNull(cell.getCellStyle().getFillForegroundColorColor());
assertNull(cell.getCellStyle().getFillBackgroundColorColor());
}
}
@Test
public void testBug66052WithoutWorkaround() throws IOException, DecoderException {
try (Workbook workbook = new XSSFWorkbook()) {
final Sheet sheet = workbook.createSheet("Sheet");
final Row row = sheet.createRow(0);
final Cell cell = row.createCell(0);
final XSSFColor color = new XSSFColor(Hex.decodeHex("FFAAAA"));
assertNull(cell.getCellStyle().getFillForegroundColorColor());
assertNull(cell.getCellStyle().getFillBackgroundColorColor());
{
Map<String, Object> properties = new LinkedHashMap<>();
properties.put(CellUtil.FILL_FOREGROUND_COLOR_COLOR, color);
properties.put(CellUtil.FILL_PATTERN, FillPatternType.SOLID_FOREGROUND);
CellUtil.setCellStyleProperties(cell, properties);
}
assertEquals(color, cell.getCellStyle().getFillForegroundColorColor());
assertEquals(IndexedColors.AUTOMATIC.getIndex(),
((XSSFColor) cell.getCellStyle().getFillBackgroundColorColor()).getIndex());
{
Map<String, Object> properties = new LinkedHashMap<>();
properties.put(CellUtil.FILL_FOREGROUND_COLOR_COLOR, null);
properties.put(CellUtil.FILL_PATTERN, FillPatternType.NO_FILL);
CellUtil.setCellStyleProperties(cell, properties);
}
assertNull(cell.getCellStyle().getFillForegroundColorColor());
assertEquals(IndexedColors.AUTOMATIC.getIndex(),
((XSSFColor) cell.getCellStyle().getFillBackgroundColorColor()).getIndex());
}
}
}