mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
zoom-manager: add zoom manager to simplify zoom control
This will give us a single place to deal with the mechanics of how zoom works, and then our UI code can simply apply the value as necessary.
This commit is contained in:
@ -47,6 +47,12 @@ test_model_filter_SOURCES = test-model-filter.c
|
||||
test_model_filter_CFLAGS = $(test_ui_cflags)
|
||||
test_model_filter_LDADD = $(test_ui_libs)
|
||||
|
||||
TESTS += test-zoom
|
||||
TEST_PROGS += test-zoom
|
||||
test_zoom_SOURCES = test-zoom.c
|
||||
test_zoom_CFLAGS = $(test_ui_cflags)
|
||||
test_zoom_LDADD = $(test_ui_libs)
|
||||
|
||||
endif
|
||||
|
||||
TEST_ENVIRONMENT = \
|
||||
|
||||
46
tests/test-zoom.c
Normal file
46
tests/test-zoom.c
Normal file
@ -0,0 +1,46 @@
|
||||
#include "sp-zoom-manager.h"
|
||||
|
||||
static void
|
||||
test_zoom_manager (void)
|
||||
{
|
||||
SpZoomManager *zoom;
|
||||
|
||||
zoom = sp_zoom_manager_new ();
|
||||
g_assert_cmpfloat (1.0, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_in (zoom);
|
||||
g_assert_cmpfloat (1.1, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_in (zoom);
|
||||
g_assert_cmpfloat (1.2, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_in (zoom);
|
||||
g_assert_cmpfloat (1.33, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (1.2, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (1.1, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (1.0, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (.9, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (.8, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (.67, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (.5, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (.3, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
sp_zoom_manager_zoom_out (zoom);
|
||||
g_assert_cmpfloat (.3 / 2, ==, sp_zoom_manager_get_zoom (zoom));
|
||||
|
||||
g_object_unref (zoom);
|
||||
}
|
||||
|
||||
|
||||
gint
|
||||
main (gint argc,
|
||||
gchar *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
g_test_add_func ("/ZoomManager/basic", test_zoom_manager);
|
||||
return g_test_run ();
|
||||
}
|
||||
Reference in New Issue
Block a user