6 #include "libgeda_priv.h"
8 char const *test_page
[] = {
10 "C 46400 48000 1 270 0 EMBEDDEDopamp.sym",
12 "P 600 1000 600 800 1 0 0",
14 "T 900 500 8 10 1 1 0 0 1",
17 "P 600 200 600 0 1 0 1",
20 "V 500 501 315 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1",
21 "L 600 200 400 400 3 0 0 0 -1 -1",
22 "L 600 800 400 600 3 0 0 0 -1 -1",
23 "L 400 700 400 300 3 0 0 0 -1 -1",
24 "L 400 500 184 500 3 0 0 0 -1 -1",
25 "L 600 200 564 272 3 0 0 0 -1 -1",
26 "L 600 200 528 236 3 0 0 0 -1 -1",
27 "L 528 236 564 272 3 0 0 0 -1 -1",
29 "L 46400 49000 47400 49000 3 9 9 9 -1 -1",
32 char prim_objs
[] = "CL*";
35 summarize_object(OBJECT
*o_current
, void *context
)
37 char **control
= context
;
41 /* Failure is idempotent. */
44 /* Visiting more objects than expected. */
48 if (o_current
->type
== **control
) {
49 /* Skip to next object. */
52 /* Mark failure, and don't skip past the test. */
58 if (o_current
->type
== OBJ_COMPLEX
) {
59 return VISIT_RES_NORECURSE
;
70 char *cursor
= prim_objs
;
74 toplevel
= s_toplevel_new();
75 toplevel
->font_directory
= "../../symbols/font";
76 page
= s_page_new(toplevel
, "test");
77 s_toplevel_goto_page(toplevel
, page
);
79 buf
= g_strjoinv("\n", test_page
);
80 o_read_buffer(toplevel
, page
->object_tail
, buf
, strlen(buf
), "test");
83 s_visit_page(page
, &summarize_object
, &cursor
, VISIT_PREFIX
, 0);
85 fprintf(stderr
, "prim_objs = %s\n", prim_objs
);
86 return(!!strcmp(prim_objs
, "pp*"));