annotate infinite_canvas/agent_response_test.c @ 281:c57149ad216e default tip

Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
author MrJuneJune <me@mrjunejune.com>
date Tue, 18 Aug 2026 22:18:15 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
281
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
1 #include "infinite_canvas/agent_response.h"
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
2
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
3 #include <assert.h>
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
4 #include <string.h>
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
5
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
6 int main(void)
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
7 {
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
8 Canvas_Agent_Response response;
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
9 assert(Canvas_Agent_Response_Parse(
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
10 "{\"action\":\"create\",\"presentation\":\"action\","
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
11 "\"conversation_id\":0,"
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
12 "\"title\":\"Planning\",\"response\":\"Here is a calendar\","
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
13 "\"entities\":[{\"kind\":\"calendar\",\"label\":\"August\","
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
14 "\"x\":120,\"y\":80,\"width\":300,\"height\":260,\"value\":18},"
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
15 "{\"kind\":\"card\",\"label\":\"Launch\",\"text\":\"Ship it\"}]}",
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
16 &response));
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
17 assert(strcmp(response.action, "create") == 0);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
18 assert(strcmp(response.presentation, "action") == 0);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
19 assert(response.entity_count == 2);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
20 assert(response.entities[0].type == CANVAS_ENTITY_CALENDAR);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
21 assert(response.entities[0].has_position);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
22 assert(response.entities[0].has_size);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
23 assert(response.entities[0].has_value);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
24 assert(response.entities[0].value == 18);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
25 assert(response.entities[1].type == CANVAS_ENTITY_CARD);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
26 assert(!response.entities[1].has_value);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
27 assert(strcmp(response.entities[1].text, "Ship it") == 0);
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
28
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
29 assert(!Canvas_Agent_Response_Parse(
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
30 "{\"action\":\"create\",\"presentation\":\"action\","
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
31 "\"conversation_id\":0,"
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
32 "\"response\":\"bad\",\"entities\":["
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
33 "{\"kind\":\"web_content\",\"text\":\"file:///etc/passwd\"}]}",
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
34 &response));
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
35 assert(!Canvas_Agent_Response_Parse(
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
36 "{\"action\":\"create\",\"presentation\":\"action\","
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
37 "\"conversation_id\":0,"
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
38 "\"response\":\"bad\",\"entities\":[{\"kind\":\"unknown\"}]}",
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
39 &response));
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
40 assert(!Canvas_Agent_Response_Parse(
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
41 "{\"action\":\"append\",\"presentation\":\"action\","
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
42 "\"conversation_id\":4,\"response\":\"bad\"}",
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
43 &response));
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
44 return 0;
c57149ad216e Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
45 }