build: Split test programs off into separate files
[ffmpeg.git] / libavutil / avstring-test.c
1 /*
2  * This file is part of Libav.
3  *
4  * Libav is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * Libav is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with Libav; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18
19 #include <stdio.h>
20
21 #include "common.h"
22 #include "mem.h"
23 #include "avstring.h"
24
25 int main(void)
26 {
27     int i;
28     const char *strings[] = {
29         "''",
30         "",
31         ":",
32         "\\",
33         "'",
34         "    ''    :",
35         "    ''  ''  :",
36         "foo   '' :",
37         "'foo'",
38         "foo     ",
39         "  '  foo  '  ",
40         "foo\\",
41         "foo':  blah:blah",
42         "foo\\:  blah:blah",
43         "foo\'",
44         "'foo :  '  :blahblah",
45         "\\ :blah",
46         "     foo",
47         "      foo       ",
48         "      foo     \\ ",
49         "foo ':blah",
50         " foo   bar    :   blahblah",
51         "\\f\\o\\o",
52         "'foo : \\ \\  '   : blahblah",
53         "'\\fo\\o:': blahblah",
54         "\\'fo\\o\\:':  foo  '  :blahblah"
55     };
56
57     printf("Testing av_get_token()\n");
58     for (i = 0; i < FF_ARRAY_ELEMS(strings); i++) {
59         const char *p = strings[i];
60         char *q;
61         printf("|%s|", p);
62         q = av_get_token(&p, ":");
63         printf(" -> |%s|", q);
64         printf(" + |%s|\n", p);
65         av_free(q);
66     }
67
68     return 0;
69 }