diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/types/selectors/BaseSelectorTest.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/types/selectors/BaseSelectorTest.java | 295 |
1 files changed, 0 insertions, 295 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/types/selectors/BaseSelectorTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/types/selectors/BaseSelectorTest.java deleted file mode 100644 index 2332778e..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/types/selectors/BaseSelectorTest.java +++ /dev/null @@ -1,295 +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.tools.ant.types.selectors; - -import java.io.File; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileTest; -import org.apache.tools.ant.Project; - -/** - * Base test case for Selectors. Provides a shared test as well as - * a test bed for selecting on, and a helper method for determining - * whether selections are correct. - * - * @deprecated as of 1.9.4. Use {@link org.apache.tools.ant.types.selectors.BaseSelectorRule} instead. - */ -@Deprecated -public abstract class BaseSelectorTest extends BuildFileTest { - - private Project project; - private TaskdefForMakingBed tbed = null; - protected File basedir; - protected File beddir; - protected File mirrordir; - protected String[] filenames = {".","asf-logo.gif.md5","asf-logo.gif.bz2", - "asf-logo.gif.gz","copy.filterset.filtered","zip/asf-logo.gif.zip", - "tar/asf-logo.gif.tar","tar/asf-logo-huge.tar.gz", - "tar/gz/asf-logo.gif.tar.gz","tar/bz2/asf-logo.gif.tar.bz2", - "tar/bz2/asf-logo-huge.tar.bz2","tar/bz2"}; - protected File[] files = new File[filenames.length]; - protected File[] mirrorfiles = new File[filenames.length]; - - public BaseSelectorTest(String name) { - super(name); - } - - public void setUp() { - configureProject("src/etc/testcases/types/selectors.xml"); - executeTarget("setUp"); - beddir = new File(super.getProject().getProperty("test.dir")); - mirrordir = new File(super.getProject().getProperty("mirror.dir")); - basedir = getProjectDir(); - project = new Project(); - project.init(); - project.setBaseDir(basedir); - for (int x = 0; x < files.length; x++) { - files[x] = new File(beddir,filenames[x]); - mirrorfiles[x] = new File(mirrordir,filenames[x]); - } - } - - /** - * Override this in child classes to return a specific Selector - */ - public abstract BaseSelector getInstance(); - - - /** - * Return a preconfigured selector (with a set reference to - * project instance). - * @return the selector - */ - public BaseSelector getSelector() { - BaseSelector selector = getInstance(); - selector.setProject( getProject() ); - return selector; - } - - - public Project getProject() { - return project; - } - - /** - * This is a test that all Selectors derived from BaseSelector can - * use. It calls the setError() method and checks to ensure that a - * BuildException is thrown as a result. - */ - public void testRespondsToError() { - BaseSelector s = getInstance(); - if (s == null) { - return; - } - s.setError("test error"); - try { - s.isSelected(beddir,filenames[0],files[0]); - fail("Cannot cause BuildException when setError() is called"); - } catch (BuildException be) { - assertEquals("test error", - be.getMessage()); - } - } - - - /** - * This is a helper method that takes a selector and calls its - * isSelected() method on each file in the testbed. It returns - * a string of "T"s amd "F"s - */ - public String selectionString(FileSelector selector) { - return selectionString(beddir,files,selector); - } - - /** - * This is a helper method that takes a selector and calls its - * isSelected() method on each file in the mirror testbed. This - * variation is used for dependency checks and to get around the - * limitations in the touch task when running JDK 1.1. It returns - * a string of "T"s amd "F"s. - */ - public String mirrorSelectionString(FileSelector selector) { - return selectionString(mirrordir,mirrorfiles,selector); - } - - /** - * Worker method for the two convenience methods above. Applies a - * selector on a set of files passed in and returns a string of - * "T"s amd "F"s from applying the selector to each file. - */ - public String selectionString(File basedir, File[] files, FileSelector selector) { - StringBuffer buf = new StringBuffer(); - for (int x = 0; x < files.length; x++) { - if (selector.isSelected(basedir,filenames[x],files[x])) { - buf.append('T'); - } - else { - buf.append('F'); - } - } - return buf.toString(); - } - - /** - * Does the selection test for a given selector and prints the - * filenames of the differing files (selected but shouldn't, - * not selected but should). - * @param selector The selector to test - * @param expected The expected result - */ - public void performTests(FileSelector selector, String expected) { - String result = selectionString(selector); - String diff = diff(expected, result); - String resolved = resolve(diff); - assertEquals("Differing files: " + resolved, result, expected); - } - - /** - * Checks which files are selected and shouldn't be or which - * are not selected but should. - * @param expected String containing 'F's and 'T's - * @param result String containing 'F's and 'T's - * @return Difference as String containing '-' (equal) and - * 'X' (difference). - */ - public String diff(String expected, String result) { - int length1 = expected.length(); - int length2 = result.length(); - int min = (length1 > length2) ? length2 : length1; - StringBuffer sb = new StringBuffer(); - for (int i=0; i<min; i++) { - sb.append( - (expected.charAt(i) == result.charAt(i)) - ? "-" - : "X" - ); - } - return sb.toString(); - } - - - /** - * Resolves a diff-String (@see diff()) against the (inherited) filenames- - * and files arrays. - * @param filelist Diff-String - * @return String containing the filenames for all differing files, - * separated with semicolons ';' - */ - public String resolve(String filelist) { - StringBuffer sb = new StringBuffer(); - int min = (filenames.length > filelist.length()) - ? filelist.length() - : filenames.length; - for (int i=0; i<min; i++) { - if ('X'==filelist.charAt(i)) { - sb.append(filenames[i]); - sb.append(";"); - } - } - return sb.toString(); - } - - - /** - * <p>Creates a testbed. We avoid the dreaded "test" word so that we - * don't falsely identify this as a test to be run. The actual - * setting up of the testbed is done in the - * <code>src/etc/testcases/types/selectors.xml</code> build file.</p> - * - * <p>Note that the right way to call this is within a try block, - * with a finally clause that calls cleanupBed(). You place tests of - * the isSelected() method within the try block.</p> - */ - protected void makeBed() { - tbed = new TaskdefForMakingBed("setupfiles"); - tbed.setUp(); - tbed.makeTestbed(); - } - - /** - * Cleans up the testbed by calling a target in the - * <code>src/etc/testcases/types/selectors.xml</code> file. - */ - protected void cleanupBed() { - if (tbed != null) { - tbed.tearDown(); - tbed = null; - } - } - - - /** - * <p>Creates a mirror of the testbed for use in dependency checks.</p> - * - * <p>Note that the right way to call this is within a try block, - * with a finally clause that calls cleanupMirror(). You place tests of - * the isSelected() method within the try block.</p> - */ - protected void makeMirror() { - tbed = new TaskdefForMakingBed("mirrorfiles"); - tbed.setUp(); - tbed.makeMirror(); - } - - /** - * Cleans up the mirror testbed by calling a target in the - * <code>src/etc/testcases/types/selectors.xml</code> file. - */ - protected void cleanupMirror() { - if (tbed != null) { - tbed.deleteMirror(); - tbed = null; - } - } - - private class TaskdefForMakingBed extends BuildFileTest { - - TaskdefForMakingBed(String name) { - super(name); - } - - public void setUp() { - configureProject("src/etc/testcases/types/selectors.xml"); - } - - public void tearDown() { - try { - super.tearDown(); - } catch (Exception exc) { - // ignore - } - } - - public void makeTestbed() { - executeTarget("setupfiles"); - } - - public void makeMirror() { - executeTarget("mirrorfiles"); - } - - public void deleteMirror() { - executeTarget("tearDown"); - } - } - - - -} |