KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > vfs > provider > tar > test > NestedTgzTestCase


1 /*
2  * Copyright 2002-2005 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.commons.vfs.provider.tar.test;
17
18 import junit.framework.Test;
19 import org.apache.commons.AbstractVfsTestCase;
20 import org.apache.commons.vfs.FileObject;
21 import org.apache.commons.vfs.FileSystemManager;
22 import org.apache.commons.vfs.impl.DefaultFileSystemManager;
23 import org.apache.commons.vfs.provider.tar.TarFileProvider;
24 import org.apache.commons.vfs.test.AbstractProviderTestConfig;
25 import org.apache.commons.vfs.test.ProviderTestConfig;
26 import org.apache.commons.vfs.test.ProviderTestSuite;
27
28 /**
29  * Tests for the Tar file system, using a tar file nested inside another tar file.
30  */

31 public class NestedTgzTestCase
32     extends AbstractProviderTestConfig
33     implements ProviderTestConfig
34 {
35     /**
36      * Creates the test suite for nested tar files.
37      */

38     public static Test suite() throws Exception JavaDoc
39     {
40         return new ProviderTestSuite(new NestedTgzTestCase());
41     }
42
43     /**
44      * Prepares the file system manager.
45      */

46     public void prepare(final DefaultFileSystemManager manager)
47         throws Exception JavaDoc
48     {
49         manager.addProvider("tgz", new TarFileProvider());
50         manager.addExtensionMap("tgz", "tgz");
51         manager.addProvider("tar", new TarFileProvider());
52     }
53
54     /**
55      * Returns the base folder for tests.
56      */

57     public FileObject getBaseTestFolder(final FileSystemManager manager) throws Exception JavaDoc
58     {
59         // Locate the base Tar file
60
final String JavaDoc tarFilePath = AbstractVfsTestCase.getTestResource("nested.tgz").getAbsolutePath();
61         String JavaDoc uri = "tgz:" + tarFilePath + "!/test.tgz";
62         final FileObject tarFile = manager.resolveFile(uri);
63
64         // Now build the nested file system
65
final FileObject nestedFS = manager.createFileSystem(tarFile);
66         return nestedFS.resolveFile("/");
67     }
68 }
69
Popular Tags