flexcat 2.15 is picky.
[AROS.git] / test / dos / addpart.c
blob189320284f154806538e22457b626e0cb9b20ca3
1 // test for AddPart(). Test cases are from Guru Book.
3 #include <proto/dos.h>
4 #include <stdio.h>
5 #include <string.h>
7 int test(STRPTR p1, CONST_STRPTR p2, CONST_STRPTR expected)
9 BOOL res;
10 char buffer[100];
11 memset(buffer, 0, sizeof(buffer));
12 strcpy(buffer, p1);
14 res = AddPart(buffer, p2, sizeof(buffer));
16 if (res == DOSFALSE)
18 printf("AddPart() returned DOSFALSE for %s %s\n", p1, p2);
19 return 1;
22 if (strcmp(buffer, expected) != 0)
24 printf("AddPart() created string %s; expected was %s\n", buffer, expected);
25 return 1;
27 return 0;
30 int main(void)
32 int error = 0;
34 error += test("foo", "bar", "foo/bar");
35 error += test("foo/", "bar", "foo/bar");
36 error += test("foo/baz", "bar", "foo/baz/bar");
37 error += test("foo", "bar/baz", "foo/bar/baz");
38 error += test("foo:", "bar", "foo:bar");
39 error += test("foo:", "bar:", "bar:");
40 error += test("foo:baz", ":bar", "foo:bar");
41 error += test("foo", "/bar", "foo//bar");
42 error += test("foo/", "/bar", "foo//bar");
44 return error ? RETURN_ERROR : RETURN_OK;