⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 echopropertiestest.java

📁 ant源代码
💻 JAVA
字号:
/* *  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.optional;import org.apache.tools.ant.BuildFileTest;import org.apache.tools.ant.util.regexp.RegexpMatcherFactory;import java.io.IOException;import java.io.File;import java.io.InputStream;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileReader;import java.io.BufferedReader;import java.util.Properties;/** * Tests the EchoProperties task. * * @created   17-Jan-2002 * @since     Ant 1.5 */public class EchoPropertiesTest extends BuildFileTest {    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/";    private static final String GOOD_OUTFILE = "test.properties";    private static final String GOOD_OUTFILE_XML = "test.xml";    private static final String PREFIX_OUTFILE = "test-prefix.properties";    private static final String TEST_VALUE = "isSet";    private static final String BAD_OUTFILE = ".";    public EchoPropertiesTest(String name) {        super(name);    }    public void setUp() {        configureProject(TASKDEFS_DIR + "echoproperties.xml");        project.setProperty( "test.property", TEST_VALUE );    }    public void tearDown() {        executeTarget("cleanup");    }    public void testEchoToLog() {        expectLogContaining("testEchoToLog", "test.property="+TEST_VALUE);    }    public void testEchoWithEmptyPrefixToLog() {        expectLogContaining("testEchoWithEmptyPrefixToLog", "test.property="+TEST_VALUE);    }    public void testReadBadFile() {        expectBuildExceptionContaining( "testReadBadFile",            "srcfile is a directory", "srcfile is a directory!" );    }    public void testReadBadFileFail() {        expectBuildExceptionContaining( "testReadBadFile",            "srcfile is a directory", "srcfile is a directory!" );    }    public void testReadBadFileNoFail() {        expectLog( "testReadBadFileNoFail", "srcfile is a directory!" );    }    public void testEchoToBadFile() {        expectBuildExceptionContaining( "testEchoToBadFile",            "destfile is a directory", "destfile is a directory!" );    }    public void testEchoToBadFileFail() {        expectBuildExceptionContaining( "testEchoToBadFileFail",            "destfile is a directory", "destfile is a directory!" );    }    public void testEchoToBadFileNoFail() {        expectLog( "testEchoToBadFileNoFail", "destfile is a directory!");    }    public void testEchoToGoodFile() throws Exception {        executeTarget( "testEchoToGoodFile" );        assertGoodFile();    }    public void testEchoToGoodFileXml() throws Exception {        executeTarget( "testEchoToGoodFileXml" );        // read in the file        File f = createRelativeFile( GOOD_OUTFILE_XML );        FileReader fr = new FileReader( f );        try {            BufferedReader br = new BufferedReader( fr );            String read = null;            while ( (read = br.readLine()) != null) {                if (read.indexOf("<property name=\"test.property\" value=\""+TEST_VALUE+"\" />") >= 0) {                    // found the property we set - it's good.                    return;                }            }            fail( "did not encounter set property in generated file." );        } finally {            try {                fr.close();            } catch(IOException e) {}        }    }    public void testEchoToGoodFileFail() throws Exception {        executeTarget( "testEchoToGoodFileFail" );        assertGoodFile();    }    public void testEchoToGoodFileNoFail() throws Exception {        executeTarget( "testEchoToGoodFileNoFail" );        assertGoodFile();    }    public void testEchoPrefix() throws Exception {        testEchoPrefixVarious("testEchoPrefix");    }    public void testEchoPrefixAsPropertyset() throws Exception {        testEchoPrefixVarious("testEchoPrefixAsPropertyset");    }    public void testEchoPrefixAsNegatedPropertyset() throws Exception {        testEchoPrefixVarious("testEchoPrefixAsNegatedPropertyset");    }    public void testEchoPrefixAsDoublyNegatedPropertyset() throws Exception {        testEchoPrefixVarious("testEchoPrefixAsDoublyNegatedPropertyset");    }    public void testWithPrefixAndRegex() throws Exception {        expectSpecificBuildException("testWithPrefixAndRegex",                "The target must fail with prefix and regex attributes set",                "Please specify either prefix or regex, but not both");    }    public void testWithEmptyPrefixAndRegex() throws Exception {        expectLogContaining("testEchoWithEmptyPrefixToLog", "test.property="+TEST_VALUE);    }    public void testWithRegex() throws Exception {        if (!RegexpMatcherFactory.regexpMatcherPresent(project)) {            System.out.println("Test 'testWithRegex' skipped because no regexp matcher is present.");            return;        }        executeTarget("testWithRegex");        assertDebuglogContaining("ant.home=");    }    private void testEchoPrefixVarious(String target) throws Exception {        executeTarget(target);        Properties props = loadPropFile(PREFIX_OUTFILE);        assertEquals("prefix didn't include 'a.set' property",            "true", props.getProperty("a.set"));        assertNull("prefix failed to filter out property 'b.set'",            props.getProperty("b.set"));    }    protected Properties loadPropFile(String relativeFilename)            throws IOException {        File f = createRelativeFile( relativeFilename );        Properties props=new Properties();        InputStream in=null;        try  {            in=new BufferedInputStream(new FileInputStream(f));            props.load(in);        } finally {            if(in!=null) {                try { in.close(); } catch(IOException e) {}            }        }        return props;    }    protected void assertGoodFile() throws Exception {        File f = createRelativeFile( GOOD_OUTFILE );        assertTrue(            "Did not create "+f.getAbsolutePath(),            f.exists() );        Properties props=loadPropFile(GOOD_OUTFILE);        props.list(System.out);        assertEquals("test property not found ",                     TEST_VALUE, props.getProperty("test.property"));/*        // read in the file        FileReader fr = new FileReader( f );        try {            BufferedReader br = new BufferedReader( fr );            String read = null;            while ( (read = br.readLine()) != null)            {                if (read.indexOf("test.property" + TEST_VALUE) >= 0)                {                    // found the property we set - it's good.                    return;                }            }            fail( "did not encounter set property in generated file." );        } finally {            try { fr.close(); } catch(IOException e) {}        }*/    }    protected String toAbsolute( String filename ) {        return createRelativeFile( filename ).getAbsolutePath();    }    protected File createRelativeFile( String filename ) {        if (filename.equals( "." )) {            return getProjectDir();        }        // else        return new File( getProjectDir(), filename );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -