Fix duplicate management.
[apps/pfixtools.git] / common / tst-trie.c
index b4b064e..77fd208 100644 (file)
@@ -90,7 +90,7 @@ static trie_t *create_trie_from_file(const char *file)
             p = eol - BUFSIZ;
         }
         int i = 0;
-#if 0
+#if 1
         for (const char *s = eol - 1 ; s >= p ; --s) {
             line[i++] = ascii_tolower(*s);
         }
@@ -103,6 +103,7 @@ static trie_t *create_trie_from_file(const char *file)
         p = eol + 1;
     }
     munmap((void*)map, st.st_size);
+    trie_compile(db, false);
     return db;
 }
 
@@ -112,12 +113,14 @@ int main(int argc, char *argv[])
     /* Trivial tests
      */
     trie_t *trie = trie_new();
-    trie_insert(trie, "abcdefghi");
-    trie_insert(trie, "abcde123654789");
     trie_insert(trie, "abcde123456789");
     trie_insert(trie, "abcde123654789");
+    trie_insert(trie, "abcdefghi");
     trie_insert(trie, "coucou");
     trie_insert(trie, "coucou chez vous");
+    trie_insert(trie, "debout !");
+    trie_compile(trie, false);
+    trie_inspect(trie);
 
 #define ASSERT_TRUE(str)                            \
     if (!trie_lookup(trie, str)) {                  \
@@ -133,9 +136,15 @@ int main(int argc, char *argv[])
     ASSERT_FALSE("coucou ");
     ASSERT_FALSE("abcde123");
     ASSERT_FALSE("abcde");
+    ASSERT_FALSE("coucou chez vous tous");
+    ASSERT_TRUE("abcde123456789");
+    ASSERT_TRUE("abcde123456789");
+    ASSERT_TRUE("abcde123654789");
     ASSERT_TRUE("abcdefghi");
     ASSERT_TRUE("coucou");
-    ASSERT_FALSE("coucou chez vous tous");
+    ASSERT_TRUE("coucou chez vous");
+    ASSERT_TRUE("debout !");
+
     trie_delete(&trie);
 
     /* Perf test