亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? taskdefstest.java

?? 采用 Java 編寫的數據庫系統單元測試程序。
?? JAVA
字號:
/*
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 2000 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution, if
 *    any, must include the following acknowlegement:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org /)."
 *    Alternately, this acknowlegement may appear in the software itself,
 *    if and wherever such third-party acknowlegements normally appear.
 *
 * 4. The names "The Jakarta Project", "Ant", and "Apache Software
 *    Foundation" must not be used to endorse or promote products derived
 *    from this software without prior written permission. For written
 *    permission, please contact apache@apache.org.
 *
 * 5. Products derived from this software may not be called "Apache"
 *    nor may "Apache" appear in their names without prior written
 *    permission of the Apache Group.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org />.
 */

package org.apache.tools.ant.taskdefs;

import junit.framework.TestCase;
import org.apache.tools.ant.*;

import java.io.File;
import java.io.PrintStream;

/**
 * @author Nico Seessle <nico@seessle.de>
 */
public abstract class TaskdefsTest extends TestCase
{

    protected Project project;

    private StringBuffer logBuffer;
    private StringBuffer fullLogBuffer;
    private StringBuffer outBuffer;
    private StringBuffer errBuffer;
    private BuildException buildException;

    public TaskdefsTest(String name)
    {
        super(name);
    }

    protected String getLog()
    {
        return logBuffer.toString();
    }

    protected String getFullLog()
    {
        return fullLogBuffer.toString();
    }


    protected void expectBuildException(String taskname, String cause)
    {
        expectSpecificBuildException(taskname, cause, null);
    }

    protected void expectOutput(String taskname, String output)
    {
        executeTarget(taskname);
        String realOutput = getOutput();
        assertEquals(output, realOutput);
    }

    protected void expectOutputAndError(String taskname, String output, String error)
    {
        executeTarget(taskname);
        String realOutput = getOutput();
        assertEquals(output, realOutput);
        String realError = getError();
        assertEquals(error, realError);
    }

    protected void expectLog(String taskname, String log)
    {
        executeTarget(taskname);
        String realLog = getLog();
        assertEquals(log, realLog);
    }


    protected String getOutput()
    {
        return cleanBuffer(outBuffer);
    }

    protected String getError()
    {
        return cleanBuffer(errBuffer);
    }

    private String cleanBuffer(StringBuffer buffer)
    {
        StringBuffer cleanedBuffer = new StringBuffer();
        boolean cr = false;
        for (int i = 0; i < buffer.length(); i++)
        {
            char ch = buffer.charAt(i);
            if (ch == '\r')
            {
                cr = true;
                continue;
            }

            if (!cr)
            {
                cleanedBuffer.append(ch);
            }
            else
            {
                if (ch == '\n')
                {
                    cleanedBuffer.append(ch);
                }
                else
                {
                    cleanedBuffer.append('\r').append(ch);
                }
            }
        }
        return cleanedBuffer.toString();
    }

    protected void configureProject(String filename)
    {
        logBuffer = new StringBuffer();
        fullLogBuffer = new StringBuffer();
        project = new Project();
        project.init();
        project.setUserProperty("ant.file", new File(filename).getAbsolutePath());
        project.addBuildListener(new AntTestListener());
        ProjectHelper.configureProject(project, new File(filename));
    }

    protected void executeTarget(String targetName)
    {
        PrintStream sysOut = System.out;
        PrintStream sysErr = System.err;
        try
        {
            sysOut.flush();
            sysErr.flush();
            outBuffer = new StringBuffer();
            PrintStream out = new PrintStream(new AntOutputStream());
            System.setOut(out);
            errBuffer = new StringBuffer();
            PrintStream err = new PrintStream(new AntOutputStream());
            System.setErr(err);
            logBuffer = new StringBuffer();
            fullLogBuffer = new StringBuffer();
            buildException = null;
            project.executeTarget(targetName);
        }
        finally
        {
            System.setOut(sysOut);
            System.setErr(sysErr);
        }

    }

    protected File getProjectDir()
    {
        return project.getBaseDir();
    }

    protected void expectSpecificBuildException(String taskname, String cause, String msg)
    {
        try
        {
            executeTarget(taskname);
            fail("Should throw BuildException because: " + cause);
        }
        catch (org.apache.tools.ant.BuildException ex)
        {
            if ((null != msg) && (ex.getMessage() != msg))
            {
                fail("Should throw BuildException because '" + cause + "' with message '" + msg + "' (received message '" + ex.getMessage() + "' instead)");
            }
            return;
        }
    }

