diff --git a/tests/path_completion.cpp b/tests/path_completion.cpp
index 1550326..0715639 100644
--- a/tests/path_completion.cpp
+++ b/tests/path_completion.cpp
@@ -66,14 +66,14 @@
         SECTION("ls ")
         {
             input = "ls ";
-            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list[", "example:ovoce[", "example:ovocezelenina[", "example:twoKeyList[", "second:amelie/"};
+            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list", "example:ovoce", "example:ovocezelenina", "example:twoKeyList", "second:amelie/"};
             expectedContextLength = 0;
         }
 
         SECTION("ls e")
         {
             input = "ls e";
-            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list[", "example:ovoce[", "example:ovocezelenina[", "example:twoKeyList["};
+            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list", "example:ovoce", "example:ovocezelenina", "example:twoKeyList"};
             expectedContextLength = 1;
         }
 
@@ -101,14 +101,14 @@
         SECTION("ls /")
         {
             input = "ls /";
-            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list[", "example:ovoce[", "example:ovocezelenina[", "example:twoKeyList[", "second:amelie/"};
+            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list", "example:ovoce", "example:ovocezelenina", "example:twoKeyList", "second:amelie/"};
             expectedContextLength = 0;
         }
 
         SECTION("ls /e")
         {
             input = "ls /e";
-            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list[", "example:ovoce[", "example:ovocezelenina[", "example:twoKeyList["};
+            expectedCompletions = {"example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list", "example:ovoce", "example:ovocezelenina", "example:twoKeyList"};
             expectedContextLength = 1;
         }
 
@@ -160,7 +160,7 @@
         SECTION("cd example:lis")
         {
             input = "cd example:lis";
-            expectedCompletions = {"example:list["};
+            expectedCompletions = {"example:list"};
             expectedContextLength = 11;
         }
 
@@ -272,9 +272,23 @@
         SECTION("cd example:ovoce")
         {
             input = "cd example:ovoce";
-            expectedCompletions = {"example:ovoce[", "example:ovocezelenina["};
+            expectedCompletions = {"example:ovoce", "example:ovocezelenina"};
             expectedContextLength = 13;
         }
+
+        SECTION("cd example:ovoceze")
+        {
+            input = "cd example:ovoceze";
+            expectedCompletions = {"example:ovocezelenina"};
+            expectedContextLength = 15;
+        }
+
+        SECTION("cd example:ovocezelenina")
+        {
+            input = "cd example:ovocezelenina";
+            expectedCompletions = {"example:ovocezelenina["};
+            expectedContextLength = 21;
+        }
     }
 
     SECTION("clear completions when no longer inputting path")
diff --git a/tests/utils.cpp b/tests/utils.cpp
index c862980..91c61cb 100644
--- a/tests/utils.cpp
+++ b/tests/utils.cpp
@@ -7,20 +7,21 @@
 */
 
 #include "trompeloeil_doctest.hpp"
+#include "completion.hpp"
 #include "utils.hpp"
 
 TEST_CASE("utils")
 {
     SECTION("filterByPrefix")
     {
-        std::set<std::string> set{"ahoj", "coze", "copak", "aha", "polivka"};
+        std::set<Completion> set{{"ahoj"}, {"coze"}, {"copak"}, {"aha"}, {"polivka"}};
 
-        REQUIRE((filterByPrefix(set, "a") == std::set<std::string>{"ahoj", "aha"}));
-        REQUIRE((filterByPrefix(set, "ah") == std::set<std::string>{"ahoj", "aha"}));
-        REQUIRE((filterByPrefix(set, "aho") == std::set<std::string>{"ahoj"}));
-        REQUIRE((filterByPrefix(set, "polivka") == std::set<std::string>{"polivka"}));
-        REQUIRE((filterByPrefix(set, "polivkax") == std::set<std::string>{}));
-        REQUIRE((filterByPrefix(set, "co") == std::set<std::string>{"copak", "coze"}));
+        REQUIRE((filterByPrefix(set, "a") == std::set<Completion>{{"ahoj"}, {"aha"}}));
+        REQUIRE((filterByPrefix(set, "ah") == std::set<Completion>{{"ahoj"}, {"aha"}}));
+        REQUIRE((filterByPrefix(set, "aho") == std::set<Completion>{{"ahoj"}}));
+        REQUIRE((filterByPrefix(set, "polivka") == std::set<Completion>{{"polivka"}}));
+        REQUIRE((filterByPrefix(set, "polivkax") == std::set<Completion>{}));
+        REQUIRE((filterByPrefix(set, "co") == std::set<Completion>{{"copak"}, {"coze"}}));
     }
 
     SECTION("joinPaths") {
