Apply patch for bug 64791 to use proper position for the WriteAccessRecord

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1882829 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2020-10-25 07:21:56 +00:00
parent ce51aaf2dd
commit 062455c25d
2 changed files with 20 additions and 1 deletions

View File

@ -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());

View File

@ -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);
}
}