Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix location of library license in win32 ucontextes
[simgrid.git] / src / xbt_str_unit.c
1 /*******************************/
2 /* GENERATED FILE, DO NOT EDIT */
3 /*******************************/
4
5 #include <stdio.h>
6 #include "xbt.h"
7 /*******************************/
8 /* GENERATED FILE, DO NOT EDIT */
9 /*******************************/
10
11 #line 423 "xbt/xbt_str.c" 
12 #include "xbt/str.h"
13
14 #define mytest(name, input, expected) \
15   xbt_test_add0(name); \
16   d=xbt_str_split_quoted(input); \
17   s=xbt_str_join(d,"XXX"); \
18   xbt_test_assert3(!strcmp(s,expected),\
19                    "Input (%s) leads to (%s) instead of (%s)", \
20                    input,s,expected);\
21                    free(s); \
22                    xbt_dynar_free(&d);
23
24 XBT_TEST_UNIT("xbt_str_split_quoted", test_split_quoted, "test the function xbt_str_split_quoted")
25 {
26   xbt_dynar_t d;
27   char *s;
28
29   mytest("Empty", "", "");
30   mytest("Basic test", "toto tutu", "totoXXXtutu");
31   mytest("Useless backslashes", "\\t\\o\\t\\o \\t\\u\\t\\u",
32          "totoXXXtutu");
33   mytest("Protected space", "toto\\ tutu", "toto tutu");
34   mytest("Several spaces", "toto   tutu", "totoXXXtutu");
35   mytest("LTriming", "  toto tatu", "totoXXXtatu");
36   mytest("Triming", "  toto   tutu  ", "totoXXXtutu");
37   mytest("Single quotes", "'toto tutu' tata", "toto tutuXXXtata");
38   mytest("Double quotes", "\"toto tutu\" tata", "toto tutuXXXtata");
39   mytest("Mixed quotes", "\"toto' 'tutu\" tata", "toto' 'tutuXXXtata");
40   mytest("Backslashed quotes", "\\'toto tutu\\' tata",
41          "'totoXXXtutu'XXXtata");
42   mytest("Backslashed quotes + quotes", "'toto \\'tutu' tata",
43          "toto 'tutuXXXtata");
44
45 }
46
47 #define mytest_str(name, input, separator, expected) \
48   xbt_test_add0(name); \
49   d=xbt_str_split_str(input, separator); \
50   s=xbt_str_join(d,"XXX"); \
51   xbt_test_assert3(!strcmp(s,expected),\
52                    "Input (%s) leads to (%s) instead of (%s)", \
53                    input,s,expected);\
54                    free(s); \
55                    xbt_dynar_free(&d);
56
57 XBT_TEST_UNIT("xbt_str_split_str", test_split_str, "test the function xbt_str_split_str")
58 {
59   xbt_dynar_t d;
60   char *s;
61
62   mytest_str("Empty string and separator", "", "", "");
63   mytest_str("Empty string", "", "##", "");
64   mytest_str("Empty separator", "toto", "", "toto");
65   mytest_str("String with no separator in it", "toto", "##", "toto");
66   mytest_str("Basic test", "toto##tutu", "##", "totoXXXtutu");
67 }
68 /*******************************/
69 /* GENERATED FILE, DO NOT EDIT */
70 /*******************************/
71