summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <pwithnall@endlessos.org>2020-11-21 22:26:29 +0000
committerPhilip Withnall <pwithnall@endlessos.org>2020-11-21 23:11:23 +0000
commit3356934db5131cfb72ab3fd01ae6f4bad2d6ca50 (patch)
tree192dd7441dd51d1072740462e87c334aeed285c7
parentf9d0135a90a1995b850148327e72ec886f428689 (diff)
downloadglib-3356934db5131cfb72ab3fd01ae6f4bad2d6ca50.tar.gz
gtimezone: Deprecate g_time_zone_new()
Use `g_time_zone_new_identifier()` instead so you can get error checking. Adapt the tests to match. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Helps: #553
-rw-r--r--glib/gtimezone.c16
-rw-r--r--glib/gtimezone.h2
-rw-r--r--glib/tests/autoptr.c2
-rw-r--r--glib/tests/gdatetime.c132
4 files changed, 99 insertions, 53 deletions
diff --git a/glib/gtimezone.c b/glib/gtimezone.c
index 3ec5773dd..4b4324222 100644
--- a/glib/gtimezone.c
+++ b/glib/gtimezone.c
@@ -1611,6 +1611,9 @@ parse_footertz (const gchar *footer, size_t footerlen)
* g_time_zone_new_identifier().
*
* Returns: (transfer full) (not nullable): the requested timezone
+ * Deprecated: 2.68: Use g_time_zone_new_identifier() instead, as it provides
+ * error reporting. Change your code to handle a potentially %NULL return
+ * value.
*
* Since: 2.26
**/
@@ -1875,7 +1878,8 @@ g_time_zone_new_utc (void)
if (g_once_init_enter (&initialised))
{
- utc = g_time_zone_new ("UTC");
+ utc = g_time_zone_new_identifier ("UTC");
+ g_assert (utc != NULL);
g_once_init_leave (&initialised, TRUE);
}
@@ -1912,7 +1916,9 @@ g_time_zone_new_local (void)
g_clear_pointer (&tz_local, g_time_zone_unref);
if (tz_local == NULL)
- tz_local = g_time_zone_new (tzenv);
+ tz_local = g_time_zone_new_identifier (tzenv);
+ if (tz_local == NULL)
+ tz_local = g_time_zone_new_utc ();
tz = g_time_zone_ref (tz_local);
@@ -1943,13 +1949,15 @@ g_time_zone_new_offset (gint32 seconds)
/* Seemingly, we should be using @seconds directly to set the
* #TransitionInfo.gmt_offset to avoid all this string building and parsing.
* However, we always need to set the #GTimeZone.name to a constructed
- * string anyway, so we might as well reuse its code. */
+ * string anyway, so we might as well reuse its code.
+ * g_time_zone_new_identifier() should never fail in this situation. */
identifier = g_strdup_printf ("%c%02u:%02u:%02u",
(seconds >= 0) ? '+' : '-',
(ABS (seconds) / 60) / 60,
(ABS (seconds) / 60) % 60,
ABS (seconds) % 60);
- tz = g_time_zone_new (identifier);
+ tz = g_time_zone_new_identifier (identifier);
+ g_assert (tz != NULL);
g_free (identifier);
g_assert (g_time_zone_get_offset (tz, 0) == seconds);
diff --git a/glib/gtimezone.h b/glib/gtimezone.h
index 5ff382f27..d68a76d3e 100644
--- a/glib/gtimezone.h
+++ b/glib/gtimezone.h
@@ -53,7 +53,7 @@ typedef enum
G_TIME_TYPE_UNIVERSAL
} GTimeType;
-GLIB_AVAILABLE_IN_ALL
+GLIB_DEPRECATED_IN_2_68_FOR (g_time_zone_new_identifier)
GTimeZone * g_time_zone_new (const gchar *identifier);
GLIB_AVAILABLE_IN_2_68
GTimeZone * g_time_zone_new_identifier (const gchar *identifier);
diff --git a/glib/tests/autoptr.c b/glib/tests/autoptr.c
index cd510ed16..59471d02f 100644
--- a/glib/tests/autoptr.c
+++ b/glib/tests/autoptr.c
@@ -537,7 +537,7 @@ test_g_timer (void)
static void
test_g_time_zone (void)
{
- g_autoptr(GTimeZone) val = g_time_zone_new ("UTC");
+ g_autoptr(GTimeZone) val = g_time_zone_new_utc ();
g_assert_nonnull (val);
}
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index 9b17b00ea..132f7304c 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -234,7 +234,8 @@ test_GDateTime_equal (void)
g_date_time_unref (dt2);
/* UTC-0300 and not in DST */
- tz = g_time_zone_new ("-03:00");
+ tz = g_time_zone_new_identifier ("-03:00");
+ g_assert_nonnull (tz);
dt1 = g_date_time_new (tz, 2010, 5, 24, 8, 0, 0);
g_time_zone_unref (tz);
g_assert_cmpint (g_date_time_get_utc_offset (dt1) / G_USEC_PER_SEC, ==, (-3 * 3600));
@@ -247,10 +248,11 @@ test_GDateTime_equal (void)
/* America/Recife is in UTC-0300 */
#ifdef G_OS_UNIX
- tz = g_time_zone_new ("America/Recife");
+ tz = g_time_zone_new_identifier ("America/Recife");
#elif defined G_OS_WIN32
- tz = g_time_zone_new ("E. South America Standard Time");
+ tz = g_time_zone_new_identifier ("E. South America Standard Time");
#endif
+ g_assert_nonnull (tz);
dt1 = g_date_time_new (tz, 2010, 5, 24, 8, 0, 0);
g_time_zone_unref (tz);
g_assert_cmpint (g_date_time_get_utc_offset (dt1) / G_USEC_PER_SEC, ==, (-3 * 3600));
@@ -1174,10 +1176,11 @@ test_GDateTime_new_full (void)
g_date_time_unref (dt);
#ifdef G_OS_UNIX
- tz = g_time_zone_new ("America/Tijuana");
+ tz = g_time_zone_new_identifier ("America/Tijuana");
#elif defined G_OS_WIN32
- tz = g_time_zone_new ("Pacific Standard Time");
+ tz = g_time_zone_new_identifier ("Pacific Standard Time");
#endif
+ g_assert_nonnull (tz);
dt = g_date_time_new (tz, 2010, 11, 24, 8, 4, 0);
dt_tz = g_date_time_get_timezone (dt);
@@ -1938,10 +1941,11 @@ test_GDateTime_dst (void)
/* this date has the DST state set for Europe/London */
#ifdef G_OS_UNIX
- tz = g_time_zone_new ("Europe/London");
+ tz = g_time_zone_new_identifier ("Europe/London");
#elif defined G_OS_WIN32
- tz = g_time_zone_new ("GMT Standard Time");
+ tz = g_time_zone_new_identifier ("GMT Standard Time");
#endif
+ g_assert_nonnull (tz);
dt1 = g_date_time_new (tz, 2009, 8, 15, 3, 0, 1);
g_assert (g_date_time_is_daylight_savings (dt1));
g_assert_cmpint (g_date_time_get_utc_offset (dt1) / G_USEC_PER_SEC, ==, 3600);
@@ -2123,7 +2127,8 @@ test_z (void)
g_test_bug ("http://bugzilla.gnome.org/642935");
- tz = g_time_zone_new ("-08:00");
+ tz = g_time_zone_new_identifier ("-08:00");
+ g_assert_nonnull (tz);
dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0);
p = g_date_time_format (dt, "%z");
@@ -2145,7 +2150,8 @@ test_z (void)
g_date_time_unref (dt);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("+00:00");
+ tz = g_time_zone_new_identifier ("+00:00");
+ g_assert_nonnull (tz);
dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0);
p = g_date_time_format (dt, "%:::z");
g_assert_cmpstr (p, ==, "+00");
@@ -2153,7 +2159,8 @@ test_z (void)
g_date_time_unref (dt);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("+08:23");
+ tz = g_time_zone_new_identifier ("+08:23");
+ g_assert_nonnull (tz);
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");
@@ -2161,7 +2168,8 @@ test_z (void)
g_date_time_unref (dt);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("+08:23:45");
+ tz = g_time_zone_new_identifier ("+08:23:45");
+ g_assert_nonnull (tz);
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");
@@ -2169,7 +2177,8 @@ test_z (void)
g_date_time_unref (dt);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("-00:15");
+ tz = g_time_zone_new_identifier ("-00:15");
+ g_assert_nonnull (tz);
dt = g_date_time_new (tz, 1, 1, 1, 0, 0, 0);
p = g_date_time_format (dt, "%z");
@@ -2214,10 +2223,11 @@ test_6_days_until_end_of_the_month (void)
* - https://tools.ietf.org/id/draft-murchison-tzdist-tzif-15.html#rfc.section.3.3
* - https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
*/
- tz = g_time_zone_new ("CET-1CEST,M3.5.0,M10.5.0/3");
+ tz = g_time_zone_new_identifier ("CET-1CEST,M3.5.0,M10.5.0/3");
#elif defined (G_OS_WIN32)
- tz = g_time_zone_new ("Romance Standard Time");
+ tz = g_time_zone_new_identifier ("Romance Standard Time");
#endif
+ g_assert_nonnull (tz);
dt = g_date_time_new (tz, 2020, 10, 5, 1, 1, 1);
p = g_date_time_format (dt, "%Y-%m-%d %H:%M:%S%z");
@@ -2320,10 +2330,11 @@ test_find_interval (void)
gint i1, i2;
#ifdef G_OS_UNIX
- tz = g_time_zone_new ("America/Toronto");
+ tz = g_time_zone_new_identifier ("America/Toronto");
#elif defined G_OS_WIN32
- tz = g_time_zone_new ("Eastern Standard Time");
+ tz = g_time_zone_new_identifier ("Eastern Standard Time");
#endif
+ g_assert_nonnull (tz);
dt = g_date_time_new_utc (2010, 11, 7, 1, 30, 0);
u = g_date_time_to_unix (dt);
@@ -2353,10 +2364,11 @@ test_adjust_time (void)
gint i1, i2;
#ifdef G_OS_UNIX
- tz = g_time_zone_new ("America/Toronto");
+ tz = g_time_zone_new_identifier ("America/Toronto");
#elif defined G_OS_WIN32
- tz = g_time_zone_new ("Eastern Standard Time");
+ tz = g_time_zone_new_identifier ("Eastern Standard Time");
#endif
+ g_assert_nonnull (tz);
dt = g_date_time_new_utc (2010, 11, 7, 1, 30, 0);
u = g_date_time_to_unix (dt);
u2 = u;
@@ -2388,7 +2400,9 @@ test_no_header (void)
{
GTimeZone *tz;
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
tz = g_time_zone_new ("blabla");
+ G_GNUC_END_IGNORE_DEPRECATIONS
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "UTC");
@@ -2415,7 +2429,9 @@ test_posix_parse (void)
GDateTime *gdt1, *gdt2;
/* Check that an unknown zone name falls back to UTC. */
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
tz = g_time_zone_new ("nonexistent");
+ G_GNUC_END_IGNORE_DEPRECATIONS
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "UTC");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 0);
@@ -2423,7 +2439,9 @@ test_posix_parse (void)
g_time_zone_unref (tz);
/* An existent zone name should not fall back to UTC. */
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
tz = g_time_zone_new ("PST8");
+ G_GNUC_END_IGNORE_DEPRECATIONS
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "PST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, - 8 * 3600);
@@ -2433,7 +2451,8 @@ test_posix_parse (void)
/* This fails rules_from_identifier on Unix (though not on Windows)
* but passes anyway because PST8PDT is a zone name.
*/
- tz = g_time_zone_new ("PST8PDT");
+ tz = g_time_zone_new_identifier ("PST8PDT");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8PDT");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "PST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, - 8 * 3600);
@@ -2443,8 +2462,9 @@ test_posix_parse (void)
g_assert (g_time_zone_is_dst (tz, 1));
g_time_zone_unref (tz);
- tz = g_time_zone_new ("PST8PDT6:32:15");
+ tz = g_time_zone_new_identifier ("PST8PDT6:32:15");
#ifdef G_OS_WIN32
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8PDT6:32:15");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "PST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, - 8 * 3600);
@@ -2461,14 +2481,12 @@ test_posix_parse (void)
g_date_time_unref (gdt1);
g_date_time_unref (gdt2);
#else
- g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
- g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "UTC");
- g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 0);
- g_assert (!g_time_zone_is_dst (tz, 0));
+ g_assert_null (tz);
#endif
- g_time_zone_unref (tz);
+ g_clear_pointer (&tz, g_time_zone_unref);
- tz = g_time_zone_new ("NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0");
+ tz = g_time_zone_new_identifier ("NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "NZST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 12 * 3600);
@@ -2494,7 +2512,8 @@ test_posix_parse (void)
g_date_time_unref (gdt2);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("NZST-12:00:00NZDT-13:00:00,279,76");
+ tz = g_time_zone_new_identifier ("NZST-12:00:00NZDT-13:00:00,279,76");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "NZST-12:00:00NZDT-13:00:00,279,76");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "NZST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 12 * 3600);
@@ -2520,7 +2539,8 @@ test_posix_parse (void)
g_date_time_unref (gdt2);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("NZST-12:00:00NZDT-13:00:00,J279,J76");
+ tz = g_time_zone_new_identifier ("NZST-12:00:00NZDT-13:00:00,J279,J76");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "NZST-12:00:00NZDT-13:00:00,J279,J76");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "NZST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 12 * 3600);
@@ -2546,7 +2566,8 @@ test_posix_parse (void)
g_date_time_unref (gdt2);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("NZST-12:00:00NZDT-13:00:00,M10.1.0/07:00,M3.3.0/07:00");
+ tz = g_time_zone_new_identifier ("NZST-12:00:00NZDT-13:00:00,M10.1.0/07:00,M3.3.0/07:00");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "NZST-12:00:00NZDT-13:00:00,M10.1.0/07:00,M3.3.0/07:00");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "NZST");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 12 * 3600);
@@ -2596,13 +2617,15 @@ test_posix_parse (void)
g_date_time_unref (gdt2);
g_time_zone_unref (tz);
- tz = g_time_zone_new ("VIR-00:30");
+ tz = g_time_zone_new_identifier ("VIR-00:30");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "VIR-00:30");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "VIR");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, (30 * 60));
g_assert_false (g_time_zone_is_dst (tz, 0));
- tz = g_time_zone_new ("VIR-00:30VID,0/00:00:00,365/23:59:59");
+ tz = g_time_zone_new_identifier ("VIR-00:30VID,0/00:00:00,365/23:59:59");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "VIR-00:30VID,0/00:00:00,365/23:59:59");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "VIR");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, (30 * 60));
@@ -2611,7 +2634,8 @@ test_posix_parse (void)
g_assert_cmpint (g_time_zone_get_offset (tz, 1), ==, (90 * 60));
g_assert_true (g_time_zone_is_dst (tz, 1));
- tz = g_time_zone_new ("VIR-02:30VID,0/00:00:00,365/23:59:59");
+ tz = g_time_zone_new_identifier ("VIR-02:30VID,0/00:00:00,365/23:59:59");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "VIR-02:30VID,0/00:00:00,365/23:59:59");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "VIR");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, (150 * 60));
@@ -2620,7 +2644,8 @@ test_posix_parse (void)
g_assert_cmpint (g_time_zone_get_offset (tz, 1), ==, (210 * 60));
g_assert_true (g_time_zone_is_dst (tz, 1));
- tz = g_time_zone_new ("VIR-02:30VID-04:30,0/00:00:00,365/23:59:59");
+ tz = g_time_zone_new_identifier ("VIR-02:30VID-04:30,0/00:00:00,365/23:59:59");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "VIR-02:30VID-04:30,0/00:00:00,365/23:59:59");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "VIR");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, (150 * 60));
@@ -2629,7 +2654,8 @@ test_posix_parse (void)
g_assert_cmpint (g_time_zone_get_offset (tz, 1), ==, (270 * 60));
g_assert_true (g_time_zone_is_dst (tz, 1));
- tz = g_time_zone_new ("VIR-12:00VID-13:00,0/00:00:00,365/23:59:59");
+ tz = g_time_zone_new_identifier ("VIR-12:00VID-13:00,0/00:00:00,365/23:59:59");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "VIR-12:00VID-13:00,0/00:00:00,365/23:59:59");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "VIR");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, (720 * 60));
@@ -2647,7 +2673,8 @@ test_GDateTime_floating_point (void)
g_test_bug ("http://bugzilla.gnome.org/697715");
- tz = g_time_zone_new ("-03:00");
+ tz = g_time_zone_new_identifier ("-03:00");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "-03:00");
dt = g_date_time_new (tz, 2010, 5, 24, 8, 0, 1.000001);
g_time_zone_unref (tz);
@@ -2669,7 +2696,8 @@ test_identifier (void)
const char *recife_tz = "America/Recife";
#endif
- tz = g_time_zone_new ("UTC");
+ tz = g_time_zone_new_identifier ("UTC");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
g_time_zone_unref (tz);
@@ -2677,21 +2705,27 @@ test_identifier (void)
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
g_time_zone_unref (tz);
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
tz = g_time_zone_new ("some rubbish");
+ G_GNUC_END_IGNORE_DEPRECATIONS
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
g_time_zone_unref (tz);
- tz = g_time_zone_new ("Z");
+ tz = g_time_zone_new_identifier ("Z");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "Z");
g_time_zone_unref (tz);
- tz = g_time_zone_new ("+03:15");
+ tz = g_time_zone_new_identifier ("+03:15");
+ g_assert_nonnull (tz);
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "+03:15");
g_time_zone_unref (tz);
/* System timezone. We can’t change this, but we can at least assert that
* the identifier is non-NULL and non-empty. */
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
tz = g_time_zone_new (NULL);
+ G_GNUC_END_IGNORE_DEPRECATIONS
g_test_message ("System time zone identifier: %s", g_time_zone_get_identifier (tz));
g_assert_nonnull (g_time_zone_get_identifier (tz));
g_assert_cmpstr (g_time_zone_get_identifier (tz), !=, "");
@@ -2777,10 +2811,8 @@ test_time_zone_parse_rfc8536 (void)
path = g_test_build_filename (G_TEST_DIST, "time-zones", test_files[i], NULL);
g_assert_true (g_path_is_absolute (path));
- tz = g_time_zone_new (path);
+ tz = g_time_zone_new_identifier (path);
g_assert_nonnull (tz);
- /* UTC will be loaded as a fallback if parsing fails */
- g_assert_cmpstr (g_time_zone_get_identifier (tz), !=, "UTC");
g_time_zone_unref (tz);
g_free (path);
}
@@ -2797,13 +2829,17 @@ test_time_zone_caching (void)
/* Check a specific (arbitrary) timezone. These are only cached while third
* party code holds a ref to at least one instance. */
#ifdef G_OS_UNIX
- tz1 = g_time_zone_new ("Europe/London");
- tz2 = g_time_zone_new ("Europe/London");
+ tz1 = g_time_zone_new_identifier ("Europe/London");
+ g_assert_nonnull (tz1);
+ tz2 = g_time_zone_new_identifier ("Europe/London");
+ g_assert_nonnull (tz2);
g_time_zone_unref (tz1);
g_time_zone_unref (tz2);
#elif defined G_OS_WIN32
- tz1 = g_time_zone_new ("GMT Standard Time");
- tz2 = g_time_zone_new ("GMT Standard Time");
+ tz1 = g_time_zone_new_identifier ("GMT Standard Time");
+ g_assert_nonnull (tz1);
+ tz2 = g_time_zone_new_identifier ("GMT Standard Time");
+ g_assert_nonnull (tz2);
g_time_zone_unref (tz1);
g_time_zone_unref (tz2);
#endif
@@ -2814,9 +2850,11 @@ test_time_zone_caching (void)
/* Check the default timezone, local and UTC. These are cached internally in
* GLib, so should persist even after the last third party reference is
* dropped. */
- tz1 = g_time_zone_new (NULL);
+ tz1 = g_time_zone_new_identifier (NULL);
+ g_assert_nonnull (tz1);
g_time_zone_unref (tz1);
- tz2 = g_time_zone_new (NULL);
+ tz2 = g_time_zone_new_identifier (NULL);
+ g_assert_nonnull (tz2);
g_time_zone_unref (tz2);
g_assert_true (tz1 == tz2);