gdk_color_SOURCES = gdk-color.c
gdk_color_LDADD = $(progs_ldadd)
+TEST_PROGS += encoding
+encoding_SOURCES = encoding.c
+encoding_LDADD = $(progs_ldadd)
+
CLEANFILES = \
cairosurface.png \
gdksurface.png
--- /dev/null
+#include <gdk/gdk.h>
+#ifdef GDK_WINDOWING_X11
+#include "x11/gdkx.h"
+#endif
+
+static void
+test_to_text_list (void)
+{
+ GdkDisplay *display;
+
+ display = gdk_display_get_default ();
+
+#ifdef GDK_WINDOWING_X11
+ if (GDK_IS_X11_DISPLAY (display))
+ {
+ GdkAtom encoding;
+ gint format;
+ const guchar *text;
+ gint length;
+ gchar **list;
+ gint n;
+
+ encoding = gdk_atom_intern ("UTF8_STRING", FALSE);
+ format = 8;
+ text = (const guchar*)"abcdef \304\201 \304\205\0ABCDEF \304\200 \304\204";
+ length = 25;
+ n = gdk_x11_display_text_property_to_text_list (display, encoding, format, text, length, &list);
+ g_assert_cmpint (n, ==, 2);
+ g_assert (g_str_has_prefix (list[0], "abcdef "));
+ g_assert (g_str_has_prefix (list[1], "ABCDEF "));
+
+ gdk_x11_free_text_list (list);
+ }
+#endif
+}
+
+int
+main (int argc, char *argv[])
+{
+ g_test_init (&argc, &argv, NULL);
+ gdk_init (&argc, &argv);
+
+ g_test_add_func ("/encoding/to-text-list", test_to_text_list);
+
+ return g_test_run ();
+}
* @format: the format of the property
* @text: The text data
* @length: The number of items to transform
- * @list: location to store a terminated array of strings in
+ * @list: location to store an array of strings in
* the encoding of the current locale. This array should be
* freed using gdk_free_text_list().
*
else
{
if (list)
- *list = g_strdupv (local_list);
+ *list = local_list;
else
XFreeStringList (local_list);