1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider.zip;
18
19 import static org.apache.commons.vfs2.VfsTestUtils.getTestResource;
20
21 import java.io.File;
22 import java.nio.charset.StandardCharsets;
23
24 import junit.framework.Test;
25
26 import org.apache.commons.vfs2.AbstractProviderTestConfig;
27 import org.apache.commons.vfs2.FileObject;
28 import org.apache.commons.vfs2.FileSystem;
29 import org.apache.commons.vfs2.FileSystemManager;
30 import org.apache.commons.vfs2.FileSystemOptions;
31 import org.apache.commons.vfs2.ProviderTestSuite;
32 import org.apache.commons.vfs2.impl.DefaultFileSystemManager;
33 import org.junit.jupiter.api.Assertions;
34
35
36
37
38 public class ZipProviderWithCharsetNullTestCase extends AbstractProviderTestConfig {
39
40
41
42
43 public static Test suite() throws Exception {
44 return new ProviderTestSuite(new ZipProviderWithCharsetNullTestCase(), true);
45 }
46
47
48
49
50 @Override
51 public FileObject getBaseTestFolder(final FileSystemManager manager) throws Exception {
52 final FileSystemOptions opts = new FileSystemOptions();
53 final ZipFileSystemConfigBuilder builder = ZipFileSystemConfigBuilder.getInstance();
54
55 builder.setCharset(opts, null);
56
57 final File zipFile = getTestResource("test.zip");
58 final String uri = "zip:file:" + zipFile.getAbsolutePath() + "!/";
59 final FileObject resolvedFile = manager.resolveFile(uri, opts);
60 final FileSystem fileSystem = resolvedFile.getFileSystem();
61 Assertions.assertInstanceOf(ZipFileSystem.class, fileSystem);
62 final ZipFileSystem zipFileSystem = (ZipFileSystem) fileSystem;
63 Assertions.assertEquals(StandardCharsets.UTF_8, zipFileSystem.getCharset());
64 return resolvedFile;
65 }
66
67
68
69
70 @Override
71 public void prepare(final DefaultFileSystemManager manager) throws Exception {
72 manager.addProvider("zip", new ZipFileProvider());
73 manager.addExtensionMap("zip", "zip");
74 manager.addMimeTypeMap(MIME_TYPE_APPLICATION_ZIP, "zip");
75 }
76
77 }