aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml
diff options
context:
space:
mode:
authorYegor Kozlov <yegor@apache.org>2009-03-29 16:10:40 +0000
committerYegor Kozlov <yegor@apache.org>2009-03-29 16:10:40 +0000
commite47dd63c80d7807381f77ee0d8879332737368cf (patch)
tree84873becffceb445145100a219b89959a7ee3b5b /src/ooxml
parent9adb9cc6d3da755b57e1c205d634fb4127fa072c (diff)
downloadpoi-e47dd63c80d7807381f77ee0d8879332737368cf.tar.gz
poi-e47dd63c80d7807381f77ee0d8879332737368cf.zip
more refactoring of common ss tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@759714 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml')
-rw-r--r--src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java9
-rwxr-xr-xsrc/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java3
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java5
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java17
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java1
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java5
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java5
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java32
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java215
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java42
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java14
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java458
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java84
13 files changed, 315 insertions, 575 deletions
diff --git a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java
index 1af438f7ca..b9c10a8b15 100644
--- a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java
+++ b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java
@@ -19,13 +19,6 @@ package org.apache.poi.ss.usermodel;
public interface Font {
-
- /**
- * Arial font
- */
-
- public final static String FONT_ARIAL = "Arial";
-
/**
* Normal boldness (not bold)
*/
@@ -116,7 +109,6 @@ public interface Font {
/**
* set the name for the font (i.e. Arial)
* @param name String representing the name of the font to use
- * @see #FONT_ARIAL
*/
void setFontName(String name);
@@ -124,7 +116,6 @@ public interface Font {
/**
* get the name for the font (i.e. Arial)
* @return String representing the name of the font to use
- * @see #FONT_ARIAL
*/
String getFontName();
diff --git a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java
index eb5bc8828e..dd6a8e7d31 100755
--- a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java
+++ b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java
@@ -36,4 +36,7 @@ public interface Picture {
* <code>resize(2.0)</code> resizes to 200% of the original.
*/
void resize(double scale);
+
+ ClientAnchor getPreferredSize();
+
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java b/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
index 33da9e4ea6..0844f45189 100644
--- a/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
+++ b/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
@@ -26,6 +26,7 @@ import java.util.Map.Entry;
import org.apache.poi.ss.usermodel.FontFamily;
import org.apache.poi.ss.usermodel.FontScheme;
import org.apache.poi.ss.usermodel.BuiltinFormats;
+import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
@@ -468,9 +469,9 @@ public class StylesTable extends POIXMLDocumentPart {
*/
public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) {
for (XSSFFont font : fonts) {
- if ( (font.getBold() == (boldWeight == XSSFFont.BOLDWEIGHT_BOLD))
+ if ( (font.getBoldweight() == boldWeight)
&& font.getColor() == color
- && font.getFontHeightInPoints() == fontHeight
+ && font.getFontHeight() == fontHeight
&& font.getFontName().equals(name)
&& font.getItalic() == italic
&& font.getStrikeout() == strikeout
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
index c4af9bdafd..739ef4ca50 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
@@ -66,7 +66,7 @@ public class XSSFFont implements Font {
protected XSSFFont() {
this.ctFont = CTFont.Factory.newInstance();
setFontName(DEFAULT_FONT_NAME);
- setFontHeight(DEFAULT_FONT_SIZE);
+ setFontHeight((double)DEFAULT_FONT_SIZE);
}
/**
@@ -154,21 +154,16 @@ public class XSSFFont implements Font {
CTFontSize size = ctFont.sizeOfSzArray() == 0 ? null : ctFont.getSzArray(0);
if (size != null) {
double fontHeight = size.getVal();
- return (short) fontHeight;
+ return (short)(fontHeight*20);
} else
- return DEFAULT_FONT_SIZE;
+ return (short)(DEFAULT_FONT_SIZE*20);
}
/**
* @see #getFontHeight()
*/
public short getFontHeightInPoints() {
- CTFontSize size = ctFont.sizeOfSzArray() == 0 ? null : ctFont.getSzArray(0);
- if (size != null) {
- double fontHeight = size.getVal();
- return (short) fontHeight;
- } else
- return DEFAULT_FONT_SIZE;
+ return (short)(getFontHeight()/20);
}
/**
@@ -347,7 +342,7 @@ public class XSSFFont implements Font {
* @param height - height in points
*/
public void setFontHeight(short height) {
- setFontHeight((double) height);
+ setFontHeight((double) height/20);
}
/**
@@ -366,7 +361,7 @@ public class XSSFFont implements Font {
* @link #setFontHeight
*/
public void setFontHeightInPoints(short height) {
- setFontHeight(height);
+ setFontHeight((double)height);
}
/**
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
index 47fc9ba04a..4517f1292f 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
@@ -359,6 +359,7 @@ public final class XSSFName implements Name {
}
private static void validateName(String name){
+ if(name.length() == 0) throw new IllegalArgumentException("Name cannot be blank");
char c = name.charAt(0);
if(!(c == '_' || Character.isLetter(c)) || name.indexOf(' ') != -1) {
throw new IllegalArgumentException("Invalid name: '"+name+"'; Names must begin with a letter or underscore and not contain spaces");
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
index 8af2c29a2e..874cd0f385 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
@@ -436,6 +436,11 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X
*/
public XSSFSheet createSheet() {
String sheetname = "Sheet" + (sheets.size());
+ int idx = 0;
+ while(getSheet(sheetname) != null) {
+ sheetname = "Sheet" + idx;
+ idx++;
+ }
return createSheet(sheetname);
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java b/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
index c0a17cf435..fac88830ad 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
@@ -19,6 +19,7 @@ package org.apache.poi.xssf;
import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.hssf.HSSFTestDataSamples;
/**
* @author Yegor Kozlov
@@ -41,6 +42,10 @@ public final class XSSFITestDataProvider implements ITestDataProvider {
return new XSSFWorkbook();
}
+ public byte[] getTestDataFileContent(String fileName) {
+ return HSSFTestDataSamples.getTestDataFileContent(fileName);
+ }
+
private XSSFITestDataProvider(){}
private static XSSFITestDataProvider inst = new XSSFITestDataProvider();
public static XSSFITestDataProvider getInstance(){
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 3715410ef9..9cb9b7f737 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
@@ -26,16 +26,21 @@ import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues;
-public class TestXSSFBugs extends TestCase {
- private String getFilePath(String file) {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + file
- );
- assertTrue(xml.exists());
+public class TestXSSFBugs extends BaseTestBugzillaIssues {
+ @Override
+ protected XSSFITestDataProvider getTestDataProvider(){
+ return XSSFITestDataProvider.getInstance();
+ }
- return xml.toString();
+ /**
+ * test writing a file with large number of unique strings,
+ * open resulting file in Excel to check results!
+ */
+ public void test15375_2() {
+ baseTest15375(1000);
}
/**
@@ -43,7 +48,7 @@ public class TestXSSFBugs extends TestCase {
* the wrong sheet name
*/
public void test45430() throws Exception {
- XSSFWorkbook wb = new XSSFWorkbook(getFilePath("45430.xlsx"));
+ XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("45430.xlsx");
assertFalse(wb.isMacroEnabled());
assertEquals(3, wb.getNumberOfNames());
@@ -72,8 +77,8 @@ public class TestXSSFBugs extends TestCase {
* We should carry vba macros over after save
*/
public void test45431() throws Exception {
- OPCPackage pkg = OPCPackage.open(getFilePath("45431.xlsm"));
- XSSFWorkbook wb = new XSSFWorkbook(pkg);
+ XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("45431.xlsm");
+ OPCPackage pkg = wb.getPackage();
assertTrue(wb.isMacroEnabled());
// Check the various macro related bits can be found
@@ -115,10 +120,5 @@ public class TestXSSFBugs extends TestCase {
PackagingURIHelper.createPartName("/xl/drawings/vmlDrawing1.vml")
);
assertNotNull(drw);
-
- // For testing with excel
-// FileOutputStream fout = new FileOutputStream("/tmp/foo.xlsm");
-// nwb.write(fout);
-// fout.close();
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
index d3c9da576e..bb541e54cd 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
@@ -21,6 +21,7 @@ import junit.framework.TestCase;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
@@ -35,7 +36,16 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STFontScheme;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STUnderlineValues;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignRun;
-public final class TestXSSFFont extends TestCase{
+public final class TestXSSFFont extends BaseTestFont{
+
+ @Override
+ protected XSSFITestDataProvider getTestDataProvider(){
+ return XSSFITestDataProvider.getInstance();
+ }
+
+ public void testDefaultFont() {
+ baseTestDefaultFont("Calibri", (short)220, IndexedColors.BLACK.getIndex());
+ }
public void testConstructor() {
XSSFFont xssfFont=new XSSFFont();
@@ -119,9 +129,9 @@ public final class TestXSSFFont extends TestCase{
ctFont.setSzArray(0,size);
XSSFFont xssfFont=new XSSFFont(ctFont);
- assertEquals(11,xssfFont.getFontHeight());
+ assertEquals(11,xssfFont.getFontHeightInPoints());
- xssfFont.setFontHeight((short)20);
+ xssfFont.setFontHeight(20);
assertEquals(20.0, ctFont.getSzArray(0).getVal(), 0.0);
}
@@ -236,203 +246,4 @@ public final class TestXSSFFont extends TestCase{
font.setTypeOffset(XSSFFont.SS_SUPER);
assertEquals(STVerticalAlignRun.SUPERSCRIPT,ctFont.getVertAlignArray(0).getVal());
}
-
- /**
- * Tests that we can define fonts to a new
- * file, save, load, and still see them
- * @throws Exception
- */
- public void testCreateSave() {
- XSSFWorkbook wb = new XSSFWorkbook();
- XSSFSheet s1 = wb.createSheet();
- Row r1 = s1.createRow(0);
- Cell r1c1 = r1.createCell(0);
- r1c1.setCellValue(2.2);
-
- assertEquals(1, wb.getNumberOfFonts());
-
- XSSFFont font=wb.createFont();
- font.setBold(true);
- font.setStrikeout(true);
- font.setColor(IndexedColors.YELLOW.getIndex());
- font.setFontName("Courier");
- wb.createCellStyle().setFont(font);
- assertEquals(2, wb.getNumberOfFonts());
-
- CellStyle cellStyleTitle=wb.createCellStyle();
- cellStyleTitle.setFont(font);
- r1c1.setCellStyle(cellStyleTitle);
-
- // Save and re-load
- wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
- s1 = wb.getSheetAt(0);
-
- assertEquals(2, wb.getNumberOfFonts());
- short idx = s1.getRow(0).getCell(0).getCellStyle().getFontIndex();
- Font fnt = wb.getFontAt(idx);
- assertNotNull(fnt);
- assertEquals(IndexedColors.YELLOW.getIndex(), fnt.getColor());
- assertEquals("Courier", fnt.getFontName());
-
- // Now add an orphaned one
- XSSFFont font2 = wb.createFont();
- font2.setItalic(true);
- font2.setFontHeightInPoints((short)15);
- wb.createCellStyle().setFont(font2);
- assertEquals(3, wb.getNumberOfFonts());
-
- // Save and re-load
- wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
- s1 = wb.getSheetAt(0);
-
- assertEquals(3, wb.getNumberOfFonts());
- assertNotNull(wb.getFontAt((short)1));
- assertNotNull(wb.getFontAt((short)2));
-
- assertEquals(15, wb.getFontAt((short)2).getFontHeightInPoints());
- assertEquals(true, wb.getFontAt((short)2).getItalic());
- }
-
- public void testXSSFFont() {
- XSSFWorkbook workbook=new XSSFWorkbook();
- //Font font1=workbook.createFont();
-
- Sheet sheet=workbook.createSheet("sheet 1 - test font");
-
-
- Row row=sheet.createRow(0);
- Cell cell=row.createCell(0);
- cell.setCellValue(new XSSFRichTextString("XSSFFont test example file"));
- XSSFFont font=new XSSFFont();
- font.setBold(true);
- font.setFontHeightInPoints((short)22);
- font.setColor(IndexedColors.BLUE.getIndex());
- font.setFontName("Verdana");
- CellStyle cellStyleTitle=workbook.createCellStyle();
- cellStyleTitle.setFont(font);
- cell.setCellStyle(cellStyleTitle);
-
-
- row=sheet.createRow(3);
- XSSFFont font1=new XSSFFont();
- font1.setBold(true);
- font1.setItalic(true);
- font1.setFontHeightInPoints((short)18);
- font1.setColor(IndexedColors.RED.getIndex());
- font1.setFontName("Arial");
- CellStyle cellStyle1=workbook.createCellStyle();
- cellStyle1.setFont(font1);
-
- Cell cell1=row.createCell(0);
- cell1.setCellValue(new XSSFRichTextString("red bold 18pt italic Arial"));
- cell1.setCellStyle(cellStyle1);
-
-
- row=sheet.createRow(4);
- Font font2=new XSSFFont();
- font2.setFontHeight((short)1);
- font2.setFontName("Courier");
- font2.setColor(IndexedColors.BLACK.getIndex());
- font2.setUnderline(Font.U_DOUBLE);
- CellStyle cellStyle2=workbook.createCellStyle();
- cellStyle2.setFont(font2);
-
- Cell cell2=row.createCell(0);
- cell2.setCellValue(new XSSFRichTextString("Something in courier underlined"));
- cell2.setCellStyle(cellStyle2);
-
-
- row=sheet.createRow(5);
- cell1=row.createCell(0);
- Font font3=new XSSFFont();
- font3.setFontHeightInPoints((short)9);
- font3.setFontName("Times");
- font3.setStrikeout(true);
- font3.setColor(IndexedColors.PINK.getIndex());
- CellStyle cellStyle3=workbook.createCellStyle();
- cellStyle3.setFont(font3);
-
- cell1.setCellValue(new XSSFRichTextString("pink italic Times 9pt strikeout!!!"));
- cell1.setCellStyle(cellStyle3);
-
- XSSFTestDataSamples.writeOutAndReadBack(workbook);
- }
-
- /**
- * Test that fonts get added properly
- *
- * @see org.apache.poi.hssf.usermodel.TestBugs#test45338()
- */
- public void test45338() {
- XSSFWorkbook wb = new XSSFWorkbook();
- assertEquals(1, wb.getNumberOfFonts());
-
- XSSFSheet s = wb.createSheet();
- s.createRow(0);
- s.createRow(1);
- s.getRow(0).createCell(0);
- s.getRow(1).createCell(0);
-
- assertEquals(1, wb.getNumberOfFonts());
-
- XSSFFont f1 = wb.getFontAt((short)0);
- assertEquals(XSSFFont.BOLDWEIGHT_NORMAL, f1.getBoldweight());
-
- // Check that asking for the same font
- // multiple times gives you the same thing.
- // Otherwise, our tests wouldn't work!
- assertEquals(wb.getFontAt((short)0), wb.getFontAt((short)0));
-
- // Look for a new font we have
- // yet to add
- assertNull(
- wb.findFont(
- (short)11, (short)123, (short)22,
- "Thingy", false, true, (short)2, (byte)2
- )
- );
-
- XSSFFont nf = wb.createFont();
- assertEquals(2, wb.getNumberOfFonts());
-
- assertEquals(1, nf.getIndex());
- assertEquals(nf, wb.getFontAt((short)1));
-
- nf.setBoldweight((short)11);
- nf.setColor((short)123);
- nf.setFontHeight((short)22);
- nf.setFontName("Thingy");
- nf.setItalic(false);
- nf.setStrikeout(true);
- nf.setTypeOffset((short)2);
- nf.setUnderline((byte)2);
-
- assertEquals(2, wb.getNumberOfFonts());
- assertEquals(nf, wb.getFontAt((short)1));
-
- assertEquals(wb.getFontAt((short)1), wb.getFontAt((short)1));
- assertTrue(wb.getFontAt((short)0) != wb.getFontAt((short)1));
-
- // Find it now
- assertNotNull(
- wb.findFont(
- (short)11, (short)123, (short)22,
- "Thingy", false, true, (short)2, (byte)2
- )
- );
- assertEquals(
- 1,
- wb.findFont(
- (short)11, (short)123, (short)22,
- "Thingy", false, true, (short)2, (byte)2
- ).getIndex()
- );
- assertEquals(nf,
- wb.findFont(
- (short)11, (short)123, (short)22,
- "Thingy", false, true, (short)2, (byte)2
- )
- );
- }
-
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
index 37f95dfa33..065ccf14ff 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
@@ -31,4 +31,46 @@ public class TestXSSFName extends BaseTestNamedRange {
return XSSFITestDataProvider.getInstance();
}
+ //TODO combine testRepeatingRowsAndColums() for HSSF and XSSF
+ public void testRepeatingRowsAndColums() {
+ // First test that setting RR&C for same sheet more than once only creates a
+ // single Print_Titles built-in record
+ XSSFWorkbook wb = getTestDataProvider().createWorkbook();
+ XSSFSheet sheet = wb.createSheet("FirstSheet");
+
+ // set repeating rows and columns twice for the first sheet
+ for (int i = 0; i < 2; i++) {
+ wb.setRepeatingRowsAndColumns(0, 0, 0, 0, 3);
+ //sheet.createFreezePane(0, 3);
+ }
+ assertEquals(1, wb.getNumberOfNames());
+ XSSFName nr1 = wb.getNameAt(0);
+
+ assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
+ assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
+
+ // Save and re-open
+ XSSFWorkbook nwb = XSSFTestDataSamples.writeOutAndReadBack(wb);
+
+ assertEquals(1, nwb.getNumberOfNames());
+ nr1 = nwb.getNameAt(0);
+
+ assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
+ assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
+
+ // check that setting RR&C on a second sheet causes a new Print_Titles built-in
+ // name to be created
+ sheet = nwb.createSheet("SecondSheet");
+ nwb.setRepeatingRowsAndColumns(1, 1, 2, 0, 0);
+
+ assertEquals(2, nwb.getNumberOfNames());
+ XSSFName nr2 = nwb.getNameAt(1);
+
+ assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr2.getNameName());
+ assertEquals("'SecondSheet'!$B:$C,'SecondSheet'!$1:$1", nr2.getRefersToFormula());
+
+ nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1);
+ }
+
+
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
index 4fb3589ecc..01d646c30c 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
@@ -18,6 +18,8 @@ package org.apache.poi.xssf.usermodel;
import junit.framework.TestCase;
import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.BaseTestPicture;
+import org.apache.poi.xssf.XSSFITestDataProvider;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs;
@@ -27,7 +29,17 @@ import java.util.Arrays;
/**
* @author Yegor Kozlov
*/
-public class TestXSSFPicture extends TestCase {
+public class TestXSSFPicture extends BaseTestPicture {
+
+ @Override
+ protected XSSFITestDataProvider getTestDataProvider(){
+ return XSSFITestDataProvider.getInstance();
+ }
+
+ public void testResize() {
+ baseTestResize(new XSSFClientAnchor(0, 0, 504825, 85725, (short)0, 0, (short)1, 8));
+ }
+
public void testCreate(){
XSSFWorkbook wb = new XSSFWorkbook();
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
index 897cf43f80..8e8c3c02a2 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
@@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel;
import java.io.File;
import java.util.Iterator;
+
import junit.framework.TestCase;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
@@ -35,7 +36,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
public class TestXSSFSheet extends BaseTestSheet {
@Override
- protected XSSFITestDataProvider getTestDataProvider(){
+ protected XSSFITestDataProvider getTestDataProvider() {
return XSSFITestDataProvider.getInstance();
}
@@ -48,90 +49,66 @@ public class TestXSSFSheet extends BaseTestSheet {
baseTestGetSetMargin(new double[]{0.7, 0.7, 0.75, 0.75, 0.3, 0.3});
}
- public void testGetFirstLastRowNum() {
- Workbook workbook = getTestDataProvider().createWorkbook();
- Sheet sheet = workbook.createSheet("Sheet 1");
- Row row10 = sheet.createRow(9);
- Row row1 = sheet.createRow(0);
- Row row2 = sheet.createRow(1);
- assertEquals(0, sheet.getFirstRowNum());
- assertEquals(9, sheet.getLastRowNum());
- }
-
- public void testGetFooter() {
- XSSFWorkbook workbook = getTestDataProvider().createWorkbook();
- XSSFSheet sheet = workbook.createSheet("Sheet 1");
- assertNotNull(sheet.getFooter());
- sheet.getFooter().setCenter("test center footer");
- assertEquals("test center footer", sheet.getFooter().getCenter());
-
- // Default is odd footer
- assertNotNull(sheet.getOddFooter());
- assertEquals("test center footer", sheet.getOddFooter().getCenter());
- }
-
public void testExistingHeaderFooter() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "45540_classic_Header.xlsx"
- );
- assertTrue(xml.exists());
-
- XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
- XSSFOddHeader hdr;
- XSSFOddFooter ftr;
-
- // Sheet 1 has a header with center and right text
- XSSFSheet s1 = workbook.getSheetAt(0);
- assertNotNull(s1.getHeader());
- assertNotNull(s1.getFooter());
- hdr = (XSSFOddHeader)s1.getHeader();
- ftr = (XSSFOddFooter)s1.getFooter();
-
- assertEquals("&Ctestdoc&Rtest phrase", hdr.getText());
- assertEquals(null, ftr.getText());
-
- assertEquals("", hdr.getLeft());
- assertEquals("testdoc", hdr.getCenter());
- assertEquals("test phrase", hdr.getRight());
-
- assertEquals("", ftr.getLeft());
- assertEquals("", ftr.getCenter());
- assertEquals("", ftr.getRight());
-
-
- // Sheet 2 has a footer, but it's empty
- XSSFSheet s2 = workbook.getSheetAt(1);
- assertNotNull(s2.getHeader());
- assertNotNull(s2.getFooter());
- hdr = (XSSFOddHeader)s2.getHeader();
- ftr = (XSSFOddFooter)s2.getFooter();
-
- assertEquals(null, hdr.getText());
- assertEquals("&L&F", ftr.getText());
-
- assertEquals("", hdr.getLeft());
- assertEquals("", hdr.getCenter());
- assertEquals("", hdr.getRight());
-
- assertEquals("&F", ftr.getLeft());
- assertEquals("", ftr.getCenter());
- assertEquals("", ftr.getRight());
-
-
- // Save and reload
- XSSFWorkbook wb = XSSFTestDataSamples.writeOutAndReadBack(workbook);
-
- hdr = (XSSFOddHeader)wb.getSheetAt(0).getHeader();
- ftr = (XSSFOddFooter)wb.getSheetAt(0).getFooter();
-
- assertEquals("", hdr.getLeft());
- assertEquals("testdoc", hdr.getCenter());
- assertEquals("test phrase", hdr.getRight());
-
- assertEquals("", ftr.getLeft());
- assertEquals("", ftr.getCenter());
- assertEquals("", ftr.getRight());
+ File xml = new File(
+ System.getProperty("HSSF.testdata.path") +
+ File.separator + "45540_classic_Header.xlsx"
+ );
+ assertTrue(xml.exists());
+
+ XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+ XSSFOddHeader hdr;
+ XSSFOddFooter ftr;
+
+ // Sheet 1 has a header with center and right text
+ XSSFSheet s1 = workbook.getSheetAt(0);
+ assertNotNull(s1.getHeader());
+ assertNotNull(s1.getFooter());
+ hdr = (XSSFOddHeader) s1.getHeader();
+ ftr = (XSSFOddFooter) s1.getFooter();
+
+ assertEquals("&Ctestdoc&Rtest phrase", hdr.getText());
+ assertEquals(null, ftr.getText());
+
+ assertEquals("", hdr.getLeft());
+ assertEquals("testdoc", hdr.getCenter());
+ assertEquals("test phrase", hdr.getRight());
+
+ assertEquals("", ftr.getLeft());
+ assertEquals("", ftr.getCenter());
+ assertEquals("", ftr.getRight());
+
+ // Sheet 2 has a footer, but it's empty
+ XSSFSheet s2 = workbook.getSheetAt(1);
+ assertNotNull(s2.getHeader());
+ assertNotNull(s2.getFooter());
+ hdr = (XSSFOddHeader) s2.getHeader();
+ ftr = (XSSFOddFooter) s2.getFooter();
+
+ assertEquals(null, hdr.getText());
+ assertEquals("&L&F", ftr.getText());
+
+ assertEquals("", hdr.getLeft());
+ assertEquals("", hdr.getCenter());
+ assertEquals("", hdr.getRight());
+
+ assertEquals("&F", ftr.getLeft());
+ assertEquals("", ftr.getCenter());
+ assertEquals("", ftr.getRight());
+
+ // Save and reload
+ XSSFWorkbook wb = XSSFTestDataSamples.writeOutAndReadBack(workbook);
+
+ hdr = (XSSFOddHeader) wb.getSheetAt(0).getHeader();
+ ftr = (XSSFOddFooter) wb.getSheetAt(0).getFooter();
+
+ assertEquals("", hdr.getLeft());
+ assertEquals("testdoc", hdr.getCenter());
+ assertEquals("test phrase", hdr.getRight());
+
+ assertEquals("", ftr.getLeft());
+ assertEquals("", ftr.getCenter());
+ assertEquals("", ftr.getRight());
}
public void testGetAllHeadersFooters() {
@@ -173,25 +150,18 @@ public class TestXSSFSheet extends BaseTestSheet {
assertEquals("odd header center", sheet.getHeader().getCenter());
}
- public void testGetSetColumnHidden() {
- Workbook workbook = getTestDataProvider().createWorkbook();
- Sheet sheet = workbook.createSheet("Sheet 1");
- sheet.setColumnHidden((short) 2, true);
- assertTrue(sheet.isColumnHidden((short) 2));
- }
-
public void testAutoSizeColumn() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet 1");
sheet.createRow(0).createCell(13).setCellValue("test");
- sheet.autoSizeColumn((short)13);
+ sheet.autoSizeColumn(13);
ColumnHelper columnHelper = sheet.getColumnHelper();
CTCol col = columnHelper.getColumn(13, false);
assertTrue(col.getBestFit());
}
-
+
public void testGetCellComment() {
XSSFWorkbook workbook = new XSSFWorkbook();
@@ -203,195 +173,184 @@ public class TestXSSFSheet extends BaseTestSheet {
assertNotNull(sheet.getCellComment(9, 2));
assertEquals("test C10 author", sheet.getCellComment(9, 2).getAuthor());
}
-
+
public void testSetCellComment() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
XSSFComment comment = sheet.createComment();
- Cell cell = sheet.createRow(0).createCell((short)0);
+ Cell cell = sheet.createRow(0).createCell((short) 0);
CommentsTable comments = sheet.getCommentsTable();
CTComments ctComments = comments.getCTComments();
sheet.setCellComment("A1", comment);
assertEquals("A1", ctComments.getCommentList().getCommentArray(0).getRef());
comment.setAuthor("test A1 author");
- assertEquals("test A1 author", comments.getAuthor((int)ctComments.getCommentList().getCommentArray(0).getAuthorId()));
+ assertEquals("test A1 author", comments.getAuthor((int) ctComments.getCommentList().getCommentArray(0).getAuthorId()));
}
-
+
public void testGetActiveCell() {
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet = workbook.createSheet();
- sheet.setActiveCell("R5");
+ XSSFWorkbook workbook = new XSSFWorkbook();
+ XSSFSheet sheet = workbook.createSheet();
+ sheet.setActiveCell("R5");
+
+ assertEquals("R5", sheet.getActiveCell());
- assertEquals("R5", sheet.getActiveCell());
-
}
-
+
public void testCreateFreezePane() {
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet = workbook.createSheet();
+ XSSFWorkbook workbook = new XSSFWorkbook();
+ XSSFSheet sheet = workbook.createSheet();
CTWorksheet ctWorksheet = sheet.getCTWorksheet();
- sheet.createFreezePane(2, 4);
- assertEquals((double)2, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
- assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
- sheet.createFreezePane(3, 6, 10, 10);
- assertEquals((double)3, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
- // assertEquals(10, sheet.getTopRow());
- // assertEquals(10, sheet.getLeftCol());
- sheet.createSplitPane(4, 8, 12, 12, 1);
- assertEquals((double)8, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit());
- assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
+ sheet.createFreezePane(2, 4);
+ assertEquals((double) 2, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
+ assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
+ sheet.createFreezePane(3, 6, 10, 10);
+ assertEquals((double) 3, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
+ // assertEquals(10, sheet.getTopRow());
+ // assertEquals(10, sheet.getLeftCol());
+ sheet.createSplitPane(4, 8, 12, 12, 1);
+ assertEquals((double) 8, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit());
+ assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
}
-
+
public void testNewMergedRegionAt() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
- CellRangeAddress region = CellRangeAddress.valueOf("B2:D4");
- sheet.addMergedRegion(region);
- assertEquals("B2:D4", sheet.getMergedRegion(0).formatAsString());
+ CellRangeAddress region = CellRangeAddress.valueOf("B2:D4");
+ sheet.addMergedRegion(region);
+ assertEquals("B2:D4", sheet.getMergedRegion(0).formatAsString());
+ assertEquals(1, sheet.getNumMergedRegions());
}
-
- public void testGetNumMergedRegions() {
+
+ public void testRemoveMergedRegion_lowlevel() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
- assertEquals(0, sheet.getNumMergedRegions());
- CellRangeAddress region = CellRangeAddress.valueOf("B2:D4");
- sheet.addMergedRegion(region);
- assertEquals(1, sheet.getNumMergedRegions());
+ CTWorksheet ctWorksheet = sheet.getCTWorksheet();
+ CellRangeAddress region_1 = CellRangeAddress.valueOf("A1:B2");
+ CellRangeAddress region_2 = CellRangeAddress.valueOf("C3:D4");
+ CellRangeAddress region_3 = CellRangeAddress.valueOf("E5:F6");
+ sheet.addMergedRegion(region_1);
+ sheet.addMergedRegion(region_2);
+ sheet.addMergedRegion(region_3);
+ assertEquals("C3:D4", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+ assertEquals(3, sheet.getNumMergedRegions());
+ sheet.removeMergedRegion(1);
+ assertEquals("E5:F6", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+ assertEquals(2, sheet.getNumMergedRegions());
+ sheet.removeMergedRegion(1);
+ sheet.removeMergedRegion(0);
+ assertEquals(0, sheet.getNumMergedRegions());
}
-
- public void testRemoveMergedRegion() {
+
+ public void testSetDefaultColumnStyle() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
CTWorksheet ctWorksheet = sheet.getCTWorksheet();
- CellRangeAddress region_1 = CellRangeAddress.valueOf("A1:B2");
- CellRangeAddress region_2 = CellRangeAddress.valueOf("C3:D4");
- CellRangeAddress region_3 = CellRangeAddress.valueOf("E5:F6");
- sheet.addMergedRegion(region_1);
- sheet.addMergedRegion(region_2);
- sheet.addMergedRegion(region_3);
- assertEquals("C3:D4", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
- assertEquals(3, sheet.getNumMergedRegions());
- sheet.removeMergedRegion(1);
- assertEquals("E5:F6", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
- assertEquals(2, sheet.getNumMergedRegions());
- sheet.removeMergedRegion(1);
- sheet.removeMergedRegion(0);
- assertEquals(0, sheet.getNumMergedRegions());
+ StylesTable stylesTable = workbook.getStylesSource();
+ XSSFFont font = new XSSFFont();
+ font.setFontName("Cambria");
+ stylesTable.putFont(font);
+ CTXf cellStyleXf = CTXf.Factory.newInstance();
+ cellStyleXf.setFontId(1);
+ cellStyleXf.setFillId(0);
+ cellStyleXf.setBorderId(0);
+ cellStyleXf.setNumFmtId(0);
+ stylesTable.putCellStyleXf(cellStyleXf);
+ CTXf cellXf = CTXf.Factory.newInstance();
+ cellXf.setXfId(1);
+ stylesTable.putCellXf(cellXf);
+ XSSFCellStyle cellStyle = new XSSFCellStyle(1, 1, stylesTable);
+ assertEquals(1, cellStyle.getFontIndex());
+
+ sheet.setDefaultColumnStyle((short) 3, cellStyle);
+ assertEquals(1, ctWorksheet.getColsArray(0).getColArray(0).getStyle());
}
-
- public void testSetDefaultColumnStyle() {
+
+
+ public void testGroupUngroupColumn() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
- CTWorksheet ctWorksheet = sheet.getCTWorksheet();
- StylesTable stylesTable = workbook.getStylesSource();
- XSSFFont font = new XSSFFont();
- font.setFontName("Cambria");
- stylesTable.putFont(font);
- CTXf cellStyleXf = CTXf.Factory.newInstance();
- cellStyleXf.setFontId(1);
- cellStyleXf.setFillId(0);
- cellStyleXf.setBorderId(0);
- cellStyleXf.setNumFmtId(0);
- stylesTable.putCellStyleXf(cellStyleXf);
- CTXf cellXf = CTXf.Factory.newInstance();
- cellXf.setXfId(1);
- stylesTable.putCellXf(cellXf);
- XSSFCellStyle cellStyle = new XSSFCellStyle(1, 1, stylesTable);
- assertEquals(1, cellStyle.getFontIndex());
-
- sheet.setDefaultColumnStyle((short) 3, cellStyle);
- assertEquals(1, ctWorksheet.getColsArray(0).getColArray(0).getStyle());
+
+ //one level
+ sheet.groupColumn((short) 2, (short) 7);
+ sheet.groupColumn((short) 10, (short) 11);
+ CTCols cols = sheet.getCTWorksheet().getColsArray(0);
+ assertEquals(2, cols.sizeOfColArray());
+ CTCol[] colArray = cols.getColArray();
+ assertNotNull(colArray);
+ assertEquals(2 + 1, colArray[0].getMin()); // 1 based
+ assertEquals(7 + 1, colArray[0].getMax()); // 1 based
+ assertEquals(1, colArray[0].getOutlineLevel());
+
+ //two level
+ sheet.groupColumn((short) 1, (short) 2);
+ cols = sheet.getCTWorksheet().getColsArray(0);
+ assertEquals(4, cols.sizeOfColArray());
+ colArray = cols.getColArray();
+ assertEquals(2, colArray[1].getOutlineLevel());
+
+ //three level
+ sheet.groupColumn((short) 6, (short) 8);
+ sheet.groupColumn((short) 2, (short) 3);
+ cols = sheet.getCTWorksheet().getColsArray(0);
+ assertEquals(7, cols.sizeOfColArray());
+ colArray = cols.getColArray();
+ assertEquals(3, colArray[1].getOutlineLevel());
+ assertEquals(3, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
+
+ sheet.ungroupColumn((short) 8, (short) 10);
+ colArray = cols.getColArray();
+ //assertEquals(3, colArray[1].getOutlineLevel());
+
+ sheet.ungroupColumn((short) 4, (short) 6);
+ sheet.ungroupColumn((short) 2, (short) 2);
+ colArray = cols.getColArray();
+ assertEquals(4, colArray.length);
+ assertEquals(2, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
}
-
-
-
-
-
- public void testGroupUngroupColumn() {
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet = workbook.createSheet();
-
- //one level
- sheet.groupColumn((short)2,(short)7);
- sheet.groupColumn((short)10,(short)11);
- CTCols cols=sheet.getCTWorksheet().getColsArray(0);
- assertEquals(2,cols.sizeOfColArray());
- CTCol[]colArray=cols.getColArray();
- assertNotNull(colArray);
- assertEquals(2+1,colArray[0].getMin()); // 1 based
- assertEquals(7+1,colArray[0].getMax()); // 1 based
- assertEquals(1, colArray[0].getOutlineLevel());
-
- //two level
- sheet.groupColumn((short)1,(short)2);
- cols=sheet.getCTWorksheet().getColsArray(0);
- assertEquals(4,cols.sizeOfColArray());
- colArray=cols.getColArray();
- assertEquals(2, colArray[1].getOutlineLevel());
-
- //three level
- sheet.groupColumn((short)6,(short)8);
- sheet.groupColumn((short)2,(short)3);
- cols=sheet.getCTWorksheet().getColsArray(0);
- assertEquals(7,cols.sizeOfColArray());
- colArray=cols.getColArray();
- assertEquals(3, colArray[1].getOutlineLevel());
- assertEquals(3,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
-
- sheet.ungroupColumn((short)8,(short) 10);
- colArray=cols.getColArray();
- //assertEquals(3, colArray[1].getOutlineLevel());
-
- sheet.ungroupColumn((short)4,(short)6);
- sheet.ungroupColumn((short)2,(short)2);
- colArray=cols.getColArray();
- assertEquals(4, colArray.length);
- assertEquals(2,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
- }
-
-
- public void testGroupUngroupRow() {
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet = workbook.createSheet();
-
- //one level
- sheet.groupRow(9,10);
- assertEquals(2,sheet.getPhysicalNumberOfRows());
- CTRow ctrow = sheet.getRow(9).getCTRow();
-
- assertNotNull(ctrow);
- assertEquals(10,ctrow.getR());
- assertEquals(1, ctrow.getOutlineLevel());
- assertEquals(1,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-
- //two level
- sheet.groupRow(10,13);
- assertEquals(5,sheet.getPhysicalNumberOfRows());
- ctrow = sheet.getRow(10).getCTRow();
- assertNotNull(ctrow);
- assertEquals(11,ctrow.getR());
- assertEquals(2, ctrow.getOutlineLevel());
- assertEquals(2,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-
-
- sheet.ungroupRow(8, 10);
- assertEquals(4,sheet.getPhysicalNumberOfRows());
- assertEquals(1,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-
- sheet.ungroupRow(10,10);
- assertEquals(3,sheet.getPhysicalNumberOfRows());
-
- assertEquals(1,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
- }
-
+
+
+ public void testGroupUngroupRow() {
+ XSSFWorkbook workbook = new XSSFWorkbook();
+ XSSFSheet sheet = workbook.createSheet();
+
+ //one level
+ sheet.groupRow(9, 10);
+ assertEquals(2, sheet.getPhysicalNumberOfRows());
+ CTRow ctrow = sheet.getRow(9).getCTRow();
+
+ assertNotNull(ctrow);
+ assertEquals(10, ctrow.getR());
+ assertEquals(1, ctrow.getOutlineLevel());
+ assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+ //two level
+ sheet.groupRow(10, 13);
+ assertEquals(5, sheet.getPhysicalNumberOfRows());
+ ctrow = sheet.getRow(10).getCTRow();
+ assertNotNull(ctrow);
+ assertEquals(11, ctrow.getR());
+ assertEquals(2, ctrow.getOutlineLevel());
+ assertEquals(2, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+
+ sheet.ungroupRow(8, 10);
+ assertEquals(4, sheet.getPhysicalNumberOfRows());
+ assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+ sheet.ungroupRow(10, 10);
+ assertEquals(3, sheet.getPhysicalNumberOfRows());
+
+ assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+ }
+
public void testSetZoom() {
XSSFWorkbook workBook = new XSSFWorkbook();
XSSFSheet sheet1 = workBook.createSheet("new sheet");
- sheet1.setZoom(3,4); // 75 percent magnification
+ sheet1.setZoom(3, 4); // 75 percent magnification
long zoom = sheet1.getCTWorksheet().getSheetViews().getSheetViewArray(0).getZoomScale();
assertEquals(zoom, 75);
@@ -402,7 +361,7 @@ public class TestXSSFSheet extends BaseTestSheet {
try {
sheet1.setZoom(500);
fail("Expecting exception");
- } catch (IllegalArgumentException e){
+ } catch (IllegalArgumentException e) {
assertEquals("Valid scale values range from 10 to 400", e.getMessage());
}
}
@@ -413,8 +372,8 @@ public class TestXSSFSheet extends BaseTestSheet {
public void testColumnWidth_lowlevel() {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet 1");
- sheet.setColumnWidth(1, 22*256);
- assertEquals(22*256, sheet.getColumnWidth(1));
+ sheet.setColumnWidth(1, 22 * 256);
+ assertEquals(22 * 256, sheet.getColumnWidth(1));
// Now check the low level stuff, and check that's all
// been set correctly
@@ -432,9 +391,8 @@ public class TestXSSFSheet extends BaseTestSheet {
assertEquals(2, col.getMax());
assertEquals(22.0, col.getWidth());
-
// Now set another
- sheet.setColumnWidth(3, 33*256);
+ sheet.setColumnWidth(3, 33 * 256);
cols_s = cts.getColsArray();
assertEquals(1, cols_s.length);
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
index 40d16925aa..5a4b2b1fd6 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
@@ -44,46 +44,6 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
}
- public void testRepeatingRowsAndColums() {
- // First test that setting RR&C for same sheet more than once only creates a
- // single Print_Titles built-in record
- XSSFWorkbook wb = new XSSFWorkbook();
- XSSFSheet sheet = wb.createSheet("FirstSheet");
-
- // set repeating rows and columns twice for the first sheet
- for (int i = 0; i < 2; i++) {
- wb.setRepeatingRowsAndColumns(0, 0, 0, 0, 3);
- //sheet.createFreezePane(0, 3);
- }
- assertEquals(1, wb.getNumberOfNames());
- XSSFName nr1 = wb.getNameAt(0);
-
- assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
- assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
-
- // Save and re-open
- XSSFWorkbook nwb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-
- assertEquals(1, nwb.getNumberOfNames());
- nr1 = nwb.getNameAt(0);
-
- assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
- assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
-
- // check that setting RR&C on a second sheet causes a new Print_Titles built-in
- // name to be created
- sheet = nwb.createSheet("SecondSheet");
- nwb.setRepeatingRowsAndColumns(1, 1, 2, 0, 0);
-
- assertEquals(2, nwb.getNumberOfNames());
- XSSFName nr2 = nwb.getNameAt(1);
-
- assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr2.getNameName());
- assertEquals("'SecondSheet'!$B:$C,'SecondSheet'!$1:$1", nr2.getRefersToFormula());
-
- nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1);
- }
-
/**
* Tests that we can save, and then re-load a new document
*/
@@ -164,20 +124,6 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
}
- public void testFindFont(){
- //get default font and check against default value
- XSSFWorkbook workbook = new XSSFWorkbook();
- Font fontFind=workbook.findFont(Font.BOLDWEIGHT_NORMAL, IndexedColors.BLACK.getIndex(), (short)11, "Calibri", false, false, Font.SS_NONE, Font.U_NONE);
- assertNotNull(fontFind);
-
- //get default font, then change 2 values and check against different values (height changes)
- Font font=workbook.createFont();
- ((XSSFFont)font).setBold(true);
- font.setUnderline(Font.U_DOUBLE);
- fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK.getIndex(), (short)15, "Calibri", false, false, Font.SS_NONE, Font.U_DOUBLE);
- assertNull(fontFind);
- }
-
public void testGetCellStyleAt(){
XSSFWorkbook workbook = new XSSFWorkbook();
short i = 0;
@@ -212,25 +158,6 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertNotNull(fontAt);
}
- public void testGetNumberOfFonts(){
- XSSFWorkbook wb = new XSSFWorkbook();
-
- XSSFFont f1=wb.createFont();
- f1.setBold(true);
- wb.createCellStyle().setFont(f1);
-
- XSSFFont f2=wb.createFont();
- f2.setUnderline(Font.U_DOUBLE);
- wb.createCellStyle().setFont(f2);
-
- XSSFFont f3=wb.createFont();
- f3.setFontHeightInPoints((short)23);
- wb.createCellStyle().setFont(f3);
-
- assertEquals(4,wb.getNumberOfFonts());
- assertEquals(Font.U_DOUBLE,wb.getFontAt((short)2).getUnderline());
- }
-
public void testGetNumCellStyles(){
XSSFWorkbook workbook = new XSSFWorkbook();
short i = workbook.getNumCellStyles();
@@ -240,17 +167,6 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertNotSame(2, i);
}
- public void testSetDisplayedTab(){
- XSSFWorkbook workbook = new XSSFWorkbook();
- workbook.setFirstVisibleTab(1);
- short i = (short) workbook.getFirstVisibleTab();
- //0 (defualt value) is not longer set
- assertNotSame(0, i);
- //1 is the default tab
- assertEquals(1, i);
- }
-
-
public void testLoadSave() {
XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
assertEquals(3, workbook.getNumberOfSheets());