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

📄 touchtest.java

📁 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;import org.apache.tools.ant.BuildFileTest;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.util.FileUtils;import java.io.File;public class TouchTest extends BuildFileTest {    private static String TOUCH_FILE = "src/etc/testcases/taskdefs/touchtest";    /** Utilities used for file operations */    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();    public TouchTest(String name) {        super(name);    }    public void setUp() {        configureProject("src/etc/testcases/taskdefs/touch.xml");    }    public void tearDown() {        executeTarget("cleanup");    }    public long getTargetTime() {        File file = new File(System.getProperty("root"), TOUCH_FILE);        if(!file.exists()) {            throw new BuildException("failed to touch file " + file);        }        return file.lastModified();    }    /**     * No real test, simply checks whether the dateformat without     * seconds is accepted - by erroring out otherwise.     */    public void testNoSeconds() {        executeTarget("noSeconds");        long time = getTargetTime();    }    /**     * No real test, simply checks whether the dateformat with     * seconds is accepted - by erroring out otherwise.     */    public void testSeconds() {        executeTarget("seconds");        long time=getTargetTime();    }    /**     * verify that the millis test sets things up     */    public void testMillis() {        touchFile("testMillis", 662256000000L);    }    /**     * verify that the default value defaults to now     */    public void testNow() {        long now=System.currentTimeMillis();        executeTarget("testNow");        long time = getTargetTime();        assertTimesNearlyMatch(time,now,5000);    }    /**     * verify that the millis test sets things up     */    public void test2000() {        touchFile("test2000", 946080000000L);    }    /**     * test the file list     */    public void testFilelist() {        touchFile("testFilelist", 662256000000L);    }    /**     * test the file set     */    public void testFileset() {        touchFile("testFileset", 946080000000L);    }    /**     * test the resource collection     */    public void testResourceCollection() {        touchFile("testResourceCollection", 1662256000000L);    }    /**     * test the mapped file set     */    public void testMappedFileset() {        executeTarget("testMappedFileset");    }    /**     * test the explicit mapped file set     */    public void testExplicitMappedFileset() {        executeTarget("testExplicitMappedFileset");    }    /**     * test the mapped file list     */    public void testMappedFilelist() {        executeTarget("testMappedFilelist");    }    /**     * test the pattern attribute     */    public void testGoodPattern() {        executeTarget("testGoodPattern");    }    /**     * test the pattern attribute again     */    public void testBadPattern() {        expectBuildExceptionContaining("testBadPattern",            "No parsing exception thrown", "Unparseable");    }    /**     * run a target to touch the test file; verify the timestamp is as expected     * @param targetName     * @param timestamp     */    private void touchFile(String targetName, long timestamp) {        executeTarget(targetName);        long time = getTargetTime();        assertTimesNearlyMatch(timestamp, time);    }    /**     * assert that two times are within the current FS granularity;     * @param timestamp     * @param time     */    public void assertTimesNearlyMatch(long timestamp,long time) {        long granularity= FILE_UTILS.getFileTimestampGranularity();        assertTimesNearlyMatch(timestamp, time, granularity);    }    /**     * assert that two times are within a specified range     * @param timestamp     * @param time     * @param range     */    private void assertTimesNearlyMatch(long timestamp, long time, long range) {        assertTrue("Time " + timestamp + " is not within " + range + " ms of "            + time, (Math.abs(time - timestamp) <= range));    }}

⌨️ 快捷键说明

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