[kdbus] sync with kdbus (kdbus.h - commit: 5ae1ecac44cb)
[platform/upstream/glib.git] / tests / testgdate.c
index 25e8b15..a8ec4cf 100644 (file)
@@ -1,3 +1,9 @@
+#undef G_DISABLE_ASSERT
+#undef G_LOG_DOMAIN
+
+#ifdef GLIB_COMPILATION
+#undef GLIB_COMPILATION
+#endif
 
 #include "glib.h"
 
@@ -23,7 +29,8 @@ else \
   if ((passed+notpassed) % 10000 == 0) g_print ("."); fflush (stdout); \
 } G_STMT_END
 
-void g_date_debug_print(GDate* d)
+static void
+g_date_debug_print (GDate* d)
 {
   if (!d) g_print("NULL!\n");
   else 
@@ -47,7 +54,6 @@ int main(int argc, char** argv)
   GDateDay day;
   gchar buf[101];
   gchar* loc;
-
   /* Try to get all the leap year cases. */
   GDateYear check_years[] = { 
     1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
@@ -63,11 +69,9 @@ int main(int argc, char** argv)
     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
     3000, 3001, 3002, 3998, 3999, 4000, 4001, 4002, 4003
   };
-                           
   guint n_check_years = sizeof(check_years)/sizeof(GDateYear);
-
-  guint i = 0;
-  gboolean discontinuity = FALSE;
+  guint i, k;
+  gboolean discontinuity;
 
   g_print("checking GDate...");
   
@@ -83,13 +87,13 @@ int main(int argc, char** argv)
 
   TEST("January 1, Year 1 created and valid", g_date_valid(d));
 
-  j = g_date_julian(d);
+  j = g_date_get_julian(d);
   
   TEST("January 1, Year 1 is Julian date 1", j == 1);
 
-  TEST("Returned month is January", g_date_month(d) == G_DATE_JANUARY);
-  TEST("Returned day is 1", g_date_day(d) == 1);
-  TEST("Returned year is 1", g_date_year(d) == 1);
+  TEST("Returned month is January", g_date_get_month(d) == G_DATE_JANUARY);
+  TEST("Returned day is 1", g_date_get_day(d) == 1);
+  TEST("Returned year is 1", g_date_get_year(d) == 1);
 
   TEST("Bad month is invalid", !g_date_valid_month(G_DATE_BAD_MONTH));
   TEST("Month 13 is invalid",  !g_date_valid_month(13));
@@ -141,9 +145,9 @@ int main(int argc, char** argv)
   /* Note: this test will hopefully work, but no promises. */
   TEST("Successfully parsed a %x-formatted string", 
        g_date_valid(d) && 
-       g_date_month(d) == 1 && 
-       g_date_day(d) == 10 && 
-       g_date_year(d) == 2000);
+       g_date_get_month(d) == 1 && 
+       g_date_get_day(d) == 10 && 
+       g_date_get_year(d) == 2000);
   if (failed)
     g_date_debug_print(d);
   
@@ -155,14 +159,16 @@ int main(int argc, char** argv)
   discontinuity = TRUE;
   y      = check_years[0];
   prev_y = G_DATE_BAD_YEAR;
-  while (i < n_check_years) 
+g_print ("testing %d years\n", n_check_years);
+  while (i < n_check_years)
     {
       guint32 first_day_of_year = G_DATE_BAD_JULIAN;
       guint16 days_in_year = g_date_is_leap_year(y) ? 366 : 365;
       guint   sunday_week_of_year = 0;
-      guint   sunday_weeks_in_year = g_date_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_weeks_in_year = g_date_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)
         g_print(" (Break in sequence of requested years to check)\n");
