summaryrefslogtreecommitdiffstats
path: root/luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java')
-rw-r--r--luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java505
1 files changed, 0 insertions, 505 deletions
diff --git a/luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java b/luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java
deleted file mode 100644
index a423f22..0000000
--- a/luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*
- * 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.harmony.archive.tests.java.util.zip;
-
-import tests.support.Support_PlatformFile;
-import tests.support.resource.Support_Resources;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FilePermission;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.security.Permission;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-import libcore.java.lang.ref.FinalizationTester;
-
-public class ZipFileTest extends junit.framework.TestCase {
-
- public byte[] getAllBytesFromStream(InputStream is) throws IOException {
- ByteArrayOutputStream bs = new ByteArrayOutputStream();
- byte[] buf = new byte[512];
- int iRead;
- int off;
- while (is.available() > 0) {
- iRead = is.read(buf, 0, buf.length);
- if (iRead > 0) bs.write(buf, 0, iRead);
- }
- return bs.toByteArray();
- }
-
- // the file hyts_zipFile.zip in setup must be included as a resource
- private String tempFileName;
-
- private ZipFile zfile;
-
- // custom security manager
- SecurityManager sm = new SecurityManager() {
- final String forbidenPermissionAction = "read";
-
-
-
- public void checkPermission(Permission perm) {
- // only check if it's a FilePermission because Locale checks
- // for a PropertyPermission with action"read" to get system props.
- if (perm instanceof FilePermission
- && perm.getActions().equals(forbidenPermissionAction)) {
- throw new SecurityException();
- }
- }
- };
-
- /**
- * java.util.zip.ZipFile#ZipFile(java.io.File)
- */
- public void test_ConstructorLjava_io_File() {
- // Test for method java.util.zip.ZipFile(java.io.File)
- assertTrue("Used to test", true);
- }
-
- /**
- * java.util.zip.ZipFile#ZipFile(java.io.File, int)
- */
- public void test_ConstructorLjava_io_FileI() throws IOException {
- zfile.close(); // about to reopen the same temp file
- File file = new File(tempFileName);
- ZipFile zip = new ZipFile(file, ZipFile.OPEN_DELETE | ZipFile.OPEN_READ);
- zip.close();
- assertTrue("Zip should not exist", !file.exists());
- file = new File(tempFileName);
- file.delete();
- try {
- zip = new ZipFile(file, ZipFile.OPEN_READ);
- fail("IOException expected");
- } catch (IOException ee) {
- // expected
- }
- file = new File(tempFileName);
- try {
- zip = new ZipFile(file, -1);
- fail("IllegalArgumentException expected");
- } catch (IllegalArgumentException ee) {
- // expected
- }
- }
-
- /**
- * @throws IOException
- * java.util.zip.ZipFile#ZipFile(java.lang.String)
- */
- public void test_ConstructorLjava_lang_String() throws IOException {
- System.setProperty("user.dir", System.getProperty("java.io.tmpdir"));
-
- zfile.close(); // about to reopen the same temp file
- ZipFile zip = new ZipFile(tempFileName);
- zip.close();
- File file = File.createTempFile("zip", "tmp");
- try {
- zip = new ZipFile(file.getName());
- fail("ZipException expected");
- } catch (ZipException ee) {
- // expected
- }
- file.delete();
- }
-
- protected ZipEntry test_finalize1(ZipFile zip) {
- return zip.getEntry("File1.txt");
- }
-
- protected ZipFile test_finalize2(File file) throws IOException {
- return new ZipFile(file);
- }
-
- /**
- * java.util.zip.ZipFile#finalize()
- */
- public void test_finalize() throws IOException {
- InputStream in = Support_Resources.getStream("hyts_ZipFile.zip");
- File file = Support_Resources.createTempFile(".jar");
- OutputStream out = new FileOutputStream(file);
- int result;
- byte[] buf = new byte[4096];
- while ((result = in.read(buf)) != -1) {
- out.write(buf, 0, result);
- }
- in.close();
- out.close();
- /*
- * ZipFile zip = new ZipFile(file); ZipEntry entry1 =
- * zip.getEntry("File1.txt"); assertNotNull("Did not find entry",
- * entry1); entry1 = null; zip = null;
- */
-
- assertNotNull("Did not find entry", test_finalize1(test_finalize2(file)));
- FinalizationTester.induceFinalization();
- file.delete();
- assertTrue("Zip should not exist", !file.exists());
- }
-
- /**
- * @throws IOException
- * java.util.zip.ZipFile#close()
- */
- public void test_close() throws IOException {
- // Test for method void java.util.zip.ZipFile.close()
- File fl = new File(tempFileName);
- ZipFile zf = new ZipFile(fl);
- InputStream is1 = zf.getInputStream(zf.getEntry("File1.txt"));
- InputStream is2 = zf.getInputStream(zf.getEntry("File2.txt"));
-
- is1.read();
- is2.read();
-
- zf.close();
-
- try {
- is1.read();
- fail("IOException expected");
- } catch (IOException ee) {
- // expected
- }
-
- try {
- is2.read();
- fail("IOException expected");
- } catch (IOException ee) {
- // expected
- }
- }
-
- /**
- * java.util.zip.ZipFile#entries()
- */
- public void test_entries() throws Exception {
- // Test for method java.util.Enumeration java.util.zip.ZipFile.entries()
- Enumeration<? extends ZipEntry> enumer = zfile.entries();
- int c = 0;
- while (enumer.hasMoreElements()) {
- ++c;
- enumer.nextElement();
- }
- assertTrue("Incorrect number of entries returned: " + c, c == 6);
-
- Enumeration<? extends ZipEntry> enumeration = zfile.entries();
- zfile.close();
- try {
- enumeration.nextElement();
- fail("did not detect closed file");
- } catch (IllegalStateException expected) {
- }
-
- try {
- enumeration.hasMoreElements();
- fail("did not detect closed file");
- } catch (IllegalStateException expected) {
- }
-
- try {
- zfile.entries();
- fail("did not detect closed file");
- } catch (IllegalStateException expected) {
- }
- }
-
- /**
- * java.util.zip.ZipFile#getEntry(java.lang.String)
- */
- public void test_getEntryLjava_lang_String() throws IOException {
- // Test for method java.util.zip.ZipEntry
- // java.util.zip.ZipFile.getEntry(java.lang.String)
- java.util.zip.ZipEntry zentry = zfile.getEntry("File1.txt");
- assertNotNull("Could not obtain ZipEntry", zentry);
- int r;
- InputStream in;
-
- zentry = zfile.getEntry("testdir1/File1.txt");
- assertNotNull("Could not obtain ZipEntry: testdir1/File1.txt", zentry);
- zentry = zfile.getEntry("testdir1/");
- assertNotNull("Could not obtain ZipEntry: testdir1/", zentry);
- in = zfile.getInputStream(zentry);
- assertNotNull("testdir1/ should not have null input stream", in);
- r = in.read();
- in.close();
- assertEquals("testdir1/ should not contain data", -1, r);
-
- zentry = zfile.getEntry("testdir1/testdir1");
- assertNotNull("Could not obtain ZipEntry: testdir1/testdir1", zentry);
- in = zfile.getInputStream(zentry);
- byte[] buf = new byte[256];
- r = in.read(buf);
- in.close();
- assertEquals("incorrect contents", "This is also text", new String(buf,
- 0, r));
- }
-
- public void test_getEntryLjava_lang_String_AndroidOnly() throws IOException {
- java.util.zip.ZipEntry zentry = zfile.getEntry("File1.txt");
- assertNotNull("Could not obtain ZipEntry", zentry);
- int r;
- InputStream in;
-
- zentry = zfile.getEntry("testdir1");
- assertNotNull("Must be able to obtain ZipEntry: testdir1", zentry);
- in = zfile.getInputStream(zentry);
- /*
- * Android delivers empty InputStream, RI no InputStream at all. The
- * spec doesn't clarify this, so we need to deal with both situations.
- */
- int data = -1;
- if (in != null) {
- data = in.read();
- in.close();
- }
- assertEquals("Must not be able to read directory data", -1, data);
- }
-
- public void test_getEntryLjava_lang_String_Ex() throws IOException {
- java.util.zip.ZipEntry zentry = zfile.getEntry("File1.txt");
- assertNotNull("Could not obtain ZipEntry", zentry);
-
- zfile.close();
- try {
- zfile.getEntry("File2.txt");
- fail("IllegalStateException expected");
- } catch (IllegalStateException ee) {
- }
- }
-
- /**
- * @throws IOException
- * java.util.zip.ZipFile#getInputStream(java.util.zip.ZipEntry)
- */
- public void test_getInputStreamLjava_util_zip_ZipEntry() throws IOException {
- // Test for method java.io.InputStream
- // java.util.zip.ZipFile.getInputStream(java.util.zip.ZipEntry)
- ZipEntry zentry = null;
- InputStream is = null;
- try {
- zentry = zfile.getEntry("File1.txt");
- is = zfile.getInputStream(zentry);
- byte[] rbuf = new byte[1000];
- int r;
- is.read(rbuf, 0, r = (int) zentry.getSize());
- assertEquals("getInputStream read incorrect data", "This is text",
- new String(rbuf, 0, r));
- } catch (java.io.IOException e) {
- fail("IOException during getInputStream");
- } finally {
- try {
- is.close();
- } catch (java.io.IOException e) {
- fail("Failed to close input stream");
- }
- }
-
- zentry = zfile.getEntry("File2.txt");
- zfile.close();
- try {
- is = zfile.getInputStream(zentry);
- fail("IllegalStateException expected");
- } catch (IllegalStateException ee) {
- // expected
- }
-
- // ZipException can not be checked. Stream object returned or null.
- }
-
- /**
- * java.util.zip.ZipFile#getName()
- */
- public void test_getName() {
- // Test for method java.lang.String java.util.zip.ZipFile.getName()
- assertTrue("Returned incorrect name: " + zfile.getName(), zfile
- .getName().equals(tempFileName));
- }
-
- /**
- * @throws IOException
- * java.util.zip.ZipFile#size()
- */
- public void test_size() throws IOException {
- assertEquals(6, zfile.size());
- zfile.close();
- try {
- zfile.size();
- fail("IllegalStateException expected");
- } catch (IllegalStateException expected) {
- }
- }
-
- /**
- * java.io.InputStream#reset()
- */
- public void test_reset() throws IOException {
- // read an uncompressed entry
- ZipEntry zentry = zfile.getEntry("File1.txt");
- InputStream is = zfile.getInputStream(zentry);
- byte[] rbuf1 = new byte[6];
- byte[] rbuf2 = new byte[6];
- int r1, r2;
- r1 = is.read(rbuf1);
- assertEquals(rbuf1.length, r1);
- r2 = is.read(rbuf2);
- assertEquals(rbuf2.length, r2);
-
- try {
- is.reset();
- fail();
- } catch (IOException expected) {
- }
- is.close();
-
- // read a compressed entry
- byte[] rbuf3 = new byte[4185];
- ZipEntry zentry2 = zfile.getEntry("File3.txt");
- is = zfile.getInputStream(zentry2);
- r1 = is.read(rbuf3);
- assertEquals(4183, r1);
- try {
- is.reset();
- fail();
- } catch (IOException expected) {
- }
- is.close();
-
- is = zfile.getInputStream(zentry2);
- r1 = is.read(rbuf3, 0, 3000);
- assertEquals(3000, r1);
- try {
- is.reset();
- fail();
- } catch (IOException expected) {
- }
- is.close();
- }
-
- /**
- * java.io.InputStream#reset()
- */
- public void test_reset_subtest0() throws IOException {
- // read an uncompressed entry
- ZipEntry zentry = zfile.getEntry("File1.txt");
- InputStream is = zfile.getInputStream(zentry);
- byte[] rbuf1 = new byte[12];
- byte[] rbuf2 = new byte[12];
- int r = is.read(rbuf1, 0, 4);
- assertEquals(4, r);
- is.mark(0);
- r = is.read(rbuf1);
- assertEquals(8, r);
- assertEquals(-1, is.read());
-
- try {
- is.reset();
- fail();
- } catch (IOException expected) {
- }
-
- is.close();
-
- // read a compressed entry
- byte[] rbuf3 = new byte[4185];
- ZipEntry zentry2 = zfile.getEntry("File3.txt");
- is = zfile.getInputStream(zentry2);
- r = is.read(rbuf3, 0, 3000);
- assertEquals(3000, r);
- is.mark(0);
- r = is.read(rbuf3);
- assertEquals(1183, r);
- assertEquals(-1, is.read());
-
- try {
- is.reset();
- fail();
- } catch (IOException expected) {
- }
-
- is.close();
- }
-
- /**
- * Sets up the fixture, for example, open a network connection. This method
- * is called before a test is executed.
- */
- @Override
- protected void setUp() {
- try {
- // Create a local copy of the file since some tests want to alter
- // information.
- tempFileName = System.getProperty("java.io.tmpdir");
- String separator = System.getProperty("file.separator");
- if (tempFileName.charAt(tempFileName.length() - 1) == separator
- .charAt(0)) {
- tempFileName = Support_PlatformFile.getNewPlatformFile(
- tempFileName, "gabba.zip");
- } else {
- tempFileName = Support_PlatformFile.getNewPlatformFile(
- tempFileName + separator, "gabba.zip");
- }
-
- File f = new File(tempFileName);
- f.delete();
- InputStream is = Support_Resources.getStream("hyts_ZipFile.zip");
- FileOutputStream fos = new FileOutputStream(f);
- byte[] rbuf = getAllBytesFromStream(is);
- fos.write(rbuf, 0, rbuf.length);
- is.close();
- fos.close();
- zfile = new ZipFile(f);
- } catch (Exception e) {
- System.out.println("Exception during ZipFile setup:");
- e.printStackTrace();
- }
- }
-
- /**
- * Tears down the fixture, for example, close a network connection. This
- * method is called after a test is executed.
- */
- @Override
- protected void tearDown() {
- try {
- if (zfile != null) {
- // Note zfile is a user-defined zip file used by other tests and
- // should not be deleted
- zfile.close();
- tempFileName = System.getProperty("java.io.tmpdir");
- String separator = System.getProperty("file.separator");
- if (tempFileName.charAt(tempFileName.length() - 1) == separator
- .charAt(0)) {
- tempFileName = Support_PlatformFile.getNewPlatformFile(
- tempFileName, "gabba.zip");
- } else {
- tempFileName = Support_PlatformFile.getNewPlatformFile(
- tempFileName + separator, "gabba.zip");
- }
-
- File f = new File(tempFileName);
- f.delete();
- }
- } catch (Exception e) {
- }
- }
-
-}