    private class AntOutputStream extends java.io.OutputStream
    {
        public void write(int b)
        {
            outBuffer.append((char)b);
        }
    }

    private class AntTestListener implements BuildListener
    {
        /**
         *  Fired before any targets are started.
         */
        public void buildStarted(BuildEvent event)
        {
        }

        /**
         *  Fired after the last target has finished. This event
         *  will still be thrown if an error occured during the build.
         *
         *  @see BuildEvent#getException()
         */
        public void buildFinished(BuildEvent event)
        {
        }

        /**
         *  Fired when a target is started.
         *
         *  @see BuildEvent#getTarget()
         */
        public void targetStarted(BuildEvent event)
        {
            //System.out.println("targetStarted " + event.getTarget().getName());
        }

        /**
         *  Fired when a target has finished. This event will
         *  still be thrown if an error occured during the build.
         *
         *  @see BuildEvent#getException()
         */
        public void targetFinished(BuildEvent event)
        {
            //System.out.println("targetFinished " + event.getTarget().getName());
        }

        /**
         *  Fired when a task is started.
         *
         *  @see BuildEvent#getTask()
         */
        public void taskStarted(BuildEvent event)
        {
            //System.out.println("taskStarted " + event.getTask().getTaskName());
        }

        /**
         *  Fired when a task has finished. This event will still
         *  be throw if an error occured during the build.
         *
         *  @see BuildEvent#getException()
         */
        public void taskFinished(BuildEvent event)
        {
            //System.out.println("taskFinished " + event.getTask().getTaskName());
        }

