1 #include <ccan/tal/path/path.h>
2 #include <ccan/tal/path/path.c>
3 #include <ccan/tap/tap.h>
7 char *path, *ctx = tal_strdup(NULL, "ctx");
11 path = path_basename(ctx, "/usr/lib");
12 ok1(streq(path, "lib"));
13 ok1(tal_parent(path) == ctx);
14 path = path_basename(ctx, "/usr/");
15 ok1(streq(path, "usr"));
16 ok1(tal_parent(path) == ctx);
17 path = path_basename(ctx, "/usr//");
18 ok1(streq(path, "usr"));
19 ok1(tal_parent(path) == ctx);
20 path = path_basename(ctx, "usr");
21 ok1(streq(path, "usr"));
22 ok1(tal_parent(path) == ctx);
23 path = path_basename(ctx, "/");
24 ok1(streq(path, "/"));
25 ok1(tal_parent(path) == ctx);
26 path = path_basename(ctx, "//");
27 ok1(streq(path, "/"));
28 ok1(tal_parent(path) == ctx);
29 path = path_basename(ctx, ".");
30 ok1(streq(path, "."));
31 ok1(tal_parent(path) == ctx);
32 path = path_basename(ctx, "./");
33 ok1(streq(path, "."));
34 ok1(tal_parent(path) == ctx);
35 path = path_basename(ctx, "..");
36 ok1(streq(path, ".."));
37 ok1(tal_parent(path) == ctx);
38 path = path_basename(ctx, "../");
39 ok1(streq(path, ".."));
40 ok1(tal_parent(path) == ctx);
43 ctx = tal_strdup(NULL, "ctx");
47 path = path_basename(ctx, take(tal_strdup(ctx, "..")));
48 ok1(streq(path, ".."));
49 ok1(tal_parent(path) == ctx);
50 ok1(tal_first(ctx) == path && !tal_next(ctx, path));
52 ok1(path_basename(ctx, take(NULL)) == NULL);