@@ -180,7 +186,7 @@ int main(int argc, char** argv)
       m = 1;
       while (m < 13) 
        {
-         guint8 dim = g_date_days_in_month(m,y);
+         guint8 dim = g_date_get_days_in_month(m,y);
          GDate days[31];         /* This is the fast way, no allocation */
 
          TEST("Sensible number of days in month", (dim > 0 && dim < 32));
@@ -193,7 +199,6 @@ int main(int argc, char** argv)
 
          while (day <= dim) 
            {
-             guint i;
               GDate tmp;
 
              TEST("DMY triplet is valid", g_date_valid_dmy(day,m,y));
@@ -210,89 +215,102 @@ int main(int argc, char** argv)
 
              if (m == G_DATE_JANUARY && day == 1) 
                {
-                 first_day_of_year = g_date_julian(d);
+                 first_day_of_year = g_date_get_julian(d);
                }
 
              g_assert(first_day_of_year != G_DATE_BAD_JULIAN);
 
              TEST("Date with DMY triplet is valid", g_date_valid(d));
-             TEST("Month accessor works", g_date_month(d) == m);
-             TEST("Year accessor works", g_date_year(d) == y);
-             TEST("Day of month accessor works", g_date_day(d) == day);
+             TEST("Month accessor works", g_date_get_month(d) == m);
+             TEST("Year accessor works", g_date_get_year(d) == y);
+             TEST("Day of month accessor works", g_date_get_day(d) == day);
 
              TEST("Day of year is consistent with Julian dates",
-                  ((g_date_julian(d) + 1 - first_day_of_year) ==
-                   (g_date_day_of_year(d))));
+                  ((g_date_get_julian(d) + 1 - first_day_of_year) ==
+                   (g_date_get_day_of_year(d))));
 
              if (failed) 
                {
                  g_print("first day: %u this day: %u day of year: %u\n", 
                          first_day_of_year, 
-                         g_date_julian(d),
-                         g_date_day_of_year(d));
+                         g_date_get_julian(d),
+                         g_date_get_day_of_year(d));
                }
              
              if (m == G_DATE_DECEMBER && day == 31) 
                {
                  TEST("Last day of year equals number of days in year", 
-                      g_date_day_of_year(d) == days_in_year);
+                      g_date_get_day_of_year(d) == days_in_year);
                  if (failed) 
                    {
                      g_print("last day: %u days in year: %u\n", 
-                             g_date_day_of_year(d), days_in_year);
+                             g_date_get_day_of_year(d), days_in_year);
                    }
                }
 
              TEST("Day of year is not more than number of days in the year",
-                  g_date_day_of_year(d) <= days_in_year);
+                  g_date_get_day_of_year(d) <= days_in_year);
 
              TEST("Monday week of year is not more than number of weeks in the year",
-                  g_date_monday_week_of_year(d) <= monday_weeks_in_year);
+                  g_date_get_monday_week_of_year(d) <= monday_weeks_in_year);
              if (failed)
                {
                  g_print("Weeks in year: %u\n", monday_weeks_in_year);
                  g_date_debug_print(d);
                }
              TEST("Monday week of year is >= than last week of year",
-                  g_date_monday_week_of_year(d) >= monday_week_of_year);
+                  g_date_get_monday_week_of_year(d) >= monday_week_of_year);
 
-             if (g_date_weekday(d) == G_DATE_MONDAY) 
+             if (g_date_get_weekday(d) == G_DATE_MONDAY) 
                {
                  
                  TEST("Monday week of year on Monday 1 more than previous day's week of year",
-                      (g_date_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 
                {
                  TEST("Monday week of year on non-Monday 0 more than previous day's week of year",
-                      (g_date_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_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",
-                  g_date_sunday_week_of_year(d) <= sunday_weeks_in_year);
+                  g_date_get_sunday_week_of_year(d) <= sunday_weeks_in_year);
              if (failed)
                {
                  g_date_debug_print(d);
                }
              TEST("Sunday week of year is >= than last week of year",
-                  g_date_sunday_week_of_year(d) >= sunday_week_of_year);
+                  g_date_get_sunday_week_of_year(d) >= sunday_week_of_year);
 
-             if (g_date_weekday(d) == G_DATE_SUNDAY) 
+             if (g_date_get_weekday(d) == G_DATE_SUNDAY) 
                {
                  TEST("Sunday week of year on Sunday 1 more than previous day's week of year",
-                      (g_date_sunday_week_of_year(d) - sunday_week_of_year) == 1);
+                      (g_date_get_sunday_week_of_year(d) - sunday_week_of_year) == 1);
                }
              else 
                {
                  TEST("Sunday week of year on non-Sunday 0 more than previous day's week of year",
-                      (g_date_sunday_week_of_year(d) - sunday_week_of_year) == 0);
+                      (g_date_get_sunday_week_of_year(d) - sunday_week_of_year) == 0);
                }
 
-             sunday_week_of_year = g_date_sunday_week_of_year(d);
+             sunday_week_of_year = g_date_get_sunday_week_of_year(d);
 
              TEST("Date is equal to itself",
                   g_date_compare(d,d) == 0);
@@ -300,68 +318,68 @@ int main(int argc, char** argv)
 
              /*************** Increments ***********/
 
-              i = 1;
-              while (i < 402) /* Need to get 400 year increments in */ 
+              k = 1;
+              while (k < 402) /* Need to get 400 year increments in */ 
                 {
              
                   /***** Days ******/
                   tmp = *d;
-                  g_date_add_days(d, i);
+                  g_date_add_days(d, k);
 
                   TEST("Adding days gives a value greater than previous",
                        g_date_compare(d, &tmp) > 0);
 
-                  g_date_subtract_days(d, i);
+                  g_date_subtract_days(d, k);
                   TEST("Forward days then backward days returns us to current day",
-                       g_date_day(d) == day);
+                       g_date_get_day(d) == day);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
                   TEST("Forward days then backward days returns us to current month",
-                       g_date_month(d) == m);
+                       g_date_get_month(d) == m);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
                   TEST("Forward days then backward days returns us to current year",
-                       g_date_year(d) == y);
+                       g_date_get_year(d) == y);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
                   /******* Months ********/
 
                   tmp = *d;
