]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.jcr/ext/test/org/argeo/jcr/fs/JcrFileSystemTest.java
Introduce Argeo Sync
[lgpl/argeo-commons.git] / org.argeo.jcr / ext / test / org / argeo / jcr / fs / JcrFileSystemTest.java
index 2ad75a2aa2fceee280106182428e1427f988a5ca..e24a7de9ff2e00e0783f57fa71e93893d1c2a689 100644 (file)
@@ -66,6 +66,9 @@ public class JcrFileSystemTest extends TestCase {
                log.debug("Created sub directories " + subsubdir);
                Path copiedFile = testDir.resolve("copiedFile.txt");
                log.debug("Resolved " + copiedFile);
+               Path relativeCopiedFile = testDir.relativize(copiedFile);
+               assertEquals(copiedFile.getFileName().toString(), relativeCopiedFile.toString());
+               log.debug("Relative copied file " + relativeCopiedFile);
                try (OutputStream out = Files.newOutputStream(copiedFile); InputStream in = Files.newInputStream(testPath)) {
                        IOUtils.copy(in, out);
                }
@@ -103,4 +106,24 @@ public class JcrFileSystemTest extends TestCase {
                assertEquals(6, attrs.size());
                log.debug("Read attributes of " + copiedFile + ": " + attrs.keySet());
        }
+
+       public void testIllegalCharacters() throws Exception {
+               FileSystemProvider fsProvider = new JackrabbitMemoryFsProvider();
+               String fileName = "tüßçt[1].txt";
+               String pathStr = "/testDir/" + fileName;
+               Path testDir = fsProvider.getPath(new URI("jcr+memory:/testDir"));
+               Files.createDirectory(testDir);
+               Path testPath = testDir.resolve(fileName);
+               assertEquals(pathStr, testPath.toString());
+               Files.createFile(testPath);
+               DirectoryStream<Path> files = Files.newDirectoryStream(testDir);
+               Path listedPath = files.iterator().next();
+               assertEquals(pathStr, listedPath.toString());
+
+               String dirName = "*[~WeirdDir~]*";
+               Path subDir = testDir.resolve(dirName);
+               Files.createDirectory(subDir);
+               subDir = testDir.resolve(dirName);
+               assertEquals(dirName, subDir.getFileName().toString());
+       }
 }