2011-02-02 21:52:15 +01:00
|
|
|
#include <config.h>
|
|
|
|
#include <locale.h>
|
2018-05-09 16:16:25 -03:00
|
|
|
#include <gtk/gtk.h>
|
2011-02-02 21:52:15 +01:00
|
|
|
|
2018-04-03 19:26:57 +02:00
|
|
|
#include "cc-datetime-resources.h"
|
2010-09-29 13:28:17 +01:00
|
|
|
#include "tz.h"
|
|
|
|
|
2016-06-10 14:33:32 +02:00
|
|
|
static void
|
|
|
|
test_timezone_gfx (gconstpointer data)
|
2010-09-29 13:28:17 +01:00
|
|
|
{
|
2018-05-09 16:16:25 -03:00
|
|
|
g_autoptr(TzDB) db = NULL;
|
|
|
|
GPtrArray *locs;
|
|
|
|
const char *pixmap_dir;
|
|
|
|
guint i;
|
2010-09-29 13:28:17 +01:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
pixmap_dir = data;
|
|
|
|
db = tz_load_db ();
|
|
|
|
locs = tz_get_locations (db);
|
2010-09-29 13:28:17 +01:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
for (i = 0; i < locs->len ; i++)
|
|
|
|
{
|
|
|
|
g_autofree gchar *filename = NULL;
|
|
|
|
g_autofree gchar *path = NULL;
|
|
|
|
TzLocation *location;
|
|
|
|
TzInfo *info;
|
|
|
|
gdouble selected_offset;
|
|
|
|
gchar buf[16];
|
2010-09-29 13:28:17 +01:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
location = locs->pdata[i];
|
|
|
|
info = tz_info_from_location (location);
|
|
|
|
selected_offset = tz_location_get_utc_offset (location) / (60.0 * 60.0) + (info->daylight ? -1.0 : 0.0);
|
2018-08-23 22:01:21 +02:00
|
|
|
tz_info_free (info);
|
2010-09-29 13:28:17 +01:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
filename = g_strdup_printf ("timezone_%s.png", g_ascii_formatd (buf, sizeof (buf), "%g", selected_offset));
|
|
|
|
path = g_build_filename (pixmap_dir, filename, NULL);
|
|
|
|
|
|
|
|
if (!g_file_test (path, G_FILE_TEST_IS_REGULAR))
|
|
|
|
{
|
|
|
|
g_message ("File '%s' missing for zone '%s'", filename, location->zone);
|
|
|
|
g_test_fail ();
|
|
|
|
}
|
|
|
|
}
|
2016-06-10 14:33:32 +02:00
|
|
|
}
|
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
gint
|
|
|
|
main (gint argc,
|
|
|
|
gchar **argv)
|
2016-06-10 14:33:32 +02:00
|
|
|
{
|
2018-05-09 16:16:25 -03:00
|
|
|
gchar *pixmap_dir;
|
2016-06-10 14:33:32 +02:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
setlocale (LC_ALL, "");
|
|
|
|
g_test_init (&argc, &argv, NULL);
|
2016-06-10 14:33:32 +02:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
g_setenv ("G_DEBUG", "fatal_warnings", FALSE);
|
2016-06-10 14:33:32 +02:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
g_resources_register (cc_datetime_get_resource ());
|
2018-04-03 19:26:57 +02:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
if (argc == 2)
|
|
|
|
{
|
|
|
|
pixmap_dir = g_strdup (argv[1]);
|
|
|
|
}
|
|
|
|
else if (argc == 1)
|
|
|
|
{
|
|
|
|
pixmap_dir = g_strdup (SRCDIR "/data/");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
g_message ("Usage: %s [PIXMAP DIRECTORY]", argv[0]);
|
|
|
|
return 1;
|
|
|
|
}
|
2016-06-10 14:33:32 +02:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
g_test_add_data_func ("/datetime/timezone-gfx", pixmap_dir, test_timezone_gfx);
|
2010-09-29 13:28:17 +01:00
|
|
|
|
2018-05-09 16:16:25 -03:00
|
|
|
return g_test_run ();
|
2010-09-29 13:28:17 +01:00
|
|
|
}
|