mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 23:16:14 +01:00
Add tests for g_date_get_iso8601_week_of_year().
2005-03-28 Matthias Clasen <mclasen@redhat.com> * tests/date-test.c: * tests/testgdate.c: Add tests for g_date_get_iso8601_week_of_year(). * glib/gdate.c (g_date_get_iso8601_week_of_year): Fix the calculation. (#169858, Jon-Kare Hellan)
This commit is contained in:
parent
acd35e1044
commit
8e9a4d50df
@ -1,3 +1,12 @@
|
|||||||
|
2005-03-28 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/date-test.c:
|
||||||
|
* tests/testgdate.c: Add tests for
|
||||||
|
g_date_get_iso8601_week_of_year().
|
||||||
|
|
||||||
|
* glib/gdate.c (g_date_get_iso8601_week_of_year):
|
||||||
|
Fix the calculation. (#169858, Jon-Kare Hellan)
|
||||||
|
|
||||||
2005-03-27 Tor Lillqvist <tml@novell.com>
|
2005-03-27 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2005-03-28 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/date-test.c:
|
||||||
|
* tests/testgdate.c: Add tests for
|
||||||
|
g_date_get_iso8601_week_of_year().
|
||||||
|
|
||||||
|
* glib/gdate.c (g_date_get_iso8601_week_of_year):
|
||||||
|
Fix the calculation. (#169858, Jon-Kare Hellan)
|
||||||
|
|
||||||
2005-03-27 Tor Lillqvist <tml@novell.com>
|
2005-03-27 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2005-03-28 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/date-test.c:
|
||||||
|
* tests/testgdate.c: Add tests for
|
||||||
|
g_date_get_iso8601_week_of_year().
|
||||||
|
|
||||||
|
* glib/gdate.c (g_date_get_iso8601_week_of_year):
|
||||||
|
Fix the calculation. (#169858, Jon-Kare Hellan)
|
||||||
|
|
||||||
2005-03-27 Tor Lillqvist <tml@novell.com>
|
2005-03-27 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2005-03-28 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/date-test.c:
|
||||||
|
* tests/testgdate.c: Add tests for
|
||||||
|
g_date_get_iso8601_week_of_year().
|
||||||
|
|
||||||
|
* glib/gdate.c (g_date_get_iso8601_week_of_year):
|
||||||
|
Fix the calculation. (#169858, Jon-Kare Hellan)
|
||||||
|
|
||||||
2005-03-27 Tor Lillqvist <tml@novell.com>
|
2005-03-27 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
|
||||||
|
@ -414,7 +414,7 @@ g_date_get_iso8601_week_of_year (const GDate *d)
|
|||||||
* Julian Period which starts on 1 January 4713 BC, so we add
|
* Julian Period which starts on 1 January 4713 BC, so we add
|
||||||
* 1,721,425 to the number of days before doing the formula.
|
* 1,721,425 to the number of days before doing the formula.
|
||||||
*/
|
*/
|
||||||
j = d->julian + 1721425;
|
j = d->julian_days + 1721425;
|
||||||
d4 = (j + 31741 - (j % 7)) % 146097 % 36524 % 1461;
|
d4 = (j + 31741 - (j % 7)) % 146097 % 36524 % 1461;
|
||||||
L = d4 / 1460;
|
L = d4 / 1460;
|
||||||
d1 = ((d4 - L) % 365) + L;
|
d1 = ((d4 - L) % 365) + L;
|
||||||
|
@ -159,6 +159,7 @@ int main(int argc, char** argv)
|
|||||||
guint sunday_weeks_in_year = g_date_get_sunday_weeks_in_year(y);
|
guint sunday_weeks_in_year = g_date_get_sunday_weeks_in_year(y);
|
||||||
guint monday_week_of_year = 0;
|
guint monday_week_of_year = 0;
|
||||||
guint monday_weeks_in_year = g_date_get_monday_weeks_in_year(y);
|
guint monday_weeks_in_year = g_date_get_monday_weeks_in_year(y);
|
||||||
|
guint iso8601_week_of_year = 0;
|
||||||
|
|
||||||
if (discontinuity)
|
if (discontinuity)
|
||||||
g_print(" (Break in sequence of requested years to check)\n");
|
g_print(" (Break in sequence of requested years to check)\n");
|
||||||
@ -257,15 +258,28 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
TEST("Monday week of year on Monday 1 more than previous day's week of year",
|
TEST("Monday week of year on Monday 1 more than previous day's week of year",
|
||||||
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 1);
|
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 1);
|
||||||
|
if ((m == G_DATE_JANUARY && day <= 4) ||
|
||||||
|
(m == G_DATE_DECEMBER && day >= 29)) {
|
||||||
|
TEST("ISO 8601 week of year on Monday Dec 29 - Jan 4 is 1",
|
||||||
|
(g_date_get_iso8601_week_of_year(d) == 1));
|
||||||
|
} else {
|
||||||
|
TEST("ISO 8601 week of year on Monday 1 more than previous day's week of year",
|
||||||
|
(g_date_get_iso8601_week_of_year(d) - iso8601_week_of_year) == 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TEST("Monday week of year on non-Monday 0 more than previous day's week of year",
|
TEST("Monday week of year on non-Monday 0 more than previous day's week of year",
|
||||||
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 0);
|
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 0);
|
||||||
|
if (!(day == 1 && m == G_DATE_JANUARY)) {
|
||||||
|
TEST("ISO 8601 week of year on non-Monday 0 more than previous day's week of year (",
|
||||||
|
(g_date_get_iso8601_week_of_year(d) - iso8601_week_of_year) == 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
monday_week_of_year = g_date_get_monday_week_of_year(d);
|
monday_week_of_year = g_date_get_monday_week_of_year(d);
|
||||||
|
iso8601_week_of_year = g_date_get_iso8601_week_of_year(d);
|
||||||
|
|
||||||
|
|
||||||
TEST("Sunday week of year is not more than number of weeks in the year",
|
TEST("Sunday week of year is not more than number of weeks in the year",
|
||||||
|
@ -166,6 +166,7 @@ int main(int argc, char** argv)
|
|||||||
guint sunday_weeks_in_year = g_date_get_sunday_weeks_in_year(y);
|
guint sunday_weeks_in_year = g_date_get_sunday_weeks_in_year(y);
|
||||||
guint monday_week_of_year = 0;
|
guint monday_week_of_year = 0;
|
||||||
guint monday_weeks_in_year = g_date_get_monday_weeks_in_year(y);
|
guint monday_weeks_in_year = g_date_get_monday_weeks_in_year(y);
|
||||||
|
guint iso8601_week_of_year = 0;
|
||||||
|
|
||||||
if (discontinuity)
|
if (discontinuity)
|
||||||
g_print(" (Break in sequence of requested years to check)\n");
|
g_print(" (Break in sequence of requested years to check)\n");
|
||||||
@ -264,15 +265,28 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
TEST("Monday week of year on Monday 1 more than previous day's week of year",
|
TEST("Monday week of year on Monday 1 more than previous day's week of year",
|
||||||
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 1);
|
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 1);
|
||||||
|
if ((m == G_DATE_JANUARY && day <= 4) ||
|
||||||
|
(m == G_DATE_DECEMBER && day >= 29)) {
|
||||||
|
TEST("ISO 8601 week of year on Monday Dec 29 - Jan 4 is 1",
|
||||||
|
(g_date_get_iso8601_week_of_year(d) == 1));
|
||||||
|
} else {
|
||||||
|
TEST("ISO 8601 week of year on Monday 1 more than previous day's week of year",
|
||||||
|
(g_date_get_iso8601_week_of_year(d) - iso8601_week_of_year) == 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TEST("Monday week of year on non-Monday 0 more than previous day's week of year",
|
TEST("Monday week of year on non-Monday 0 more than previous day's week of year",
|
||||||
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 0);
|
(g_date_get_monday_week_of_year(d) - monday_week_of_year) == 0);
|
||||||
|
if (!(day == 1 && m == G_DATE_JANUARY)) {
|
||||||
|
TEST("ISO 8601 week of year on non-Monday 0 more than previous day's week of year (",
|
||||||
|
(g_date_get_iso8601_week_of_year(d) - iso8601_week_of_year) == 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
monday_week_of_year = g_date_get_monday_week_of_year(d);
|
monday_week_of_year = g_date_get_monday_week_of_year(d);
|
||||||
|
iso8601_week_of_year = g_date_get_iso8601_week_of_year(d);
|
||||||
|
|
||||||
|
|
||||||
TEST("Sunday week of year is not more than number of weeks in the year",
|
TEST("Sunday week of year is not more than number of weeks in the year",
|
||||||
|
Loading…
Reference in New Issue
Block a user