aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java250
1 files changed, 250 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java
new file mode 100644
index 00000000..ad99620e
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java
@@ -0,0 +1,250 @@
+/*
+ * 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.tools.ant.taskdefs;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.FileUtilities;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+public class UnzipTest {
+
+ @Rule
+ public BuildFileRule buildRule = new BuildFileRule();
+
+ @Before
+ public void setUp() {
+ buildRule.configureProject("src/etc/testcases/taskdefs/unzip.xml");
+ }
+
+ @Test
+ public void test1() {
+ try {
+ buildRule.executeTarget("test1");
+ fail("BuildException expected: required argument not specified");
+ } catch (BuildException ex) {
+ //TODO assert value
+ }
+ }
+
+ @Test
+ public void test2() {
+ try {
+ buildRule.executeTarget("test2");
+ fail("BuildException expected: required argument not specified");
+ } catch (BuildException ex) {
+ //TODO assert value
+ }
+ }
+
+ @Test
+ public void test3() {
+ try {
+ buildRule.executeTarget("test3");
+ fail("BuildException expected: required argument not specified");
+ } catch (BuildException ex) {
+ //TODO assert value
+ }
+ }
+
+
+ @Test
+ public void testRealTest() throws java.io.IOException {
+ buildRule.executeTarget("realTest");
+ assertLogoUncorrupted();
+ }
+
+ /**
+ * test that the logo gif file has not been corrupted
+ * @throws IOException
+ */
+ private void assertLogoUncorrupted() throws IOException {
+ assertEquals(FileUtilities.getFileContents(buildRule.getProject().resolveFile("../asf-logo.gif")),
+ FileUtilities.getFileContents(new File(buildRule.getProject().getProperty("output"), "asf-logo.gif")));
+
+ }
+
+ @Test
+ public void testTestZipTask() throws java.io.IOException {
+ buildRule.executeTarget("testZipTask");
+ assertLogoUncorrupted();
+ }
+
+ @Test
+ public void testTestUncompressedZipTask() throws java.io.IOException {
+ buildRule.executeTarget("testUncompressedZipTask");
+ assertLogoUncorrupted();
+ }
+
+ /*
+ * PR 11100
+ */
+ @Test
+ public void testPatternSetExcludeOnly() {
+ buildRule.executeTarget("testPatternSetExcludeOnly");
+ assertFileMissing("1/foo is excluded", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("2/bar is not excluded", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+
+ /*
+ * PR 11100
+ */
+ @Test
+ public void testPatternSetIncludeOnly() {
+ buildRule.executeTarget("testPatternSetIncludeOnly");
+ assertFileMissing("1/foo is not included", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("2/bar is included", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+
+ /*
+ * PR 11100
+ */
+ @Test
+ public void testPatternSetIncludeAndExclude() {
+ buildRule.executeTarget("testPatternSetIncludeAndExclude");
+ assertFileMissing("1/foo is not included", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileMissing("2/bar is excluded", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+
+ /*
+ * PR 38973
+ */
+ @Test
+ public void testTwoPatternSets() {
+ buildRule.executeTarget("testTwoPatternSets");
+ assertFileMissing("1/foo is not included", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("2/bar is included", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+
+ /*
+ * PR 38973
+ */
+ @Test
+ public void testTwoPatternSetsWithExcludes() {
+ buildRule.executeTarget("testTwoPatternSetsWithExcludes");
+ assertFileMissing("1/foo is not included", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileMissing("2/bar is excluded", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+
+ /*
+ * PR 16213
+ */
+ @Test
+ @Ignore("we lack a self extracting archive that we are allowed to distribute - see PR 49080")
+ public void testSelfExtractingArchive() {
+ // disabled because we lack a self extracting archive that we
+ // are allowed to distribute - see PR 49080
+ buildRule.executeTarget("selfExtractingArchive");
+ }
+
+
+ /*
+ * PR 20969
+ */
+ @Test
+ public void testPatternSetSlashOnly() {
+ buildRule.executeTarget("testPatternSetSlashOnly");
+ assertFileMissing("1/foo is not included", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("\"2/bar is included", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+
+
+ /*
+ * PR 10504
+ */
+ @Test
+ public void testEncoding() {
+ buildRule.executeTarget("encodingTest");
+ assertFileExists("foo has been properly named", buildRule.getProject().getProperty("output") + "/unziptestout/foo");
+ }
+
+ /*
+ * PR 21996
+ */
+ @Test
+ public void testFlattenMapper() {
+ buildRule.executeTarget("testFlattenMapper");
+ assertFileMissing("1/foo is not flattened", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("foo is flattened", buildRule.getProject().getProperty("output") + "/unziptestout/foo");
+ }
+
+ /**
+ * assert that a file exists, relative to the project
+ * @param message message if there is no mpatch
+ * @param filename filename to resolve against the project
+ */
+ private void assertFileExists(String message, String filename) {
+ assertTrue(message,
+ buildRule.getProject().resolveFile(filename).exists());
+ }
+
+ /**
+ * assert that a file doesnt exist, relative to the project
+ *
+ * @param message message if there is no mpatch
+ * @param filename filename to resolve against the project
+ */
+ private void assertFileMissing(String message, String filename) {
+ assertTrue(message,
+ !buildRule.getProject().resolveFile(filename).exists());
+ }
+
+ /**
+ * PR 21996
+ */
+ @Test
+ public void testGlobMapper() {
+ buildRule.executeTarget("testGlobMapper");
+ assertFileMissing("1/foo is not mapped", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("1/foo is mapped", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo.txt");
+ }
+
+ @Test
+ public void testTwoMappers() {
+ try {
+ buildRule.executeTarget("testTwoMappers");
+ fail("BuildException expected: " + Expand.ERROR_MULTIPLE_MAPPERS);
+ } catch (BuildException ex) {
+ //TODO assert value
+ }
+ }
+
+ @Test
+ public void testResourceCollections() {
+ buildRule.executeTarget("testResourceCollection");
+ assertFileExists("junit.jar has been extracted",
+ buildRule.getProject().getProperty("output") + "/unziptestout/junit/framework/Assert.class");
+ }
+
+ @Test
+ public void testDocumentationClaimsOnCopy() {
+ buildRule.executeTarget("testDocumentationClaimsOnCopy");
+ assertFileMissing("1/foo is excluded", buildRule.getProject().getProperty("output") + "/unziptestout/1/foo");
+ assertFileExists("2/bar is not excluded", buildRule.getProject().getProperty("output") + "/unziptestout/2/bar");
+ }
+}