Unit tests for Shrink To Fit cell style support (#55661)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1539850 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2013-11-07 22:39:11 +00:00
parent 9332cdcc18
commit b2a64e7f7c
4 changed files with 102 additions and 44 deletions

View File

@ -24,6 +24,8 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.model.StylesTable; import org.apache.poi.xssf.model.StylesTable;
@ -40,9 +42,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STHorizontalAlignment
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPatternType; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPatternType;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment;
public class TestXSSFCellStyle extends TestCase { public class TestXSSFCellStyle extends TestCase {
private StylesTable stylesTable; private StylesTable stylesTable;
private CTBorder ctBorderA; private CTBorder ctBorderA;
private CTFill ctFill; private CTFill ctFill;
@ -850,4 +850,33 @@ public class TestXSSFCellStyle extends TestCase {
assertNull(style.getStyleXf()); assertNull(style.getStyleXf());
} }
public void testShrinkToFit() {
// Existing file
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ShrinkToFit.xlsx");
Sheet s = wb.getSheetAt(0);
Row r = s.getRow(0);
CellStyle cs = r.getCell(0).getCellStyle();
assertEquals(true, cs.getShrinkToFit());
// New file
XSSFWorkbook wbOrig = new XSSFWorkbook();
s = wbOrig.createSheet();
r = s.createRow(0);
cs = wbOrig.createCellStyle();
cs.setShrinkToFit(false);
r.createCell(0).setCellStyle(cs);
cs = wbOrig.createCellStyle();
cs.setShrinkToFit(true);
r.createCell(1).setCellStyle(cs);
// Write out, read, and check
wb = XSSFTestDataSamples.writeOutAndReadBack(wbOrig);
s = wb.getSheetAt(0);
r = s.getRow(0);
assertEquals(false, r.getCell(0).getCellStyle().getShrinkToFit());
assertEquals(true, r.getCell(1).getCellStyle().getShrinkToFit());
}
} }

View File

@ -333,47 +333,76 @@ public final class TestCellStyle extends TestCase {
c4.setCellStyle(cs2); c4.setCellStyle(cs2);
assertEquals("style1", c4.getCellStyle().getParentStyle().getUserStyleName()); assertEquals("style1", c4.getCellStyle().getParentStyle().getUserStyleName());
} }
public void testGetSetBorderHair() { public void testGetSetBorderHair() {
HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls"); HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls");
HSSFSheet s = wb.getSheetAt(0); HSSFSheet s = wb.getSheetAt(0);
HSSFCellStyle cs; HSSFCellStyle cs;
cs = s.getRow(0).getCell(0).getCellStyle();
assertEquals(CellStyle.BORDER_HAIR, cs.getBorderRight());
cs = s.getRow(1).getCell(1).getCellStyle();
assertEquals(CellStyle.BORDER_DOTTED, cs.getBorderRight());
cs = s.getRow(2).getCell(2).getCellStyle();
assertEquals(CellStyle.BORDER_DASH_DOT_DOT, cs.getBorderRight());
cs = s.getRow(3).getCell(3).getCellStyle();
assertEquals(CellStyle.BORDER_DASHED, cs.getBorderRight());
cs = s.getRow(4).getCell(4).getCellStyle();
assertEquals(CellStyle.BORDER_THIN, cs.getBorderRight());
cs = s.getRow(5).getCell(5).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT_DOT, cs.getBorderRight());
cs = s.getRow(6).getCell(6).getCellStyle();
assertEquals(CellStyle.BORDER_SLANTED_DASH_DOT, cs.getBorderRight());
cs = s.getRow(7).getCell(7).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT, cs.getBorderRight());
cs = s.getRow(8).getCell(8).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM_DASHED, cs.getBorderRight());
cs = s.getRow(9).getCell(9).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM, cs.getBorderRight());
cs = s.getRow(10).getCell(10).getCellStyle();
assertEquals(CellStyle.BORDER_THICK, cs.getBorderRight());
cs = s.getRow(11).getCell(11).getCellStyle();
assertEquals(CellStyle.BORDER_DOUBLE, cs.getBorderRight());
}
cs = s.getRow(0).getCell(0).getCellStyle();
assertEquals(CellStyle.BORDER_HAIR, cs.getBorderRight());
cs = s.getRow(1).getCell(1).getCellStyle();
assertEquals(CellStyle.BORDER_DOTTED, cs.getBorderRight());
cs = s.getRow(2).getCell(2).getCellStyle();
assertEquals(CellStyle.BORDER_DASH_DOT_DOT, cs.getBorderRight());
cs = s.getRow(3).getCell(3).getCellStyle();
assertEquals(CellStyle.BORDER_DASHED, cs.getBorderRight());
cs = s.getRow(4).getCell(4).getCellStyle();
assertEquals(CellStyle.BORDER_THIN, cs.getBorderRight());
cs = s.getRow(5).getCell(5).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT_DOT, cs.getBorderRight());
cs = s.getRow(6).getCell(6).getCellStyle();
assertEquals(CellStyle.BORDER_SLANTED_DASH_DOT, cs.getBorderRight());
cs = s.getRow(7).getCell(7).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT, cs.getBorderRight());
cs = s.getRow(8).getCell(8).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM_DASHED, cs.getBorderRight());
cs = s.getRow(9).getCell(9).getCellStyle();
assertEquals(CellStyle.BORDER_MEDIUM, cs.getBorderRight());
cs = s.getRow(10).getCell(10).getCellStyle();
assertEquals(CellStyle.BORDER_THICK, cs.getBorderRight());
cs = s.getRow(11).getCell(11).getCellStyle();
assertEquals(CellStyle.BORDER_DOUBLE, cs.getBorderRight());
}
public void testShrinkToFit() {
// Existing file
HSSFWorkbook wb = openSample("ShrinkToFit.xls");
HSSFSheet s = wb.getSheetAt(0);
HSSFRow r = s.getRow(0);
HSSFCellStyle cs = r.getCell(0).getCellStyle();
assertEquals(true, cs.getShrinkToFit());
// New file
HSSFWorkbook wbOrig = new HSSFWorkbook();
s = wbOrig.createSheet();
r = s.createRow(0);
cs = wbOrig.createCellStyle();
cs.setShrinkToFit(false);
r.createCell(0).setCellStyle(cs);
cs = wbOrig.createCellStyle();
cs.setShrinkToFit(true);
r.createCell(1).setCellStyle(cs);
// Write out, read, and check
wb = HSSFTestDataSamples.writeOutAndReadBack(wbOrig);
s = wb.getSheetAt(0);
r = s.getRow(0);
assertEquals(false, r.getCell(0).getCellStyle().getShrinkToFit());
assertEquals(true, r.getCell(1).getCellStyle().getShrinkToFit());
}
} }

Binary file not shown.

Binary file not shown.