[babl] add n_components casting test
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl] add n_components casting test
- Date: Mon, 28 Apr 2014 13:55:45 +0000 (UTC)
commit f366e8cde2ed8b9b42d4430088e2c007efc39da0
Author: Øyvind Kolås <pippin gimp org>
Date: Mon Apr 28 15:49:39 2014 +0200
add n_components casting test
tests/Makefile.am | 1 +
tests/n_components_cast.c | 66 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 709bd84..2733a28 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -19,6 +19,7 @@ C_TESTS = \
extract \
nop \
n_components \
+ n_components_cast \
models \
cairo-RGB24 \
$(CONCURRENCY_STRESS_TEST)
diff --git a/tests/n_components_cast.c b/tests/n_components_cast.c
new file mode 100644
index 0000000..307431a
--- /dev/null
+++ b/tests/n_components_cast.c
@@ -0,0 +1,66 @@
+/* babl - dynamically extendable universal pixel conversion library.
+ * Copyright (C) 2005, Øyvind Kolås.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+#include <stdlib.h>
+#include <stdio.h>
+#include <assert.h>
+#include "babl.h"
+#include "common.inc"
+
+int
+main (int argc,
+ char **argv)
+{
+ int OK = 1;
+ babl_init ();
+ {
+ unsigned char in[][4] = {{0,1,2,3 },{4,5,6,7 },{8,9,10,11 }};
+ unsigned char out1[][1] = {{0}, {4}, {8} };
+ unsigned char out2[][2] = {{0,1}, {4,5}, {8,9} };
+ unsigned char out4[][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11} };
+ //unsigned char out5[][5] = {{0,1,2,3,0}, {4,5,6,7,0},{8,9,10,11,0} };
+
+ CHECK_CONV("RGBAu8 to n1'", unsigned char,
+ babl_format("R'G'B'A u8"),
+ babl_format_n (babl_type ("u8"), 1),
+ in, out1);
+
+
+ CHECK_CONV("RGBAu8 to n2'", unsigned char,
+ babl_format("R'G'B'A u8"),
+ babl_format_n (babl_type ("u8"), 2),
+ in, out2);
+
+
+ CHECK_CONV("RGBAu8 to n4'", unsigned char,
+ babl_format("R'G'B'A u8"),
+ babl_format_n (babl_type ("u8"), 4),
+ in, out4);
+
+ /* XXX: uncomment this when it passes
+ CHECK_CONV("RGBAu8 to n5'", unsigned char,
+ babl_format("R'G'B'A u8"),
+ babl_format_n (babl_type ("u8"), 5),
+ in, out5);
+ */
+ }
+
+ babl_exit ();
+ return !OK;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]