From be61c4c9a29c867115ad6700969e5d6e004aac25 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 07 Jan 2019 16:11:05 +0000
Subject: [PATCH] Recent archives in memory and tried to compact pathes for saving memory.

---
 borgbutler-core/src/test/java/de/micromata/borgbutler/cache/ArchiveFilelistCacheTest.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/borgbutler-core/src/test/java/de/micromata/borgbutler/cache/ArchiveFilelistCacheTest.java b/borgbutler-core/src/test/java/de/micromata/borgbutler/cache/ArchiveFilelistCacheTest.java
index 7568e77..5ff965c 100644
--- a/borgbutler-core/src/test/java/de/micromata/borgbutler/cache/ArchiveFilelistCacheTest.java
+++ b/borgbutler-core/src/test/java/de/micromata/borgbutler/cache/ArchiveFilelistCacheTest.java
@@ -125,6 +125,45 @@
         cache.removeAllCacheFiles();
     }
 
+    @Test
+    void reducePath() {
+        List<BorgFilesystemItem> list = new ArrayList<>();
+        String[] items = {
+                "d home",
+                "d home/kai",
+                "- home/kai/abc.txt",
+                "d home/kai/Documents",
+                "- home/kai/Documents/test1.doc",
+                "- home/kai/Documents/test2.doc",
+                "- home/kai/image.doc",
+                "- home/kai/Files/tmp/a.txt",
+                "- home/kai/Files/tmp/b.txt",
+                "- home/kai/Java.pdf",
+                "- home/kai/Movies/a.mov",
+                "- home/pete/txt.mov",
+                "- home/steve/1/2/3/4/5/6/7/test.txt",
+                "- home/test.txt",
+                "- home/xaver/1/2/3/4/5/6/7/test.txt",
+                "- opt/local/test.txt",
+                "- opt/local/test2.txt",
+        };
+        for (String path : items) {
+            BorgFilesystemItem item = new BorgFilesystemItem().setPath(path.substring(2));
+            if (path.startsWith("d")) {
+                item.setType("d");
+            } else {
+                item.setType("-");
+            }
+            list.add(item);
+        }
+        ArchiveFilelistCache.compactPathes(list);
+        ArchiveFilelistCache.expandPathes(list);
+        for (int i = 0; i < list.size(); i++) {
+            assertEquals(items[i].substring(2), list.get(i).getPath());
+        }
+
+    }
+
     private List<BorgFilesystemItem> createList(int number) throws Exception {
         List<BorgFilesystemItem> list = new ArrayList<>();
         for (int i = 0; i < 1000000; i++) {

--
Gitblit v1.10.0