[librsvg: 3/29] Test rsvg_pixbuf_from_file()



commit 51203f71418c0b77d1f4b036b5a2da767c8a7938
Author: Federico Mena Quintero <federico gnome org>
Date:   Tue Feb 6 09:32:11 2018 -0600

    Test rsvg_pixbuf_from_file()

 .gitignore                     |  5 ++++-
 tests/api.c                    | 44 +++++++++++++++++++++++++++++++++++++++++-
 tests/fixtures/api/example.svg |  5 +++++
 3 files changed, 52 insertions(+), 2 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6a79254..9fb70ff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,8 +59,11 @@ rust/src/*~
 rust/src/parse_transform.rs
 tests/dimensions
 tests/pdiff/perceptualdiff
-tests/rsvg-test
+tests/api
 tests/crash
+tests/loading
+tests/render-crash
+tests/rsvg-test
 tests/styles
 tests/*.log
 tests/*.trs
diff --git a/tests/api.c b/tests/api.c
index 452424c..80d174c 100644
--- a/tests/api.c
+++ b/tests/api.c
@@ -5,6 +5,8 @@
 
 #include <stdio.h>
 #include <glib.h>
+
+#define RSVG_DISABLE_DEPRECATION_WARNINGS /* so we can test deprecated API */
 #include "rsvg.h"
 #include "test-utils.h"
 
@@ -39,7 +41,6 @@ rsvg_set_default_dpi
 rsvg_set_default_dpi_x_y
 rsvg_handle_set_dpi
 rsvg_handle_set_dpi_x_y
-rsvg_pixbuf_from_file
 rsvg_pixbuf_from_file_at_zoom
 rsvg_pixbuf_from_file_at_size
 rsvg_pixbuf_from_file_at_max_size
@@ -63,12 +64,53 @@ handle_has_gtype (void)
     g_object_unref (handle);
 }
 
+static char *
+get_test_filename () {
+    return g_build_filename (test_utils_get_test_data_path (),
+                             "api",
+                             "example.svg",
+                             NULL);
+}
+
+#define EXAMPLE_WIDTH 123
+#define EXAMPLE_HEIGHT 456
+
+#define EXAMPLE_ONE_ID "one"
+#define EXAMPLE_TWO_ID "two"
+
+#define EXAMPLE_ONE_X 0
+#define EXAMPLE_ONE_Y 0
+#define EXAMPLE_ONE_W 123
+#define EXAMPLE_ONE_H 228
+
+#define EXAMPLE_TWO_X 0
+#define EXAMPLE_TWO_Y 228
+#define EXAMPLE_TWO_W 123
+#define EXAMPLE_TWO_H 228
+
+static void
+pixbuf_from_file (void)
+{
+    char *filename = get_test_filename ();
+    GError *error = NULL;
+    GdkPixbuf *pixbuf = rsvg_pixbuf_from_file (filename, &error);
+    g_free (filename);
+
+    g_assert (pixbuf != NULL);
+    g_assert (error == NULL);
+    g_assert (gdk_pixbuf_get_width (pixbuf) == EXAMPLE_WIDTH);
+    g_assert (gdk_pixbuf_get_height (pixbuf) == EXAMPLE_HEIGHT);
+
+    g_object_unref (pixbuf);
+}
+
 int
 main (int argc, char **argv)
 {
     g_test_init (&argc, &argv, NULL);
 
     g_test_add_func ("/api/handle_has_gtype", handle_has_gtype);
+    g_test_add_func ("/api/pixbuf_from_file", pixbuf_from_file);
 
     return g_test_run ();
 }
diff --git a/tests/fixtures/api/example.svg b/tests/fixtures/api/example.svg
new file mode 100644
index 0000000..986c116
--- /dev/null
+++ b/tests/fixtures/api/example.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg"; width="123" height="456" viewBox="0 0 123 456">
+  <rect id="one" x="0" y="0" width="123" height="228" fill="rgb(0,255,0)"/>
+  <rect id="two" x="0" y="228" width="123" height="228" fill="rgb(0,0,255)"/>
+</svg>


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