1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.archive.tests.java.util.zip;
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.File;
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.FileOutputStream;
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.IOException;
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.InputStream;
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.OutputStream;
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayOutputStream;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Enumeration;
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.zip.ZipEntry;
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.zip.ZipFile;
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport tests.support.Support_PlatformFile;
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport tests.support.resource.Support_Resources;
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class ZipFileTest extends junit.framework.TestCase {
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public byte[] getAllBytesFromStream(InputStream is) throws IOException {
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ByteArrayOutputStream bs = new ByteArrayOutputStream();
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] buf = new byte[512];
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        int iRead;
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        int off;
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        while (is.available() > 0) {
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            iRead = is.read(buf, 0, buf.length);
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            if (iRead > 0) bs.write(buf, 0, iRead);
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        return bs.toByteArray();
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// the file hyts_zipFile.zip in setup must be included as a resource
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	private String tempFileName;
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	private ZipFile zfile;
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @throws IOException
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#ZipFile(java.io.File)
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_ConstructorLjava_io_File() throws IOException {
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.zip.ZipFile(java.io.File)
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        zfile.close(); // about to reopen the same temp file
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        File file = new File(tempFileName);
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ZipFile zip = new ZipFile(file);
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Zip should exist", file.exists());
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        zip.close();
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#ZipFile(java.io.File, int)
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_ConstructorLjava_io_FileI() throws IOException {
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                zfile.close(); // about to reopen the same temp file
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                File file = new File(tempFileName);
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                ZipFile zip = new ZipFile(file, ZipFile.OPEN_DELETE
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                          | ZipFile.OPEN_READ);
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                zip.close();
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertTrue("Zip should not exist", !file.exists());
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                file = new File(tempFileName);
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try{
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    zip = new ZipFile(file, 3);  //passing unkown argument
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    fail("Should throw IllegalArgumentException");
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }catch(IllegalArgumentException iae ){
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    //expected
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#ZipFile(java.lang.String)
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_ConstructorLjava_lang_String() {
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.zip.ZipFile(java.lang.String)
89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		/*
90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		 * try { zfile = new java.util.zip.ZipFile(zipName); zfile.close(); }
91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		 * catch (java.io.IOException e) {fail( "Failed to construct
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		 * ZipFile" );}
93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		 */
94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	protected ZipEntry test_finalize1(ZipFile zip) {
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		return zip.getEntry("File1.txt");
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	protected ZipFile test_finalize2(File file) throws IOException {
101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                return new ZipFile(file);
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#finalize()
106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_finalize() throws IOException {
108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InputStream in = Support_Resources.getStream("hyts_ZipFile.zip");
109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            File file = Support_Resources.createTempFile(".jar");
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            OutputStream out = new FileOutputStream(file);
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            int result;
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            byte[] buf = new byte[4096];
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            while ((result = in.read(buf)) != -1) {
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                out.write(buf, 0, result);
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            in.close();
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            out.close();
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            /*
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes             * ZipFile zip = new ZipFile(file); ZipEntry entry1 =
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes             * zip.getEntry("File1.txt"); assertNotNull("Did not find entry",
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes             * entry1); entry1 = null; zip = null;
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes             */
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertNotNull("Did not find entry",
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                          test_finalize1(test_finalize2(file)));
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            System.gc();
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            System.gc();
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            System.runFinalization();
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            file.delete();
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertTrue("Zip should not exist", !file.exists());
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#close()
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_close() {
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void java.util.zip.ZipFile.close()
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			zfile.close();
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			zfile.getInputStream(zfile.getEntry("ztest/file1.txt"));
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Exception e) {
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			return;
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		fail("Close test failed");
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#entries()
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_entries() throws Exception {
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.Enumeration java.util.zip.ZipFile.entries()
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Enumeration<? extends ZipEntry> enumer = zfile.entries();
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int c = 0;
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		while (enumer.hasMoreElements()) {
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			++c;
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			enumer.nextElement();
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Incorrect number of entries returned: " + c, 6, c);
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Enumeration<? extends ZipEntry> enumeration = zfile.entries();
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		zfile.close();
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		zfile = null;
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		boolean pass = false;
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			enumeration.hasMoreElements();
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IllegalStateException e) {
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			pass = true;
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("did not detect closed jar file", pass);
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#getEntry(java.lang.String)
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getEntryLjava_lang_String() throws IOException {
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.zip.ZipEntry
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.zip.ZipFile.getEntry(java.lang.String)
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		java.util.zip.ZipEntry zentry = zfile.getEntry("File1.txt");
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertNotNull("Could not obtain ZipEntry", zentry);
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		zentry = zfile.getEntry("testdir1/File1.txt");
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertNotNull("Could not obtain ZipEntry: testdir1/File1.txt",
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				zentry);
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                int r;
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                InputStream in;
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                zentry = zfile.getEntry("testdir1/");
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("Could not obtain ZipEntry: testdir1/", zentry);
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                in = zfile.getInputStream(zentry);
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("testdir1/ should not have null input stream",
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                              in);
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                r = in.read();
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                in.close();
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("testdir1/ should not contain data", -1, r);
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                zentry = zfile.getEntry("testdir1");
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("Could not obtain ZipEntry: testdir1", zentry);
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                in = zfile.getInputStream(zentry);
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("testdir1 should not have null input stream", in);
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                r = in.read();
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                in.close();
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("testdir1 should not contain data", -1, r);
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                zentry = zfile.getEntry("testdir1/testdir1");
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("Could not obtain ZipEntry: testdir1/testdir1",
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                              zentry);
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                in = zfile.getInputStream(zentry);
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                byte[] buf = new byte[256];
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                r = in.read(buf);
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                in.close();
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("incorrect contents",
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                             "This is also text", new String(buf, 0, r, "UTF-8"));
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_getEntryLjava_lang_String_Ex() throws IOException {
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        java.util.zip.ZipEntry zentry = zfile.getEntry("File1.txt");
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNotNull("Could not obtain ZipEntry", zentry);
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        zfile.close();
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            zfile.getEntry("File2.txt");
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("IllegalStateException expected");
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IllegalStateException ee) {
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            // expected
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#getInputStream(java.util.zip.ZipEntry)
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getInputStreamLjava_util_zip_ZipEntry() {
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.io.InputStream
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.zip.ZipFile.getInputStream(java.util.zip.ZipEntry)
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		java.io.InputStream is = null;
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			java.util.zip.ZipEntry zentry = zfile.getEntry("File1.txt");
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			is = zfile.getInputStream(zentry);
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			byte[] rbuf = new byte[1000];
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			int r;
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			is.read(rbuf, 0, r = (int) zentry.getSize());
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertEquals("getInputStream read incorrect data", "This is text", new String(rbuf,
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					0, r, "UTF-8"));
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (java.io.IOException e) {
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException during getInputStream");
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} finally {
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			try {
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				is.close();
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			} catch (java.io.IOException e) {
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				fail("Failed to close input stream");
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.zip.ZipFile#getName()
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getName() {
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.zip.ZipFile.getName()
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Returned incorrect name: " + zfile.getName(), tempFileName,
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		        zfile.getName());
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.util.zip.ZipFile#size()
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_size() {
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(6, zfile.size());
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.io.InputStream#reset()
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_reset() throws IOException {
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // read an uncompressed entry
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ZipEntry zentry = zfile.getEntry("File1.txt");
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        InputStream is = zfile.getInputStream(zentry);
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] rbuf1 = new byte[6];
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] rbuf2 = new byte[6];
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        int r1, r2;
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r1 = is.read(rbuf1);
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(rbuf1.length, r1);
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r2 = is.read(rbuf2);
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(rbuf2.length, r2);
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            is.reset();
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail();
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IOException expected) {
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.close();
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // read a compressed entry
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] rbuf3 = new byte[4185];
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ZipEntry zentry2 = zfile.getEntry("File3.txt");
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is = zfile.getInputStream(zentry2);
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r1 = is.read(rbuf3);
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(4183, r1);
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            is.reset();
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail();
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IOException expected) {
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.close();
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is = zfile.getInputStream(zentry2);
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r1 = is.read(rbuf3, 0, 3000);
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3000, r1);
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            is.reset();
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail();
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IOException expected) {
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.close();
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.io.InputStream#reset()
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_reset_subtest0() throws IOException {
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // read an uncompressed entry
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ZipEntry zentry = zfile.getEntry("File1.txt");
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        InputStream is = zfile.getInputStream(zentry);
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] rbuf1 = new byte[12];
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] rbuf2 = new byte[12];
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        int r = is.read(rbuf1, 0, 4);
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(4, r);
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.mark(0);
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r = is.read(rbuf1);
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(8, r);
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, is.read());
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            is.reset();
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail();
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IOException expected) {
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.close();
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // read a compressed entry
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        byte[] rbuf3 = new byte[4185];
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ZipEntry zentry2 = zfile.getEntry("File3.txt");
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is = zfile.getInputStream(zentry2);
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r = is.read(rbuf3, 0, 3000);
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(3000, r);
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.mark(0);
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        r = is.read(rbuf3);
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(1183, r);
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals(-1, is.read());
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            is.reset();
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail();
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (IOException expected) {
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        is.close();
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * Sets up the fixture, for example, open a network connection. This method
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * is called before a test is executed.
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	@Override
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void setUp() {
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Create a local copy of the file since some tests want to alter
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// information.
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			tempFileName = System.getProperty("user.dir");
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			String separator = System.getProperty("file.separator");
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (tempFileName.charAt(tempFileName.length() - 1) == separator
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.charAt(0)) {
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                tempFileName = Support_PlatformFile.getNewPlatformFile(
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						tempFileName, "gabba.zip");
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } else {
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                tempFileName = Support_PlatformFile.getNewPlatformFile(
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						tempFileName + separator, "gabba.zip");
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			File f = new File(tempFileName);
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			f.delete();
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			InputStream is = Support_Resources.getStream("hyts_ZipFile.zip");
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			FileOutputStream fos = new FileOutputStream(f);
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            byte[] rbuf = getAllBytesFromStream(is);
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fos.write(rbuf, 0, rbuf.length);
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			is.close();
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fos.close();
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			zfile = new ZipFile(f);
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Exception e) {
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Exception during ZipFile setup:");
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			e.printStackTrace();
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * Tears down the fixture, for example, close a network connection. This
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * method is called after a test is executed.
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	@Override
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void tearDown() {
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (zfile != null) {
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                // Note zfile is a user-defined zip file used by other tests and
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				// should not be deleted
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				zfile.close();
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                tempFileName = System.getProperty("user.dir");
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                String separator = System.getProperty("file.separator");
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                if (tempFileName.charAt(tempFileName.length() - 1) == separator
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .charAt(0)) {
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    tempFileName = Support_PlatformFile.getNewPlatformFile(
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            tempFileName, "gabba.zip");
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } else {
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    tempFileName = Support_PlatformFile.getNewPlatformFile(
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            tempFileName + separator, "gabba.zip");
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                File f = new File(tempFileName);
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                f.delete();
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Exception e) {
420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
424