Procházet zdrojové kódy

libdpkg: Add minimal triggers test case for trig_name_is_illegal()

Guillem Jover před 14 roky
rodič
revize
bb854aa57b
3 změnil soubory, kde provedl 50 přidání a 0 odebrání
  1. 1 0
      lib/dpkg/test/.gitignore
  2. 1 0
      lib/dpkg/test/Makefile.am
  3. 48 0
      lib/dpkg/test/t-trigger.c

+ 1 - 0
lib/dpkg/test/.gitignore

@@ -12,5 +12,6 @@ t-progname
 t-string
 t-subproc
 t-test
+t-trigger
 t-varbuf
 t-version

+ 1 - 0
lib/dpkg/test/Makefile.am

@@ -28,6 +28,7 @@ check_PROGRAMS = \
 	t-pkginfo \
 	t-pkg-list \
 	t-pkg-queue \
+	t-trigger \
 	t-mod-db
 
 TESTS = $(check_PROGRAMS)

+ 48 - 0
lib/dpkg/test/t-trigger.c

@@ -0,0 +1,48 @@
+/*
+ * libdpkg - Debian packaging suite library routines
+ * t-trigger.c - test triggers
+ *
+ * Copyright © 2012 Guillem Jover <guillem@debian.org>
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <compat.h>
+
+#include <dpkg/test.h>
+#include <dpkg/triglib.h>
+
+static void
+test_trig_name_is_illegal(void)
+{
+	/* Test invalid trigger names. */
+	test_fail(trig_name_is_illegal("") == NULL);
+	test_fail(trig_name_is_illegal("\a") == NULL);
+	test_fail(trig_name_is_illegal("\t") == NULL);
+	test_fail(trig_name_is_illegal("\200") == NULL);
+	test_fail(trig_name_is_illegal("trigger name") == NULL);
+
+	/* Test valid trigger names. */
+	test_pass(trig_name_is_illegal("TRIGGER") == NULL);
+	test_pass(trig_name_is_illegal("trigger") == NULL);
+	test_pass(trig_name_is_illegal("0123456789") == NULL);
+	test_pass(trig_name_is_illegal("/file/trigger") == NULL);
+}
+
+void
+test(void)
+{
+	test_trig_name_is_illegal();
+}