Return-Path: Delivered-To: apmail-poi-commits-archive@minotaur.apache.org Received: (qmail 16899 invoked from network); 28 Dec 2010 04:43:45 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 28 Dec 2010 04:43:45 -0000 Received: (qmail 73800 invoked by uid 500); 28 Dec 2010 04:43:44 -0000 Delivered-To: apmail-poi-commits-archive@poi.apache.org Received: (qmail 73764 invoked by uid 500); 28 Dec 2010 04:43:44 -0000 Mailing-List: contact commits-help@poi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@poi.apache.org Delivered-To: mailing list commits@poi.apache.org Received: (qmail 73757 invoked by uid 99); 28 Dec 2010 04:43:43 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Dec 2010 04:43:43 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Dec 2010 04:43:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 11CE723889B1; Tue, 28 Dec 2010 04:43:20 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1053250 - in /poi/trunk/src/testcases/org/apache/poi/poifs/filesystem: TestNPOIFSFileSystem.java TestNPOIFSStream.java Date: Tue, 28 Dec 2010 04:43:20 -0000 To: commits@poi.apache.org From: nick@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101228044320.11CE723889B1@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: nick Date: Tue Dec 28 04:43:19 2010 New Revision: 1053250 URL: http://svn.apache.org/viewvc?rev=1053250&view=rev Log: More NPOIFSStream unit tests Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSStream.java Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java?rev=1053250&r1=1053249&r2=1053250&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java (original) +++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java Tue Dec 28 04:43:19 2010 @@ -345,6 +345,9 @@ public final class TestNPOIFSFileSystem */ public void testGetFreeBlockWithNoneSpare() throws Exception { NPOIFSFileSystem fs = new NPOIFSFileSystem(_inst.openResourceAsStream("BlockSize512.zvi")); + + // We have one BAT at block 99 + assertEquals(POIFSConstants.FAT_SECTOR_BLOCK, fs.getNextBlock(99)); // We've spare ones from 100 to 128 for(int i=100; i<128; i++) { Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSStream.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSStream.java?rev=1053250&r1=1053249&r2=1053250&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSStream.java (original) +++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSStream.java Tue Dec 28 04:43:19 2010 @@ -510,9 +510,38 @@ public final class TestNPOIFSStream exte * to support this */ public void testWriteNewStreamExtraFATs() throws Exception { - NPOIFSFileSystem fs = new NPOIFSFileSystem(_inst.getFile("BlockSize512.zvi")); + NPOIFSFileSystem fs = new NPOIFSFileSystem(_inst.openResourceAsStream("BlockSize512.zvi")); - // TODO + // Allocate almost all the blocks + assertEquals(POIFSConstants.FAT_SECTOR_BLOCK, fs.getNextBlock(99)); + assertEquals(POIFSConstants.UNUSED_BLOCK, fs.getNextBlock(100)); + assertEquals(POIFSConstants.UNUSED_BLOCK, fs.getNextBlock(127)); + for(int i=100; i<127; i++) { + fs.setNextBlock(i, POIFSConstants.END_OF_CHAIN); + } + assertEquals(POIFSConstants.UNUSED_BLOCK, fs.getNextBlock(127)); + assertEquals(true, fs.getBATBlockAndIndex(0).getBlock().hasFreeSectors()); + + + // Write a 3 block stream + byte[] data = new byte[512*3]; + for(int i=0; i 1 -> 2 -> end + assertEquals(1, fs.getNextBlock(0)); + assertEquals(2, fs.getNextBlock(1)); + assertEquals(POIFSConstants.END_OF_CHAIN, fs.getNextBlock(2)); + assertEquals(4, fs.getNextBlock(3)); + + // First free one is at 15 + assertEquals(POIFSConstants.FAT_SECTOR_BLOCK, fs.getNextBlock(14)); + assertEquals(POIFSConstants.UNUSED_BLOCK, fs.getNextBlock(15)); + + + // Write a 5 block file + byte[] data = new byte[4096*5]; + for(int i=0; i it = stream.getBlockIterator(); + int count = 0; + while(it.hasNext()) { + ByteBuffer b = it.next(); + data = new byte[512]; + b.get(data); + for(int i=0; i