[gtk+] tests: Add test for non-nullterminated gtk_css_provider_load_data()



commit 431227e1af8123897d112ec9201140b3922b572d
Author: Michael Terry <michael terry canonical com>
Date:   Fri Aug 26 16:15:36 2011 +0200

    tests: Add test for non-nullterminated gtk_css_provider_load_data()
    
    https://bugzilla.gnome.org/show_bug.cgi?id=657359

 tests/css/Makefile.am |   21 +++++++++++++++++++++
 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 aeada80..f14e7b5 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 0000000..a7c93dc
--- /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 ();
+}
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]