mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
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
This commit is contained in:
parent
f9d0135a90
commit
3356934db5
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user