[libshumate] tests: Add some tests for ShumateMarkerLayer
- From: Corentin Noël <corentinnoel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libshumate] tests: Add some tests for ShumateMarkerLayer
- Date: Wed, 10 Mar 2021 21:03:56 +0000 (UTC)
commit 68a9a45f555b0ec00898807238297889addfab8b
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Wed Mar 10 08:55:46 2021 -0300
tests: Add some tests for ShumateMarkerLayer
Some simple stuff like creating a marker layer, and adding and
removing markers.
tests/marker-layer.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/meson.build | 1 +
2 files changed, 74 insertions(+)
---
diff --git a/tests/marker-layer.c b/tests/marker-layer.c
new file mode 100644
index 0000000..a6a6fe1
--- /dev/null
+++ b/tests/marker-layer.c
@@ -0,0 +1,73 @@
+#include <gtk/gtk.h>
+#include <shumate/shumate.h>
+
+static void
+test_marker_layer_new (void)
+{
+ ShumateMarkerLayer *marker_layer;
+ ShumateViewport *viewport;
+
+ viewport = shumate_viewport_new ();
+ marker_layer = shumate_marker_layer_new (viewport);
+ g_assert_nonnull (marker_layer);
+ g_assert_true (SHUMATE_IS_MARKER_LAYER (marker_layer));
+
+ g_object_unref (viewport);
+}
+
+static void
+test_marker_layer_add_marker (void)
+{
+ ShumateMarkerLayer *marker_layer;
+ ShumateViewport *viewport;
+ ShumateMarker *point;
+
+ viewport = shumate_viewport_new ();
+ marker_layer = shumate_marker_layer_new (viewport);
+
+ point = shumate_point_new ();
+ g_assert_null (gtk_widget_get_parent (GTK_WIDGET (point)));
+
+ shumate_marker_layer_add_marker (marker_layer, point);
+ g_assert_true (gtk_widget_get_parent (GTK_WIDGET (point)) == GTK_WIDGET (marker_layer));
+
+ g_object_unref (viewport);
+}
+
+static void
+test_marker_layer_remove_marker (void)
+{
+ ShumateMarkerLayer *marker_layer;
+ ShumateViewport *viewport;
+ ShumateMarker *point;
+
+ viewport = shumate_viewport_new ();
+ marker_layer = shumate_marker_layer_new (viewport);
+
+ point = shumate_point_new ();
+ shumate_marker_layer_add_marker (marker_layer, point);
+ g_assert_true (gtk_widget_get_parent (GTK_WIDGET (point)) == GTK_WIDGET (marker_layer));
+
+ // Add a ref here so that point isn't completely destroyed before checking
+ g_object_ref_sink (point);
+
+ shumate_marker_layer_remove_marker (marker_layer, point);
+ g_assert_null (gtk_widget_get_parent (GTK_WIDGET (point)));
+
+ g_object_unref (point);
+
+ g_object_unref (viewport);
+}
+
+int
+main (int argc, char *argv[])
+{
+ g_test_init (&argc, &argv, NULL);
+ gtk_init ();
+
+ g_test_add_func ("/marker-layer/new", test_marker_layer_new);
+ g_test_add_func ("/marker-layer/add-marker", test_marker_layer_add_marker);
+ g_test_add_func ("/marker-layer/remove-marker", test_marker_layer_remove_marker);
+
+ return g_test_run ();
+}
diff --git a/tests/meson.build b/tests/meson.build
index e3fd945..5c9122e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -10,6 +10,7 @@ tests = [
'coordinate',
'marker',
'view',
+ 'marker-layer',
'viewport',
]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]