]> source.dussan.org Git - poi.git/commitdiff
Stub out sheet hiding tests, so we have a framework for when sheet hiding is supporte...
authorNick Burch <nick@apache.org>
Wed, 5 Dec 2007 10:51:20 +0000 (10:51 +0000)
committerNick Burch <nick@apache.org>
Wed, 5 Dec 2007 10:51:20 +0000 (10:51 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@601288 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/hssf/data/1900DateWindowing.xls
src/testcases/org/apache/poi/hssf/data/1904DateWindowing.xls
src/testcases/org/apache/poi/hssf/data/TwoSheetsNoneHidden.xls [new file with mode: 0644]
src/testcases/org/apache/poi/hssf/data/TwoSheetsOneHidden.xls [new file with mode: 0644]
src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java [new file with mode: 0644]

index 33a57732ea1f2f3a02aae2eba8c5d23aa6522157..94fe5c1becedcfb8db91d9f8afcb81bec9588255 100644 (file)
Binary files a/src/testcases/org/apache/poi/hssf/data/1900DateWindowing.xls and b/src/testcases/org/apache/poi/hssf/data/1900DateWindowing.xls differ
index 7eda89e73157f0d422d68c188c16a4317af6fb6c..8c0dba1d7ac2415cc48f5678d0cd4450f0d9cded 100644 (file)
Binary files a/src/testcases/org/apache/poi/hssf/data/1904DateWindowing.xls and b/src/testcases/org/apache/poi/hssf/data/1904DateWindowing.xls differ
diff --git a/src/testcases/org/apache/poi/hssf/data/TwoSheetsNoneHidden.xls b/src/testcases/org/apache/poi/hssf/data/TwoSheetsNoneHidden.xls
new file mode 100644 (file)
index 0000000..969f014
Binary files /dev/null and b/src/testcases/org/apache/poi/hssf/data/TwoSheetsNoneHidden.xls differ
diff --git a/src/testcases/org/apache/poi/hssf/data/TwoSheetsOneHidden.xls b/src/testcases/org/apache/poi/hssf/data/TwoSheetsOneHidden.xls
new file mode 100644 (file)
index 0000000..940ffc0
Binary files /dev/null and b/src/testcases/org/apache/poi/hssf/data/TwoSheetsOneHidden.xls differ
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java b/src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java
new file mode 100644 (file)
index 0000000..9628ab2
--- /dev/null
@@ -0,0 +1,105 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.poi.hssf.usermodel;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+
+import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for how HSSFWorkbook behaves with XLS files
+ *  with a WORKBOOK directory entry (instead of the more
+ *  usual, Workbook)
+ */
+public class TestSheetHiding extends TestCase {
+       private String dirPath;
+       private String xlsHidden = "TwoSheetsOneHidden.xls";
+       private String xlsShown  = "TwoSheetsNoneHidden.xls";
+
+       protected void setUp() throws Exception {
+               super.setUp();
+               
+        dirPath = System.getProperty("HSSF.testdata.path");
+       }
+
+       /**
+        * Test that we get the right number of sheets,
+        *  with the right text on them, no matter what
+        *  the hidden flags are
+        */
+       public void testTextSheets() throws Exception {
+               FileInputStream isH = new FileInputStream(dirPath + "/" + xlsHidden);
+               POIFSFileSystem fsH = new POIFSFileSystem(isH);
+               
+               FileInputStream isU = new FileInputStream(dirPath + "/" + xlsShown);
+               POIFSFileSystem fsU = new POIFSFileSystem(isU);
+
+               HSSFWorkbook wbH = new HSSFWorkbook(fsH);
+               HSSFWorkbook wbU = new HSSFWorkbook(fsU);
+               
+               // Both should have two sheets
+               assertEquals(2, wbH.sheets.size());
+               assertEquals(2, wbU.sheets.size());
+               
+               // All sheets should have one row
+               assertEquals(0, wbH.getSheetAt(0).getLastRowNum());
+               assertEquals(0, wbH.getSheetAt(1).getLastRowNum());
+               assertEquals(0, wbU.getSheetAt(0).getLastRowNum());
+               assertEquals(0, wbU.getSheetAt(1).getLastRowNum());
+               
+               // All rows should have one column
+               assertEquals(1, wbH.getSheetAt(0).getRow(0).getLastCellNum());
+               assertEquals(1, wbH.getSheetAt(1).getRow(0).getLastCellNum());
+               assertEquals(1, wbU.getSheetAt(0).getRow(0).getLastCellNum());
+               assertEquals(1, wbU.getSheetAt(1).getRow(0).getLastCellNum());
+               
+               // Text should be sheet based
+               assertEquals("Sheet1A1", wbH.getSheetAt(0).getRow(0).getCell((short)0).getStringCellValue());
+               assertEquals("Sheet2A1", wbH.getSheetAt(1).getRow(0).getCell((short)0).getStringCellValue());
+               assertEquals("Sheet1A1", wbU.getSheetAt(0).getRow(0).getCell((short)0).getStringCellValue());
+               assertEquals("Sheet2A1", wbU.getSheetAt(1).getRow(0).getCell((short)0).getStringCellValue());
+       }
+
+       /**
+        * Check that we can get and set the hidden flags
+        *  as expected
+        */
+       public void testHideUnHideFlags() throws Exception {
+               // TODO
+       }
+
+       /**
+        * Turn the sheet with none hidden into the one with
+        *  one hidden
+        */
+       public void testHide() throws Exception {
+               // TODO
+       }
+
+       /**
+        * Turn the sheet with one hidden into the one with
+        *  none hidden
+        */
+       public void testUnHide() throws Exception {
+               // TODO
+       }
+}