summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-07-12 22:20:11 -0400
committerMatthias Clasen <mclasen@redhat.com>2019-07-12 22:20:11 -0400
commit66fb86275ddfeee8c2cf6fc3bd7153a080022b82 (patch)
treefad321c65db68d7c1f08a9e2646d01bcb4aa4b0b
parentc31107167192a18130c4b096ef14ccba90ebf01a (diff)
downloadpango-66fb86275ddfeee8c2cf6fc3bd7153a080022b82.tar.gz
Add some tests for coverage
-rw-r--r--tests/meson.build1
-rw-r--r--tests/test-coverage.c83
2 files changed, 84 insertions, 0 deletions
diff --git a/tests/meson.build b/tests/meson.build
index b2d2d3e1..f625a466 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -17,6 +17,7 @@ test_env = [
]
tests = [
+ [ 'test-coverage' ],
[ 'testboundaries' ],
[ 'testboundaries_ucd' ],
[ 'testcolor' ],
diff --git a/tests/test-coverage.c b/tests/test-coverage.c
new file mode 100644
index 00000000..9d6bbb8c
--- /dev/null
+++ b/tests/test-coverage.c
@@ -0,0 +1,83 @@
+/* Pango
+ * test-coverage.c: Test coverage
+ *
+ * Copyright (C) 2019 Red Hat, Inc.
+ *
+ * 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 <pango/pango.h>
+
+static void
+test_coverage_basic (void)
+{
+ PangoCoverage *coverage;
+ int i;
+
+ coverage = pango_coverage_new ();
+
+ for (i = 0; i < 100; i++)
+ g_assert_cmpint (pango_coverage_get (coverage, i), ==, PANGO_COVERAGE_NONE);
+
+ for (i = 0; i < 100; i++)
+ pango_coverage_set (coverage, i, PANGO_COVERAGE_EXACT);
+
+ for (i = 0; i < 100; i++)
+ g_assert_cmpint (pango_coverage_get (coverage, i), ==, PANGO_COVERAGE_EXACT);
+
+ for (i = 0; i < 100; i++)
+ pango_coverage_set (coverage, i, PANGO_COVERAGE_NONE);
+
+ for (i = 0; i < 100; i++)
+ g_assert_cmpint (pango_coverage_get (coverage, i), ==, PANGO_COVERAGE_NONE);
+
+ pango_coverage_unref (coverage);
+}
+
+static void
+test_coverage_copy (void)
+{
+ PangoCoverage *coverage;
+ PangoCoverage *coverage2;
+ int i;
+
+ coverage = pango_coverage_new ();
+
+ for (i = 0; i < 100; i++)
+ pango_coverage_set (coverage, i, PANGO_COVERAGE_EXACT);
+
+ coverage2 = pango_coverage_copy (coverage);
+
+ for (i = 0; i < 50; i++)
+ pango_coverage_set (coverage, i, PANGO_COVERAGE_NONE);
+
+ for (i = 0; i < 100; i++)
+ g_assert_cmpint (pango_coverage_get (coverage2, i), ==, PANGO_COVERAGE_EXACT);
+
+ pango_coverage_unref (coverage);
+ pango_coverage_unref (coverage2);
+}
+
+int
+main (int argc, char *argv[])
+{
+ g_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/coverage/basic", test_coverage_basic);
+ g_test_add_func ("/coverage/copy", test_coverage_copy);
+
+ return g_test_run ();
+}