tests: Add test for non-nullterminated gtk_css_provider_load_data()

https://bugzilla.gnome.org/show_bug.cgi?id=657359
This commit is contained in:
Michael Terry 2011-08-26 16:15:36 +02:00 committed by Benjamin Otte
parent 71c3f7e93d
commit 431227e1af
2 changed files with 70 additions and 0 deletions

View File

@ -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

49
tests/css/api.c Normal file
View File

@ -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 ();
}