From 0a3eceb15d45767988e7e4781afc34a23bd4cd8f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 19 Mar 2023 10:04:46 -0400 Subject: [PATCH] node-editor: Embed textures in testcases It is useless to have node files with references to external files in the testsuite, so turn such textures into data urls by doing a serialization roundtrip. --- demos/node-editor/node-editor-window.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/demos/node-editor/node-editor-window.c b/demos/node-editor/node-editor-window.c index 3fe3d818c7..5c38140162 100644 --- a/demos/node-editor/node-editor-window.c +++ b/demos/node-editor/node-editor-window.c @@ -1017,6 +1017,19 @@ testcase_save_clicked_cb (GtkWidget *button, } text = get_current_text (self->text_buffer); + { + GBytes *bytes; + GskRenderNode *node; + gsize size; + + bytes = g_bytes_new_take (text, strlen (text) + 1); + node = gsk_render_node_deserialize (bytes, NULL, NULL); + g_bytes_unref (bytes); + bytes = gsk_render_node_serialize (node); + gsk_render_node_unref (node); + text = g_bytes_unref_to_data (bytes, &size); + } + if (!g_file_set_contents (node_file, text, -1, &error)) { gtk_label_set_label (GTK_LABEL (self->testcase_error_label), error->message); -- 2.30.2