Add tests for new '%z' g_date_time_format extensions
authorKalev Lember <kalevlember@gmail.com>
Fri, 30 Aug 2013 19:58:49 +0000 (21:58 +0200)
committerKalev Lember <kalevlember@gmail.com>
Sat, 31 Aug 2013 11:34:41 +0000 (13:34 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=707151

glib/tests/gdatetime.c

index 2902520..ee87c37 100644 (file)
@@ -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