-                  g_date_add_months(d, i);
+                  g_date_add_months(d, k);
                   TEST("Adding months gives a larger value",
                        g_date_compare(d, &tmp) > 0);
-                  g_date_subtract_months(d, i);
+                  g_date_subtract_months(d, k);
 
                   TEST("Forward months then backward months returns us to current month",
-                       g_date_month(d) == m);
+                       g_date_get_month(d) == m);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
                   TEST("Forward months then backward months returns us to current year",
-                       g_date_year(d) == y);
+                       g_date_get_year(d) == y);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
@@ -371,11 +389,11 @@ int main(int argc, char** argv)
                       /* Day should be unchanged */
                      
                       TEST("Forward months then backward months returns us to current day",
-                           g_date_day(d) == day);
+                           g_date_get_day(d) == day);
                      
                       if (failed) 
                         {
-                          g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                          g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                           g_date_debug_print(d);
                         }
                     }
@@ -388,39 +406,39 @@ int main(int argc, char** argv)
                   /******* Years ********/
 
                   tmp = *d;
-                  g_date_add_years(d, i);
+                  g_date_add_years(d, k);
 
                   TEST("Adding years gives a larger value",
                        g_date_compare(d,&tmp) > 0);
                      
-                  g_date_subtract_years(d, i);
+                  g_date_subtract_years(d, k);
 
                   TEST("Forward years then backward years returns us to current month",
-                       g_date_month(d) == m);
+                       g_date_get_month(d) == m);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
                   TEST("Forward years then backward years returns us to current year",
-                       g_date_year(d) == y);
+                       g_date_get_year(d) == y);
 
                   if (failed) 
                     {
-                      g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                      g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                       g_date_debug_print(d);
                     }
 
                   if (m != 2 && day != 29) 
                     {
                       TEST("Forward years then backward years returns us to current day",
-                           g_date_day(d) == day);
+                           g_date_get_day(d) == day);
                      
                       if (failed) 
                         {
-                          g_print("  (increment %u, dmy %u %u %u) ", i, day, m, y);
+                          g_print("  (increment %u, dmy %u %u %u) ", k, day, m, y);
                           g_date_debug_print(d);
                         }
                     }
@@ -429,7 +447,7 @@ int main(int argc, char** argv)
                       g_date_set_day(d, day); /* reset */
                     }
 
-                  i += 10;
+                  k += 10;
                 }
 
              /*****  increment test relative to our local Julian count */
@@ -439,16 +457,16 @@ int main(int argc, char** argv)
                 /* We can only run sequence tests between sequential years */
                 
                 TEST("Julians are sequential with increment 1",
-                     j+1 == g_date_julian(d));
+                     j+1 == g_date_get_julian(d));
                 if (failed) 
                   {
                     g_print("Out of sequence, prev: %u expected: %u got: %u\n",
-                            j, j+1, g_date_julian(d));
+                            j, j+1, g_date_get_julian(d));
                   }
 
                 g_date_add_days(d,1);
                 TEST("Next day has julian 1 higher",
-                     g_date_julian(d) == j + 2);
+                     g_date_get_julian(d) == j + 2);
                 g_date_subtract_days(d, 1);
                 
                 if (j != G_DATE_BAD_JULIAN) 
@@ -456,7 +474,7 @@ int main(int argc, char** argv)
                     g_date_subtract_days(d, 1);
                     
                     TEST("Previous day has julian 1 lower",
-                         g_date_julian(d) == j);
+                         g_date_get_julian(d) == j);
                     
                     g_date_add_days(d, 1); /* back to original */
                   }
@@ -466,7 +484,7 @@ int main(int argc, char** argv)
               fflush(stdout);
               fflush(stderr);
 
-             j = g_date_julian(d); /* inc current julian */
+             j = g_date_get_julian(d); /* inc current julian */
 
              ++day;
            } 
@@ -474,6 +492,8 @@ int main(int argc, char** argv)
        }
       g_print(" done\n");
       ++i;
+      if (i == n_check_years)
+        break;
       prev_y = y;
       y = check_years[i];
       if (prev_y == G_DATE_BAD_YEAR ||