        /**
         *  Fired whenever a message is logged.
         *
         *  @see BuildEvent#getMessage()
         *  @see BuildEvent#getPriority()
         */
        public void messageLogged(BuildEvent event)
        {
            if (event.getPriority() == Project.MSG_INFO ||
                    event.getPriority() == Project.MSG_WARN ||
                    event.getPriority() == Project.MSG_ERR)
            {
                logBuffer.append(event.getMessage());
            }
            fullLogBuffer.append(event.getMessage());

        }
    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产亚洲另类动漫| 国产午夜精品美女毛片视频| 久久福利资源站| 国产精品另类一区| 欧美一级一区二区| 91丨九色丨尤物| 成人性生交大片免费看中文 | 97精品视频在线观看自产线路二| 免费观看久久久4p| 麻豆一区二区三| 欧美草草影院在线视频| 中文字幕在线一区| 日本一区二区三级电影在线观看 | 中文字幕在线不卡| 国产日韩成人精品| 18成人在线观看| 亚洲欧美另类小说视频| 国产精品久久毛片| 亚洲免费av网站| 亚洲综合男人的天堂| 国产精品成人免费| 亚洲欧美自拍偷拍色图| 亚洲最新在线观看| 亚洲超碰97人人做人人爱| 婷婷夜色潮精品综合在线| 亚洲三级免费观看| 国产成人亚洲综合a∨婷婷| 在线亚洲一区观看| 精品国产欧美一区二区| 蜜芽一区二区三区| 亚洲精品日产精品乱码不卡| 成人高清视频在线| 欧美一区二区黄色| 中文字幕一区二区三区精华液| 国产a视频精品免费观看| 在线观看亚洲一区| 九色综合国产一区二区三区| 国产在线看一区| 国产成人精品综合在线观看| 在线视频一区二区三区| 日韩精品在线一区| 亚洲三级在线免费观看| 久久99在线观看| 国产成人日日夜夜| 欧美精品丝袜久久久中文字幕| 亚洲国产激情av| 日韩综合一区二区| 99国产一区二区三精品乱码| 精品久久人人做人人爰| 亚洲综合免费观看高清完整版 | 国产成人综合网站| 欧美日本在线观看| 亚洲欧美自拍偷拍| 九一久久久久久| 色综合久久久久| 日韩精品一区在线观看| 亚洲福利视频一区二区| 成人听书哪个软件好| 欧美一区二区三区人| 亚洲综合视频在线观看| 国产不卡视频在线播放| 日韩精品一区二区三区四区| 亚洲最大的成人av| 日本伦理一区二区| 国产精品国产三级国产aⅴ原创| 久久av老司机精品网站导航| 在线播放日韩导航| 亚洲一区中文在线| 激情综合色丁香一区二区| 欧美自拍偷拍午夜视频| 亚洲免费av观看| 色综合色狠狠综合色| 中文字幕一区二区在线观看| 国产综合色产在线精品| 欧美一二三四区在线| 亚洲小说欧美激情另类| 在线一区二区三区四区| 亚洲综合一二区| 欧美影视一区在线| 午夜久久久久久久久| 欧洲av在线精品| 亚洲三级电影全部在线观看高清| 97精品视频在线观看自产线路二| 国产精品婷婷午夜在线观看| 成人午夜视频网站| 亚洲色图制服诱惑| 在线精品视频一区二区三四| 亚洲欧美欧美一区二区三区| 色吊一区二区三区| 亚洲高清三级视频| 日韩一区二区三区电影| 国产曰批免费观看久久久| 欧美精品一区视频| 国产成人一区在线| 亚洲欧美日韩中文字幕一区二区三区 | 欧美精选在线播放| 麻豆精品一区二区综合av| 精品欧美一区二区三区精品久久| 精品午夜一区二区三区在线观看| 精品卡一卡二卡三卡四在线| 处破女av一区二区| 中文字幕亚洲区| 欧美日本一区二区在线观看| 日本欧美在线看| 久久综合九色综合久久久精品综合| 国产黄人亚洲片| 亚洲一区视频在线| 51午夜精品国产| 国内精品不卡在线| 一区二区三区日韩欧美精品| 欧美性大战久久久久久久蜜臀| 午夜一区二区三区视频| 国产午夜精品美女毛片视频| 色婷婷av一区二区三区大白胸| 天堂成人免费av电影一区| 国产色产综合产在线视频| 色综合久久综合中文综合网| 日本视频中文字幕一区二区三区| 国产精品日韩成人| 欧美一区二区三区免费| 不卡的av网站| 精品在线观看免费| 亚洲一区二区三区在线看| 精品捆绑美女sm三区| 欧美性猛交xxxx乱大交退制版| 国内一区二区在线| 天天做天天摸天天爽国产一区 | 不卡视频在线观看| 美腿丝袜亚洲三区| 亚洲综合图片区| 久久久91精品国产一区二区三区| 精品视频在线免费| 色先锋久久av资源部| 国产成人高清在线| 国产揄拍国内精品对白| 天堂久久一区二区三区| 亚洲婷婷综合色高清在线| 欧美高清在线一区| 欧美巨大另类极品videosbest | 中文字幕五月欧美| 欧美一级日韩免费不卡| 成人精品gif动图一区| 麻豆精品国产传媒mv男同| 亚洲电影第三页| 亚洲三级小视频| 亚洲欧美国产高清| 中文字幕一区二区三区精华液 | thepron国产精品| 久久成人麻豆午夜电影| 丝袜美腿成人在线| 日韩影院精彩在线| 日韩国产欧美一区二区三区| 亚洲综合男人的天堂| 亚洲综合视频在线观看| 亚洲大片在线观看| 日韩精品乱码免费| 麻豆成人91精品二区三区| 极品少妇xxxx偷拍精品少妇| 久久国产乱子精品免费女| 麻豆国产精品一区二区三区| 日本亚洲电影天堂| 精品综合免费视频观看| 国产精品亚洲人在线观看| 国产精品18久久久久久久网站| 国产精品一区二区你懂的| 狠狠色丁香婷婷综合| 国产成人免费9x9x人网站视频| 成人高清视频在线| 欧美日韩久久久久久| 日韩视频在线永久播放| av不卡在线播放| 欧美日韩国产美| 国产日产精品一区| 一区二区三区日本| 蜜桃av噜噜一区| youjizz久久| 欧美日韩国产另类一区| 国产亚洲欧美日韩在线一区| 亚洲婷婷综合久久一本伊一区 | 国产日韩v精品一区二区| 中文字幕一区在线| 日本中文字幕不卡| 成人综合婷婷国产精品久久免费| 色综合色综合色综合色综合色综合| 欧美三级中文字幕| 久久久激情视频| 亚洲曰韩产成在线| 国产毛片精品一区| 欧美最猛性xxxxx直播| 欧美日韩极品在线观看一区| 欧美日韩成人一区| 精品国产一区二区三区久久影院| 欧美草草影院在线视频| www.日本不卡| 欧美午夜电影一区| 欧美日本国产视频| 亚洲一区免费视频| 青青草97国产精品免费观看| 国产一区二区在线观看视频| 一区二区高清免费观看影视大全 |