Add unit test for bug #51037, which seems to be working fine
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1092423 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5df80fe7ac
commit
1e19690e18
@ -35,6 +35,7 @@ import org.apache.poi.ss.usermodel.DataFormatter;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.FormulaError;
|
||||
import org.apache.poi.ss.usermodel.FormulaEvaluator;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import org.apache.poi.ss.usermodel.Name;
|
||||
import org.apache.poi.ss.usermodel.RichTextString;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
@ -44,6 +45,7 @@ import org.apache.poi.xssf.XSSFITestDataProvider;
|
||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||
import org.apache.poi.xssf.model.CalculationChain;
|
||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
||||
|
||||
public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
||||
@ -1051,6 +1053,81 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Column style
|
||||
*/
|
||||
public void test51037() throws Exception {
|
||||
XSSFWorkbook wb = new XSSFWorkbook();
|
||||
XSSFSheet s = wb.createSheet();
|
||||
|
||||
CellStyle defaultStyle = wb.getCellStyleAt((short)0);
|
||||
assertEquals(0, defaultStyle.getIndex());
|
||||
|
||||
CellStyle blueStyle = wb.createCellStyle();
|
||||
blueStyle.setFillForegroundColor(IndexedColors.AQUA.getIndex());
|
||||
blueStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
assertEquals(1, blueStyle.getIndex());
|
||||
|
||||
CellStyle pinkStyle = wb.createCellStyle();
|
||||
pinkStyle.setFillForegroundColor(IndexedColors.PINK.getIndex());
|
||||
pinkStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
assertEquals(2, pinkStyle.getIndex());
|
||||
|
||||
// Starts empty
|
||||
assertEquals(1, s.getCTWorksheet().sizeOfColsArray());
|
||||
CTCols cols = s.getCTWorksheet().getColsArray(0);
|
||||
assertEquals(0, cols.sizeOfColArray());
|
||||
|
||||
// Add some rows and columns
|
||||
XSSFRow r1 = s.createRow(0);
|
||||
XSSFRow r2 = s.createRow(1);
|
||||
r1.createCell(0);
|
||||
r1.createCell(2);
|
||||
r2.createCell(0);
|
||||
r2.createCell(3);
|
||||
|
||||
// Check no style is there
|
||||
assertEquals(1, s.getCTWorksheet().sizeOfColsArray());
|
||||
assertEquals(0, cols.sizeOfColArray());
|
||||
|
||||
assertEquals(defaultStyle, s.getColumnStyle(0));
|
||||
assertEquals(defaultStyle, s.getColumnStyle(2));
|
||||
assertEquals(defaultStyle, s.getColumnStyle(3));
|
||||
|
||||
|
||||
// Apply the styles
|
||||
s.setDefaultColumnStyle(0, pinkStyle);
|
||||
s.setDefaultColumnStyle(3, blueStyle);
|
||||
|
||||
// Check
|
||||
assertEquals(pinkStyle, s.getColumnStyle(0));
|
||||
assertEquals(defaultStyle, s.getColumnStyle(2));
|
||||
assertEquals(blueStyle, s.getColumnStyle(3));
|
||||
|
||||
assertEquals(1, s.getCTWorksheet().sizeOfColsArray());
|
||||
assertEquals(2, cols.sizeOfColArray());
|
||||
|
||||
assertEquals(1, cols.getColArray(0).getMin());
|
||||
assertEquals(1, cols.getColArray(0).getMax());
|
||||
assertEquals(pinkStyle.getIndex(), cols.getColArray(0).getStyle());
|
||||
|
||||
assertEquals(4, cols.getColArray(1).getMin());
|
||||
assertEquals(4, cols.getColArray(1).getMax());
|
||||
assertEquals(blueStyle.getIndex(), cols.getColArray(1).getStyle());
|
||||
|
||||
|
||||
// Save, re-load and re-check
|
||||
wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
|
||||
s = wb.getSheetAt(0);
|
||||
defaultStyle = wb.getCellStyleAt(defaultStyle.getIndex());
|
||||
blueStyle = wb.getCellStyleAt(blueStyle.getIndex());
|
||||
pinkStyle = wb.getCellStyleAt(pinkStyle.getIndex());
|
||||
|
||||
assertEquals(pinkStyle, s.getColumnStyle(0));
|
||||
assertEquals(defaultStyle, s.getColumnStyle(2));
|
||||
assertEquals(blueStyle, s.getColumnStyle(3));
|
||||
}
|
||||
|
||||
/**
|
||||
* Repeatedly writing a file.
|
||||
* Something with the SharedStringsTable currently breaks...
|
||||
|
Loading…
Reference in New Issue
Block a user