source: trunk/sandbox/emit-it/trailing-space-bug.c @ 33

Revision 33, 1.1 KB checked in by xi, 8 years ago (diff)

Add test for bug #33.
Add test for the bug with emitting extra delimiters.

Line 
1
2#include <stdio.h>
3#include <string.h>
4
5#include <syck.h>
6
7#define VALUE1 "this scalar contains trailing spaces  "
8#define VALUE2 "this scalar contains a trailing colon:"
9
10void output_handler(SyckEmitter *e, char *str, long len)
11{
12    fwrite(str, 1, len, stdout);
13}
14
15void emitter_handler(SyckEmitter *e, st_data_t id)
16{
17    switch (id) {
18        case 1:
19            syck_emit_seq(e, NULL, seq_none);
20            syck_emit_item(e, 2);
21            syck_emit_item(e, 3);
22            syck_emit_end(e);
23            break;
24        case 2:
25            syck_emit_scalar(e, "tag:yaml.org,2002:str", scalar_none, 0, 0, 0, VALUE1, strlen(VALUE1));
26            break;
27        case 3:
28            syck_emit_scalar(e, "tag:yaml.org,2002:str", scalar_none, 0, 0, 0, VALUE2, strlen(VALUE2));
29            break;
30    }
31       
32}
33
34int main(int argc, char *argv[])
35{
36    SyckEmitter *e;
37
38    e = syck_new_emitter();
39    syck_emitter_handler(e, emitter_handler);
40    syck_output_handler(e, output_handler);
41    syck_emitter_mark_node(e, 1);
42    syck_emitter_mark_node(e, 2);
43    syck_emitter_mark_node(e, 3);
44    syck_emit(e, 1);
45    syck_emitter_flush(e, 0);
46    syck_free_emitter(e);
47}
48
Note: See TracBrowser for help on using the repository browser.