1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License. 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.apache.harmony.archive.tests.java.util.jar; 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.KnownFailure; 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport junit.framework.TestCase; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.support.resource.Support_Resources; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 28a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Projectimport java.beans.PropertyChangeEvent; 29a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Projectimport java.beans.PropertyChangeListener; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.File; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileInputStream; 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileOutputStream; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Map; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.jar.JarFile; 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.jar.JarOutputStream; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.jar.Pack200; 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.jar.Pack200.Packer; 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.jar.Pack200.Unpacker; 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Pack200.Unpacker.class) 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class Pack200UnpackerTest extends TestCase { 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Unpacker unpacker; 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Map properties; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "properties", 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @KnownFailure("No Implementation in Android!") 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testProperties() { 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue(properties.size()>0); 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "unpack", 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.File.class, java.util.jar.JarOutputStream.class} 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @KnownFailure("No Implementation in Android!") 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testUnpackInputStreamJarOutputStream() throws IOException { 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File resources = Support_Resources.createTempFolder(); 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Use junit4.jar file for testing pack200 compressing rate. 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //file can be changed to any other. 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Support_Resources.copyFile(resources, null, "junit4-4.3.1.jar"); 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile = new File(resources, "junit4-4.3.1.jar"); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarFile jf = new JarFile(jarFile); 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int jarEntries = jf.size(); 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File packFile1 = Support_Resources.createTempFile("pack200_1"); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File packFile2 = Support_Resources.createTempFile("pack200_2"); 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File packFile3 = Support_Resources.createTempFile("pack200_3"); 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileOutputStream fos1 = new FileOutputStream(packFile1); 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileOutputStream fos2 = new FileOutputStream(packFile2); 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileOutputStream fos3 = new FileOutputStream(packFile3); 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Packer.EFFORT, "0"); 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Packer packer = Pack200.newPacker(); 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project packer.pack(jf, fos1); 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf.close(); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fos1.close(); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf = new JarFile(jarFile); 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Packer.EFFORT, "1"); 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project packer.pack(jf, fos2); 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf.close(); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fos2.close(); 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf = new JarFile(jarFile); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Packer.EFFORT, "9"); 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project packer.pack(jf, fos3); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf.close(); 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fos3.close(); 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile1 = Support_Resources.createTempFile("jar_1"); 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile2 = Support_Resources.createTempFile("jar_2"); 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile3 = Support_Resources.createTempFile("jar_3"); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarOutputStream jos1 = new JarOutputStream(new FileOutputStream(jarFile1)); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarOutputStream jos2 = new JarOutputStream(new FileOutputStream(jarFile2)); 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarOutputStream jos3 = new JarOutputStream(new FileOutputStream(jarFile3)); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.unpack(packFile1, jos1); 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.unpack(packFile2, jos2); 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.unpack(packFile3, jos3); 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jos1.close(); 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jos2.close(); 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jos3.close(); 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarFile1.length(), jarFile2.length()); 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarFile2.length(), jarFile3.length()); 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarEntries, new JarFile(jarFile1).size()); 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarEntries, new JarFile(jarFile2).size()); 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarEntries, new JarFile(jarFile3).size()); 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "unpack", 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.InputStream.class, java.util.jar.JarOutputStream.class} 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @KnownFailure("No Implementation in Android!") 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testUnpackFileJarOutputStream() throws IOException { 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File resources = Support_Resources.createTempFolder(); 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Use junit4.jar file for testing pack200 compressing rate. 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //file can be changed to any other. 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Support_Resources.copyFile(resources, null, "junit4-4.3.1.jar"); 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile = new File(resources, "junit4-4.3.1.jar"); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarFile jf = new JarFile(jarFile); 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int jarEntries = jf.size(); 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File packFile1 = Support_Resources.createTempFile("pack200_1"); 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File packFile2 = Support_Resources.createTempFile("pack200_2"); 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File packFile3 = Support_Resources.createTempFile("pack200_3"); 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileOutputStream fos1 = new FileOutputStream(packFile1); 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileOutputStream fos2 = new FileOutputStream(packFile2); 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileOutputStream fos3 = new FileOutputStream(packFile3); 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Packer.EFFORT, "0"); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Packer packer = Pack200.newPacker(); 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project packer.pack(jf, fos1); 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf.close(); 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fos1.close(); 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf = new JarFile(jarFile); 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Packer.EFFORT, "1"); 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project packer.pack(jf, fos2); 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf.close(); 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fos2.close(); 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf = new JarFile(jarFile); 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Packer.EFFORT, "9"); 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project packer.pack(jf, fos3); 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jf.close(); 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fos3.close(); 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile1 = Support_Resources.createTempFile("jar_1"); 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile2 = Support_Resources.createTempFile("jar_2"); 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File jarFile3 = Support_Resources.createTempFile("jar_3"); 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarOutputStream jos1 = new JarOutputStream(new FileOutputStream(jarFile1)); 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarOutputStream jos2 = new JarOutputStream(new FileOutputStream(jarFile2)); 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project JarOutputStream jos3 = new JarOutputStream(new FileOutputStream(jarFile3)); 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileInputStream fis1 = new FileInputStream(packFile1); 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileInputStream fis2 = new FileInputStream(packFile2); 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileInputStream fis3 = new FileInputStream(packFile3); 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.unpack(fis1, jos1); 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.unpack(fis2, jos2); 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.unpack(fis3, jos3); 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jos1.close(); 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jos2.close(); 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jos3.close(); 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarFile1.length(), jarFile2.length()); 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarFile2.length(), jarFile3.length()); 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarEntries, new JarFile(jarFile1).size()); 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarEntries, new JarFile(jarFile2).size()); 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(jarEntries, new JarFile(jarFile3).size()); 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 181a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project 182a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project class MyPCL implements PropertyChangeListener { 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean flag = false; 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public boolean isCalled() { 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return flag; 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void propertyChange(PropertyChangeEvent arg0) { 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project flag = true; 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 194a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project @TestTargetNew( 195a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project level = TestLevel.COMPLETE, 196a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project notes = "", 197a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project method = "addPropertyChangeListener", 198a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project args = {java.beans.PropertyChangeListener.class} 199a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project ) 200a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project @KnownFailure("No Implementation in Android!") 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testAddPropertyChangeListener() { 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MyPCL pcl = new MyPCL(); 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.addPropertyChangeListener(pcl); 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(pcl.isCalled()); 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Unpacker.PROGRESS, "0"); 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue(pcl.isCalled()); 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 209a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project @TestTargetNew( 210a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project level = TestLevel.COMPLETE, 211a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project notes = "", 212a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project method = "removePropertyChangeListener", 213a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project args = {java.beans.PropertyChangeListener.class} 214a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project ) 215a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project @KnownFailure("No Implementation in Android!") 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testRemovePropertyChangeListener() { 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MyPCL pcl = new MyPCL(); 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.addPropertyChangeListener(pcl); 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(pcl.isCalled()); 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker.removePropertyChangeListener(pcl); 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties.put(Unpacker.PROGRESS, "7"); 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(pcl.isCalled()); 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 224a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker = Pack200.newUnpacker(); 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties = unpacker.properties(); 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project unpacker = null; 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project properties = null; 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 237