diff options
author | Michael Terry <michael.terry@canonical.com> | 2011-08-26 16:15:36 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-08-26 16:26:28 +0200 |
commit | 431227e1af8123897d112ec9201140b3922b572d (patch) | |
tree | c4055285068ecdb783dfa8aee580791ad8b4afbf /tests/css | |
parent | 71c3f7e93dd4d03232e676c0d041d8a3df945337 (diff) | |
download | gtk+-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.am | 21 | ||||
-rw-r--r-- | tests/css/api.c | 49 |
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 (); +} + |