summaryrefslogtreecommitdiff
path: root/tests/css
diff options
context:
space:
mode:
authorMichael Terry <michael.terry@canonical.com>2011-08-26 16:15:36 +0200
committerBenjamin Otte <otte@redhat.com>2011-08-26 16:26:28 +0200
commit431227e1af8123897d112ec9201140b3922b572d (patch)
treec4055285068ecdb783dfa8aee580791ad8b4afbf /tests/css
parent71c3f7e93dd4d03232e676c0d041d8a3df945337 (diff)
downloadgtk+-431227e1af8123897d112ec9201140b3922b572d.tar.gz
tests: Add test for non-nullterminated gtk_css_provider_load_data()
https://bugzilla.gnome.org/show_bug.cgi?id=657359
Diffstat (limited to 'tests/css')
-rw-r--r--tests/css/Makefile.am21
-rw-r--r--tests/css/api.c49
2 files changed, 70 insertions, 0 deletions
diff --git a/tests/css/Makefile.am b/tests/css/Makefile.am
index aeada80b30..f14e7b59b2 100644
--- a/tests/css/Makefile.am
+++ b/tests/css/Makefile.am
@@ -1 +1,22 @@
+include $(top_srcdir)/Makefile.decl
+
SUBDIRS = parser
+
+check_PROGRAMS = $(TEST_PROGS)
+
+AM_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+ -DGTK_VERSION=\"$(GTK_VERSION)\"\
+ $(GTK_DEBUG_FLAGS) \
+ $(GTK_DEP_CFLAGS)
+
+LDADD = \
+ $(top_builddir)/gdk/libgdk-3.la \
+ $(top_builddir)/gtk/libgtk-3.la \
+ $(GTK_DEP_LIBS)
+
+TEST_PROGS += api
diff --git a/tests/css/api.c b/tests/css/api.c
new file mode 100644
index 0000000000..a7c93dc4b2
--- /dev/null
+++ b/tests/css/api.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2011 Canonical Inc.
+ *
+ * Author:
+ * Michael Terry <michael.terry@canonical.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+static void
+gtk_css_provider_load_data_not_null_terminated (void)
+{
+ GtkCssProvider *p;
+ const gchar data[3] = {'*', '{', '}'};
+
+ p = gtk_css_provider_new();
+
+ gtk_css_provider_load_from_data(p, data, sizeof (data), NULL);
+
+ g_object_unref (p);
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ gtk_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/gtk_css_provider_load_data/not_null_terminated",
+ gtk_css_provider_load_data_not_null_terminated);
+
+ return g_test_run ();
+}
+