diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c index 2902520a9..ee87c37cc 100644 --- a/glib/tests/gdatetime.c +++ b/glib/tests/gdatetime.c @@ -1242,11 +1242,49 @@ test_z (void) tz = g_time_zone_new ("-08:00"); dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0); + p = g_date_time_format (dt, "%z"); g_assert_cmpstr (p, ==, "-0800"); + g_free (p); + + p = g_date_time_format (dt, "%:z"); + g_assert_cmpstr (p, ==, "-08:00"); + g_free (p); + + p = g_date_time_format (dt, "%::z"); + g_assert_cmpstr (p, ==, "-08:00:00"); + g_free (p); + + p = g_date_time_format (dt, "%:::z"); + g_assert_cmpstr (p, ==, "-08"); + g_free (p); + g_date_time_unref (dt); g_time_zone_unref (tz); + + tz = g_time_zone_new ("+00:00"); + dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0); + p = g_date_time_format (dt, "%:::z"); + g_assert_cmpstr (p, ==, "+00"); g_free (p); + g_date_time_unref (dt); + g_time_zone_unref (tz); + + tz = g_time_zone_new ("+08:23"); + dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0); + p = g_date_time_format (dt, "%:::z"); + g_assert_cmpstr (p, ==, "+08:23"); + g_free (p); + g_date_time_unref (dt); + g_time_zone_unref (tz); + + tz = g_time_zone_new ("+08:23:45"); + dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0); + p = g_date_time_format (dt, "%:::z"); + g_assert_cmpstr (p, ==, "+08:23:45"); + g_free (p); + g_date_time_unref (dt); + g_time_zone_unref (tz); } static void