diff options
Diffstat (limited to 'src/test/libical-glib/recurrence.py')
-rw-r--r--[-rwxr-xr-x] | src/test/libical-glib/recurrence.py | 158 |
1 files changed, 72 insertions, 86 deletions
diff --git a/src/test/libical-glib/recurrence.py b/src/test/libical-glib/recurrence.py index e4320df0..1d8a121f 100755..100644 --- a/src/test/libical-glib/recurrence.py +++ b/src/test/libical-glib/recurrence.py @@ -1,66 +1,52 @@ #!/usr/bin/env python3 -#GI_TYPELIB_PATH=$PREFIX/lib/girepository-1.0/ ./recurrence-type.py +# GI_TYPELIB_PATH=$PREFIX/lib/girepository-1.0/ ./recurrence-type.py ############################################################################### # -# Copyright (C) 2015 William Yu <williamyu@gnome.org> +# SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> # -# This library is free software; you can redistribute it and/or modify -# it under the terms of either: -# -# The LGPL as published by the Free Software Foundation, version -# 2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.txt -# -# Or: -# -# The Mozilla Public License Version 2.0. You may obtain a copy of -# the License at https://www.mozilla.org/MPL/ +# SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 # ############################################################################### -import gi +''' Test Python bindings for libical recurrence ''' +import gi gi.require_version('ICalGLib', '3.0') - -from gi.repository import ICalGLib +from gi.repository import ICalGLib # nopep8 # pylint: disable=wrong-import-position weekday = ICalGLib.Recurrence.day_day_of_week(0) -assert(weekday == ICalGLib.RecurrenceWeekday.NO_WEEKDAY) +assert weekday == ICalGLib.RecurrenceWeekday.NO_WEEKDAY weekday = ICalGLib.Recurrence.day_day_of_week(1) -assert(weekday == ICalGLib.RecurrenceWeekday.SUNDAY_WEEKDAY) +assert weekday == ICalGLib.RecurrenceWeekday.SUNDAY_WEEKDAY + +assert ICalGLib.Recurrence.day_position(15) == 1 +assert ICalGLib.Recurrence.day_position(16) == 2 +assert ICalGLib.Recurrence.day_position(25) == 3 + +encoded = ICalGLib.Recurrence.encode_day(ICalGLib.RecurrenceWeekday.MONDAY_WEEKDAY, 0) +assert ICalGLib.Recurrence.day_day_of_week(encoded) == ICalGLib.RecurrenceWeekday.MONDAY_WEEKDAY +assert ICalGLib.Recurrence.day_position(encoded) == 0 + +encoded = ICalGLib.Recurrence.encode_day(ICalGLib.RecurrenceWeekday.THURSDAY_WEEKDAY, -3) +assert ICalGLib.Recurrence.day_day_of_week(encoded) == ICalGLib.RecurrenceWeekday.THURSDAY_WEEKDAY +assert ICalGLib.Recurrence.day_position(encoded) == -3 + +encoded = ICalGLib.Recurrence.encode_day(ICalGLib.RecurrenceWeekday.FRIDAY_WEEKDAY, 2) +assert ICalGLib.Recurrence.day_day_of_week(encoded) == ICalGLib.RecurrenceWeekday.FRIDAY_WEEKDAY +assert ICalGLib.Recurrence.day_position(encoded) == 2 + +encoded = ICalGLib.Recurrence.encode_month(3, 0) +assert ICalGLib.Recurrence.month_month(encoded) == 3 +assert not ICalGLib.Recurrence.month_is_leap(encoded) -assert(ICalGLib.Recurrence.day_position(15) == 1) -assert(ICalGLib.Recurrence.day_position(16) == 2) -assert(ICalGLib.Recurrence.day_position(25) == 3) +encoded = ICalGLib.Recurrence.encode_month(12, 1) +assert ICalGLib.Recurrence.month_month(encoded) == 12 +assert ICalGLib.Recurrence.month_is_leap(encoded) string = "COUNT=10;FREQ=DAILY" recurrence = ICalGLib.Recurrence.new_from_string(string) -assert(recurrence.to_string() == "FREQ=DAILY;COUNT=10") - -by_second = recurrence.get_by_second_array() -# The value is dependent on the libical version. -assert len(by_second) == 61 or len(by_second) == 62 -by_minute = recurrence.get_by_minute_array() -assert len(by_minute) == 61 -by_hour = recurrence.get_by_hour_array() -assert len(by_hour) == 25 -by_day = recurrence.get_by_day_array() -# The value is dependent on the libical version. -assert len(by_day) == 364 or len(by_day) == 386 -by_month_day = recurrence.get_by_month_day_array() -assert len(by_month_day) == 32 -by_year_day = recurrence.get_by_year_day_array() -# The value is dependent on the libical version. -assert len(by_year_day) == 367 or len(by_year_day) == 386 -by_week_no = recurrence.get_by_week_no_array() -# The value is dependent on the libical version. -assert len(by_week_no) == 54 or len(by_week_no) == 56 -by_month = recurrence.get_by_month_array() -# The value is dependent on the libical version. -assert len(by_month) == 13 or len(by_month) == 14 -by_set_pos = recurrence.get_by_set_pos_array() -# The value is dependent on the libical version. -assert len(by_set_pos) == 367 or len(by_set_pos) == 386 +assert recurrence.to_string() == "FREQ=DAILY;COUNT=10" recurrence.set_by_second(0, 1) recurrence.set_by_second(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -68,8 +54,8 @@ assert recurrence.get_by_second(0) == 1 assert recurrence.get_by_second(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_second_array() assert array[0] == 1 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 100, 101 ] +assert len(array) == 1 +array = [100, 101] assert len(array) == 2 recurrence.set_by_second_array(array) assert recurrence.get_by_second(0) == 100 @@ -78,7 +64,7 @@ assert recurrence.get_by_second(2) == ICalGLib.RecurrenceArrayMaxValues.RECURREN array = recurrence.get_by_second_array() assert array[0] == 100 assert array[1] == 101 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_minute(0, 2) recurrence.set_by_minute(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -86,8 +72,8 @@ assert recurrence.get_by_minute(0) == 2 assert recurrence.get_by_minute(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_minute_array() assert array[0] == 2 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 200, 201 ] +assert len(array) == 1 +array = [200, 201] assert len(array) == 2 recurrence.set_by_minute_array(array) assert recurrence.get_by_minute(0) == 200 @@ -96,7 +82,7 @@ assert recurrence.get_by_minute(2) == ICalGLib.RecurrenceArrayMaxValues.RECURREN array = recurrence.get_by_minute_array() assert array[0] == 200 assert array[1] == 201 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_hour(0, 3) recurrence.set_by_hour(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -104,8 +90,8 @@ assert recurrence.get_by_hour(0) == 3 assert recurrence.get_by_hour(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_hour_array() assert array[0] == 3 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 300, 301 ] +assert len(array) == 1 +array = [300, 301] assert len(array) == 2 recurrence.set_by_hour_array(array) assert recurrence.get_by_hour(0) == 300 @@ -114,7 +100,7 @@ assert recurrence.get_by_hour(2) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE array = recurrence.get_by_hour_array() assert array[0] == 300 assert array[1] == 301 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_day(0, 4) recurrence.set_by_day(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -122,8 +108,8 @@ assert recurrence.get_by_day(0) == 4 assert recurrence.get_by_day(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_day_array() assert array[0] == 4 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 400, 401 ] +assert len(array) == 1 +array = [400, 401] assert len(array) == 2 recurrence.set_by_day_array(array) assert recurrence.get_by_day(0) == 400 @@ -132,7 +118,7 @@ assert recurrence.get_by_day(2) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ array = recurrence.get_by_day_array() assert array[0] == 400 assert array[1] == 401 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_month_day(0, 5) recurrence.set_by_month_day(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -140,8 +126,8 @@ assert recurrence.get_by_month_day(0) == 5 assert recurrence.get_by_month_day(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_month_day_array() assert array[0] == 5 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 500, 501 ] +assert len(array) == 1 +array = [500, 501] assert len(array) == 2 recurrence.set_by_month_day_array(array) assert recurrence.get_by_month_day(0) == 500 @@ -150,7 +136,7 @@ assert recurrence.get_by_month_day(2) == ICalGLib.RecurrenceArrayMaxValues.RECUR array = recurrence.get_by_month_day_array() assert array[0] == 500 assert array[1] == 501 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_year_day(0, 6) recurrence.set_by_year_day(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -158,8 +144,8 @@ assert recurrence.get_by_year_day(0) == 6 assert recurrence.get_by_year_day(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_year_day_array() assert array[0] == 6 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 600, 601 ] +assert len(array) == 1 +array = [600, 601] assert len(array) == 2 recurrence.set_by_year_day_array(array) assert recurrence.get_by_year_day(0) == 600 @@ -168,7 +154,7 @@ assert recurrence.get_by_year_day(2) == ICalGLib.RecurrenceArrayMaxValues.RECURR array = recurrence.get_by_year_day_array() assert array[0] == 600 assert array[1] == 601 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_week_no(0, 7) recurrence.set_by_week_no(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -176,8 +162,8 @@ assert recurrence.get_by_week_no(0) == 7 assert recurrence.get_by_week_no(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_week_no_array() assert array[0] == 7 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 700, 701 ] +assert len(array) == 1 +array = [700, 701] assert len(array) == 2 recurrence.set_by_week_no_array(array) assert recurrence.get_by_week_no(0) == 700 @@ -186,7 +172,7 @@ assert recurrence.get_by_week_no(2) == ICalGLib.RecurrenceArrayMaxValues.RECURRE array = recurrence.get_by_week_no_array() assert array[0] == 700 assert array[1] == 701 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_month(0, 8) recurrence.set_by_month(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -194,8 +180,8 @@ assert recurrence.get_by_month(0) == 8 assert recurrence.get_by_month(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_month_array() assert array[0] == 8 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 800, 801 ] +assert len(array) == 1 +array = [800, 801] assert len(array) == 2 recurrence.set_by_month_array(array) assert recurrence.get_by_month(0) == 800 @@ -204,7 +190,7 @@ assert recurrence.get_by_month(2) == ICalGLib.RecurrenceArrayMaxValues.RECURRENC array = recurrence.get_by_month_array() assert array[0] == 800 assert array[1] == 801 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_set_pos(0, 9) recurrence.set_by_set_pos(1, ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX) @@ -212,8 +198,8 @@ assert recurrence.get_by_set_pos(0) == 9 assert recurrence.get_by_set_pos(1) == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX array = recurrence.get_by_set_pos_array() assert array[0] == 9 -assert array[1] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX -array = [ 900, 901 ] +assert len(array) == 1 +array = [900, 901] assert len(array) == 2 recurrence.set_by_set_pos_array(array) assert recurrence.get_by_set_pos(0) == 900 @@ -222,7 +208,7 @@ assert recurrence.get_by_set_pos(2) == ICalGLib.RecurrenceArrayMaxValues.RECURRE array = recurrence.get_by_set_pos_array() assert array[0] == 900 assert array[1] == 901 -assert array[2] == ICalGLib.RecurrenceArrayMaxValues.RECURRENCE_ARRAY_MAX +assert len(array) == 2 recurrence.set_by_second(0, 13) by_second = recurrence.get_by_second_array() @@ -230,49 +216,49 @@ assert by_second[0] == 13 recurrence = ICalGLib.Recurrence.new_from_string(string) -assert(ICalGLib.Recurrence.weekday_from_string("MO") == ICalGLib.RecurrenceWeekday.MONDAY_WEEKDAY) +assert ICalGLib.Recurrence.weekday_from_string("MO") == ICalGLib.RecurrenceWeekday.MONDAY_WEEKDAY start = 100000 result = ICalGLib.recur_expand_recurrence(string, start, 10) -secs_per_day = 24*60*60 +secsPerDay = 24*60*60 for i in range(0, 9): - assert(result[i] == start + i*secs_per_day) + assert result[i] == start + i*secsPerDay string = "19970101T183248Z/19970102T071625Z" period = ICalGLib.Period.new_from_string(string) start = period.get_start() -iter = ICalGLib.RecurIterator.new(recurrence, start) -timetype = iter.next() +iterator = ICalGLib.RecurIterator.new(recurrence, start) +timetype = iterator.next() day = timetype.get_day() ref = 1 while day != 0: - assert(day == ref) + assert day == ref ref += 1 - timetype = iter.next() + timetype = iterator.next() day = timetype.get_day() recurrence = ICalGLib.Recurrence.new_from_string("FREQ=YEARLY;COUNT=10") start = ICalGLib.Time.new_from_string("20161224T000000Z") -iter = ICalGLib.RecurIterator.new(recurrence, start) +iterator = ICalGLib.RecurIterator.new(recurrence, start) start = ICalGLib.Time.new_from_string("20181224T000000Z") -assert ICalGLib.RecurIterator.set_start(iter, start) == 0 +assert ICalGLib.RecurIterator.set_start(iterator, start) == 0 recurrence = ICalGLib.Recurrence.new_from_string("FREQ=YEARLY") start = ICalGLib.Time.new_from_string("20161224T000000Z") -iter = ICalGLib.RecurIterator.new(recurrence, start) +iterator = ICalGLib.RecurIterator.new(recurrence, start) start = ICalGLib.Time.new_from_string("20181224T000000Z") -assert ICalGLib.RecurIterator.set_start(iter, start) == 1 -timetype = iter.next() +assert ICalGLib.RecurIterator.set_start(iterator, start) == 1 +timetype = iterator.next() assert timetype.get_year() == 2018 -timetype = iter.next() +timetype = iterator.next() assert timetype.get_year() == 2019 |