mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-04-23 14:01:26 +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:
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