1 #include <ccan/tal/path/path.h>
2 #include <ccan/tal/path/path.c>
3 #include <ccan/tap/tap.h>
7 char *ctx = tal_strdup(NULL, "ctx"), **split;
11 split = path_split(ctx, "foo" PATH_SEP_STR "bar");
12 ok1(tal_parent(split) == ctx);
13 ok1(streq(split[0], "foo"));
14 ok1(streq(split[1], "bar"));
15 ok1(split[2] == NULL);
18 split = path_split(ctx, "foo" PATH_SEP_STR "bar" PATH_SEP_STR);
19 ok1(tal_parent(split) == ctx);
20 ok1(streq(split[0], "foo"));
21 ok1(streq(split[1], "bar"));
22 ok1(split[2] == NULL);
25 split = path_split(ctx, PATH_SEP_STR "foo"
26 PATH_SEP_STR "bar" PATH_SEP_STR);
27 ok1(tal_parent(split) == ctx);
28 ok1(streq(split[0], "foo"));
29 ok1(streq(split[1], "bar"));
30 ok1(split[2] == NULL);
33 split = path_split(ctx, PATH_SEP_STR PATH_SEP_STR "foo"
34 PATH_SEP_STR PATH_SEP_STR "bar"
35 PATH_SEP_STR PATH_SEP_STR);
36 ok1(tal_parent(split) == ctx);
37 ok1(streq(split[0], "foo"));
38 ok1(streq(split[1], "bar"));
39 ok1(split[2] == NULL);
42 split = path_split(ctx, "foo");
43 ok1(tal_parent(split) == ctx);
44 ok1(streq(split[0], "foo"));
45 ok1(split[1] == NULL);
48 split = path_split(ctx, PATH_SEP_STR "foo");
49 ok1(tal_parent(split) == ctx);
50 ok1(streq(split[0], "foo"));
51 ok1(split[1] == NULL);
54 split = path_split(ctx, PATH_SEP_STR PATH_SEP_STR "foo");
55 ok1(tal_parent(split) == ctx);
56 ok1(streq(split[0], "foo"));
57 ok1(split[1] == NULL);
60 split = path_split(ctx, "foo" PATH_SEP_STR);
61 ok1(tal_parent(split) == ctx);
62 ok1(streq(split[0], "foo"));
63 ok1(split[1] == NULL);
66 split = path_split(ctx, "foo" PATH_SEP_STR PATH_SEP_STR);
67 ok1(tal_parent(split) == ctx);
68 ok1(streq(split[0], "foo"));
69 ok1(split[1] == NULL);
72 split = path_split(ctx, PATH_SEP_STR "foo" PATH_SEP_STR);
73 ok1(tal_parent(split) == ctx);
74 ok1(streq(split[0], "foo"));
75 ok1(split[1] == NULL);
78 split = path_split(ctx, "");
79 ok1(tal_parent(split) == ctx);
80 ok1(split[0] == NULL);
83 split = path_split(ctx, PATH_SEP_STR);
84 ok1(tal_parent(split) == ctx);
85 ok1(streq(split[0], PATH_SEP_STR));
86 ok1(split[1] == NULL);
90 split = path_split(ctx, take(tal_strdup(ctx, PATH_SEP_STR)));
91 ok1(tal_parent(split) == ctx);
92 ok1(streq(split[0], PATH_SEP_STR));
93 ok1(split[1] == NULL);
95 ok1(tal_first(ctx) == NULL);
97 split = path_split(ctx, take(NULL));
99 ok1(tal_first(ctx) == NULL);
101 ok1(tal_first(NULL) == ctx && tal_next(NULL, ctx) == NULL);
104 return exit_status();