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

📄 resourcetest.java

📁 jetty SERVER連接資料庫用的軟體
💻 JAVA
字号:
// ========================================================================// Copyright 1997-2005 Mort Bay Consulting Pty. Ltd.// ------------------------------------------------------------------------// Licensed 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.mortbay.resource;import java.io.File;import java.io.FilePermission;import java.io.InputStream;import java.net.URL;import java.util.jar.JarInputStream;import junit.framework.TestSuite;import org.mortbay.util.IO;public class ResourceTest extends junit.framework.TestCase{    public static String __userDir = System.getProperty("user.dir",".");    public static URL __userURL=null;    private static String __relDir="";    private static File tmpFile;    private static final boolean DIR=true;    private static final boolean EXISTS=true;        class Data    {        Resource resource;        String test;        boolean exists;        boolean dir;        String content;                Data(Data data,String path,boolean exists, boolean dir)            throws Exception        {            this.test=data.resource+"+"+path;            resource=data.resource.addPath(path);            this.exists=exists;            this.dir=dir;        }                Data(Data data,String path,boolean exists, boolean dir, String content)            throws Exception        {            this.test=data.resource+"+"+path;            resource=data.resource.addPath(path);            this.exists=exists;            this.dir=dir;            this.content=content;        }                Data(URL url,boolean exists, boolean dir)            throws Exception        {            this.test=url.toString();            this.exists=exists;            this.dir=dir;            resource=Resource.newResource(url);        }                Data(String url,boolean exists, boolean dir)            throws Exception        {            this.test=url;            this.exists=exists;            this.dir=dir;            resource=Resource.newResource(url);        }                Data(String url,boolean exists, boolean dir, String content)            throws Exception        {            this.test=url;            this.exists=exists;            this.dir=dir;            this.content=content;            resource=Resource.newResource(url);        }    }    public static Data[] data;        public ResourceTest(String name)    {        super(name);    }    /* ------------------------------------------------------------ */    public static void main(String[] args)    {        junit.textui.TestRunner.run(suite());    }        /* ------------------------------------------------------------ */    public static junit.framework.Test suite()    {        return new TestSuite(ResourceTest.class);    }    /* ------------------------------------------------------------ */    protected void setUp()        throws Exception    {        if (data!=null)            return;                File file = new File(__userDir);        file=new File(file.getCanonicalPath());        __userURL=file.toURL();        if (__userURL.toString().endsWith("/modules/jetty/") ||            __userURL.toString().endsWith("/modules/jetty"))        {            __userURL=new URL(__userURL.toString()+                              "src/test/java/org/mortbay/resource/");            FilePermission perm = (FilePermission)                __userURL.openConnection().getPermission();            __userDir=new File(perm.getName()).getCanonicalPath()+File.separatorChar;            __relDir="src/test/java/org/mortbay/resource/"                .replace('/',File.separatorChar);        }        else        {            __userURL=new URL(__userURL.toString()+                              "modules/jetty/src/test/java/org/mortbay/resource/");            FilePermission perm = (FilePermission)                __userURL.openConnection().getPermission();            __userDir=new File(perm.getName()).getCanonicalPath()+File.separatorChar;            __relDir="modules/jetty/src/test/java/org/mortbay/resource/"                .replace('/',File.separatorChar);        }                System.err.println("User Dir="+__userDir);        System.err.println("Rel  Dir="+__relDir);        System.err.println("User URL="+__userURL);        tmpFile=File.createTempFile("test",null).getCanonicalFile();        tmpFile.deleteOnExit();                data = new Data[50];        int i=0;        data[i++]=new Data(tmpFile.toString(),EXISTS,!DIR);                int rt=i;        data[i++]=new Data(__userURL,EXISTS,DIR);        data[i++]=new Data(__userDir,EXISTS,DIR);        data[i++]=new Data(__relDir,EXISTS,DIR);        data[i++]=new Data(__userURL+"ResourceTest.java",EXISTS,!DIR);        data[i++]=new Data(__userDir+"ResourceTest.java",EXISTS,!DIR);        data[i++]=new Data(__relDir+"ResourceTest.java",EXISTS,!DIR);        data[i++]=new Data(__userURL+"NoName.txt",!EXISTS,!DIR);        data[i++]=new Data(__userDir+"NoName.txt",!EXISTS,!DIR);        data[i++]=new Data(__relDir+"NoName.txt",!EXISTS,!DIR);        data[i++]=new Data(data[rt],"ResourceTest.java",EXISTS,!DIR);        data[i++]=new Data(data[rt],"/ResourceTest.java",EXISTS,!DIR);        data[i++]=new Data(data[rt],"NoName.txt",!EXISTS,!DIR);        data[i++]=new Data(data[rt],"/NoName.txt",!EXISTS,!DIR);                int td=i;        data[i++]=new Data(data[rt],"TestData",EXISTS,DIR);        data[i++]=new Data(data[rt],"TestData/",EXISTS,DIR);        data[i++]=new Data(data[td],"alphabet.txt",EXISTS,!DIR,"ABCDEFGHIJKLMNOPQRSTUVWXYZ");                data[i++]=new Data("jar:file:/somejar.jar!/content/",!EXISTS,DIR);        data[i++]=new Data("jar:file:/somejar.jar!/",!EXISTS,DIR);        int tj=i;        data[i++]=new Data("jar:"+__userURL+"TestData/test.zip!/",EXISTS,DIR);        data[i++]=new Data(data[tj],"Unkown",!EXISTS,!DIR);        data[i++]=new Data(data[tj],"/Unkown/",!EXISTS,DIR);                data[i++]=new Data(data[tj],"subdir",EXISTS,DIR);        data[i++]=new Data(data[tj],"/subdir/",EXISTS,DIR);        data[i++]=new Data(data[tj],"alphabet",EXISTS,!DIR,                           "ABCDEFGHIJKLMNOPQRSTUVWXYZ");        data[i++]=new Data(data[tj],"/subdir/alphabet",EXISTS,!DIR,                           "ABCDEFGHIJKLMNOPQRSTUVWXYZ");                Resource base = Resource.newResource(__userDir);        Resource dir0 = base.addPath("TestData");        assertTrue(dir0.isDirectory());        assertTrue(dir0.toString().endsWith("/"));        assertTrue(dir0.getAlias()==null);        Resource dir1 = base.addPath("TestData/");        assertTrue(dir1.isDirectory());        assertTrue(dir1.toString().endsWith("/"));        assertTrue(dir1.getAlias()==null);                    }        /* ------------------------------------------------------------ */    protected void tearDown()        throws Exception    {    }        /* ------------------------------------------------------------ */    public void testResourceExists()    {        for (int i=0;i<data.length;i++)        {            if (data[i]==null)                continue;            assertEquals(""+i+":"+data[i].test,data[i].exists,data[i].resource.exists());        }    }        /* ------------------------------------------------------------ */    public void testResourceDir()    {        for (int i=0;i<data.length;i++)        {            if (data[i]==null)                continue;            assertEquals(""+i+":"+data[i].test,data[i].dir,data[i].resource.isDirectory());        }    }        /* ------------------------------------------------------------ */    public void testResourceContent()        throws Exception    {        for (int i=0;i<data.length;i++)        {            if (data[i]==null || data[i].content==null)                continue;                      InputStream in = data[i].resource.getInputStream();            String c=IO.toString(in);            assertTrue(""+i+":"+data[i].test,c.startsWith(data[i].content));        }    }    /* ------------------------------------------------------------ */    public void testEncoding() throws Exception    {        Resource r =Resource.newResource("/tmp/a file with,spe#ials/");        assertTrue(r.getURL().toString().indexOf("a%20file%20with,spe%23ials")>0);        assertTrue(r.getFile().toString().indexOf("a file with,spe#ials")>0);    }    /* ------------------------------------------------------------ */    public void testJarFile()    throws Exception    {              String s = "jar:"+__userURL+"TestData/test.zip!/subdir/";        Resource r = Resource.newResource(s);        InputStream is = r.getInputStream();                JarInputStream jin = new JarInputStream(is);        assertNotNull(is);        assertNotNull(jin);            }    /**     * Test a class path resource for existence.     */    public void testClassPathResourceClassRelative()    {        final String classPathName="Resource.class";        Resource resource=Resource.newClassPathResource(classPathName);        assertTrue(resource!=null);        // A class path cannot be a directory        assertFalse("Class path cannot be a directory.",resource.isDirectory());        // A class path must exist        assertTrue("Class path resource does not exist.",resource.exists());    }    /**     * Test a class path resource for existence.     */    public void testClassPathResourceClassAbsolute()    {        final String classPathName="/org/mortbay/resource/Resource.class";        Resource resource=Resource.newClassPathResource(classPathName);        assertTrue(resource!=null);        // A class path cannot be a directory        assertFalse("Class path cannot be a directory.",resource.isDirectory());        // A class path must exist        assertTrue("Class path resource does not exist.",resource.exists());    }    /**     * Test a class path resource for directories.     */    public void testClassPathResourceDirectory() throws Exception    {        final String classPathName="/";        Resource resource=Resource.newClassPathResource(classPathName);                assertTrue(resource!=null);                // A class path must be a directory        assertTrue("Class path must be a directory.",resource.isDirectory());        assertTrue("Class path returned file must be a directory.",resource.getFile().isDirectory());        // A class path must exist        assertTrue("Class path resource does not exist.",resource.exists());    }    /**     * Test a class path resource for a file.     */    public void testClassPathResourceFile() throws Exception    {        final String fileName="fakeRequests.txt";        final String classPathName="/"+fileName;        // Will locate a resource in the class path        Resource resource=Resource.newClassPathResource(classPathName);        assertTrue(resource!=null);                // A class path cannot be a directory        assertFalse("Class path must be a directory.",resource.isDirectory());        assertTrue(resource!=null);                File file=resource.getFile();        assertTrue("File returned from class path should not be null.",file!=null);        assertEquals("File name from class path is not equal.",fileName,file.getName());        assertTrue("File returned from class path should be a file.",file.isFile());        // A class path must exist        assertTrue("Class path resource does not exist.",resource.exists());    }                }

⌨️ 快捷键说明

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