Author: centic
Date: Sun Oct 25 07:21:56 2020
New Revision: 1882829

URL: http://svn.apache.org/viewvc?rev=1882829&view=rev
Log:
Apply patch for bug 64791 to use proper position for the WriteAccessRecord

Modified:
    poi/trunk/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
    poi/trunk/src/testcases/org/apache/poi/hssf/model/TestWorkbook.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/model/InternalWorkbook.java?rev=1882829&r1=1882828&r2=1882829&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/model/InternalWorkbook.java 
(original)
+++ poi/trunk/src/java/org/apache/poi/hssf/model/InternalWorkbook.java Sun Oct 
25 07:21:56 2020
@@ -336,7 +336,8 @@ public final class InternalWorkbook {
         records.add(new InterfaceHdrRecord(CODEPAGE));
         records.add(createMMS());
         records.add(InterfaceEndRecord.instance);
-        records.add(createWriteAccess());
+        // store the write-access record at the proper position
+        retval.getWriteAccess();
         records.add(createCodepage());
         records.add(createDSF());
         records.add(createTabId());

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/model/TestWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/model/TestWorkbook.java?rev=1882829&r1=1882828&r2=1882829&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/model/TestWorkbook.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/model/TestWorkbook.java Sun Oct 
25 07:21:56 2020
@@ -154,4 +154,22 @@ public final class TestWorkbook {
 
         wb.close();
     }
+
+    @Test
+    public void testWriteAccess() {
+        HSSFWorkbook wb = new HSSFWorkbook();
+        InternalWorkbook iwb = TestHSSFWorkbook.getInternalWorkbook(wb);
+
+        int oldRecordsCount = iwb.getNumRecords();
+        //System.out.println("records count = " + oldRecordsCount);
+        assertEquals("records count", 68, oldRecordsCount);
+
+        WriteAccessRecord writeAccess = iwb.getWriteAccess();
+        assertNotNull(writeAccess);
+        assertEquals(WriteAccessRecord.sid, writeAccess.getSid());
+
+        int newRecordsCount = iwb.getNumRecords();
+        //System.out.println("records count after 'getWriteAccess' = " + 
newRecordsCount);
+        assertEquals("records count after getWriteAccess", oldRecordsCount, 
newRecordsCount);
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to