diff options
Diffstat (limited to 'src/test/libical-glib/property.py')
-rw-r--r--[-rwxr-xr-x] | src/test/libical-glib/property.py | 169 |
1 files changed, 80 insertions, 89 deletions
diff --git a/src/test/libical-glib/property.py b/src/test/libical-glib/property.py index 23de9b5d..dad268a4 100755..100644 --- a/src/test/libical-glib/property.py +++ b/src/test/libical-glib/property.py @@ -1,104 +1,95 @@ #!/usr/bin/env python3 -#GI_TYPELIB_PATH=$PREFIX/lib/girepository-1.0/ ./property.py +# GI_TYPELIB_PATH=$PREFIX/lib/girepository-1.0/ ./property.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 properties ''' +import gi gi.require_version('ICalGLib', '3.0') +from gi.repository import ICalGLib # nopep8 # pylint: disable=wrong-import-position + +actionProperty = ICalGLib.Property.new(ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY) +actionPropertyClone = actionProperty.clone() +assert actionPropertyClone.as_ical_string() == actionProperty.as_ical_string() + +propertyString = "SUMMARY:Bastille Day Party" +stringProperty = ICalGLib.Property.new_from_string(propertyString) +stringPropertyClone = stringProperty.clone() +assert stringProperty.as_ical_string() == stringPropertyClone.as_ical_string() +assert stringProperty.isa() == ICalGLib.PropertyKind.SUMMARY_PROPERTY +assert stringProperty.isa_property() == 1 +assert stringProperty.get_property_name() == "SUMMARY" + +altrep1 = "This is an altrep 1" +parameter1 = ICalGLib.Parameter.new_altrep(altrep1) +altrep2 = "This is an altrep 2" +parameter2 = ICalGLib.Parameter.new_altrep(altrep2) +stringProperty.add_parameter(parameter1) +stringProperty.add_parameter(parameter2) +stringProperty.set_parameter_from_string("ACTIONPARAM", "This is a action param") + +assert stringProperty.count_parameters() == 3 +retrieved_parameter1 = stringProperty.get_first_parameter(ICalGLib.ParameterKind.ALTREP_PARAMETER) +assert retrieved_parameter1.as_ical_string() == parameter1.as_ical_string() +retrieved_parameter2 = stringProperty.get_next_parameter(ICalGLib.ParameterKind.ALTREP_PARAMETER) +assert retrieved_parameter2.as_ical_string() == parameter2.as_ical_string() +retrieved_parameter3 = stringProperty.get_first_parameter(ICalGLib.ParameterKind.ACTIONPARAM_PARAMETER) +assert retrieved_parameter3.as_ical_string() == "ACTIONPARAM=This is a action param" + +stringProperty.remove_parameter_by_kind(ICalGLib.ParameterKind.CHARSET_PARAMETER) +assert stringProperty.count_parameters() == 3 +stringProperty.remove_parameter_by_kind(ICalGLib.ParameterKind.ALTREP_PARAMETER) +assert stringProperty.count_parameters() == 2 +stringProperty.remove_parameter_by_name("ACTIONPARAM") +assert stringProperty.count_parameters() == 1 -from gi.repository import ICalGLib - -action_property = ICalGLib.Property.new(ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY); -action_property_clone = action_property.clone(); -assert(action_property_clone.as_ical_string() == action_property.as_ical_string()); - -property_string = "SUMMARY:Bastille Day Party"; -string_property = ICalGLib.Property.new_from_string(property_string); -string_property_clone = string_property.clone(); -assert(string_property.as_ical_string() == string_property_clone.as_ical_string()); -assert(string_property.isa() == ICalGLib.PropertyKind.SUMMARY_PROPERTY); -assert(string_property.isa_property() == 1); -assert(string_property.get_property_name() == "SUMMARY"); - -altrep1 = "This is an altrep 1"; -parameter1 = ICalGLib.Parameter.new_altrep(altrep1); -altrep2 = "This is an altrep 2"; -parameter2 = ICalGLib.Parameter.new_altrep(altrep2); -string_property.add_parameter(parameter1); -string_property.add_parameter(parameter2); -string_property.set_parameter_from_string("ACTIONPARAM", "This is a action param"); - -assert(string_property.count_parameters() == 3); -retrieved_parameter1 = string_property.get_first_parameter(ICalGLib.ParameterKind.ALTREP_PARAMETER); -assert(retrieved_parameter1.as_ical_string() == parameter1.as_ical_string()); -retrieved_parameter2 = string_property.get_next_parameter(ICalGLib.ParameterKind.ALTREP_PARAMETER); -assert(retrieved_parameter2.as_ical_string() == parameter2.as_ical_string()); -retrieved_parameter3 = string_property.get_first_parameter(ICalGLib.ParameterKind.ACTIONPARAM_PARAMETER); -assert(retrieved_parameter3.as_ical_string() == "ACTIONPARAM=This is a action param"); - -string_property.remove_parameter_by_kind(ICalGLib.ParameterKind.CHARSET_PARAMETER); -assert(string_property.count_parameters() == 3); -string_property.remove_parameter_by_kind(ICalGLib.ParameterKind.ALTREP_PARAMETER); -assert(string_property.count_parameters() == 2); -string_property.remove_parameter_by_name("ACTIONPARAM"); -assert(string_property.count_parameters() == 1); - -kind = ICalGLib.ValueKind.ATTACH_VALUE; -string = "This is a link"; -value_from_string = ICalGLib.Value.new_from_string(kind, string); -string_property.set_value(value_from_string); -string_from_property_api = string_property.get_value_as_string(); -assert(string_from_property_api == string); -value_got_from_property = string_property.get_value(); -assert(value_got_from_property.as_ical_string() == string); -string_property.set_value_from_string(string, ICalGLib.Value.kind_to_string(kind)); -string_from_property_api = string_property.get_value_as_string(); -assert(string_from_property_api == string); -value_got_from_property = string_property.get_value(); -assert(value_got_from_property.as_ical_string() == string); - -string_property.set_x_name("This is an x name!"); -assert(string_property.get_x_name() == "This is an x name!"); - -valuekind_from_parametervalue = ICalGLib.Parameter.value_to_value_kind(ICalGLib.ParameterValue.BINARY); -assert(valuekind_from_parametervalue == ICalGLib.ValueKind.BINARY_VALUE); - -valuekind_from_property_kind = ICalGLib.Property.kind_to_value_kind(ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY); -assert(valuekind_from_property_kind == ICalGLib.ValueKind.DATETIME_VALUE); -propertyKind = ICalGLib.Value.kind_to_property_kind(valuekind_from_property_kind); -assert(propertyKind == ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY); -string = ICalGLib.Property.kind_to_string(ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY); -assert(string == "ACKNOWLEDGED"); -kind = ICalGLib.Property.kind_from_string(string); -assert(kind == ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY); - -string = ICalGLib.Property.method_to_string(ICalGLib.PropertyMethod.PUBLISH); -assert(ICalGLib.Property.method_from_string(string) == ICalGLib.PropertyMethod.PUBLISH); - -string = ICalGLib.Property.enum_to_string(ICalGLib.PropertyMethod.PUBLISH); -assert(string == "PUBLISH"); - -#Test i_cal_value_set_parent. No error will be thrown. -property_string = "SUMMARY:Bastille Day Party"; -string_property = ICalGLib.Property.new_from_string(property_string); kind = ICalGLib.ValueKind.ATTACH_VALUE string = "This is a link" value_from_string = ICalGLib.Value.new_from_string(kind, string) -value_from_string.set_parent(string_property) +stringProperty.set_value(value_from_string) +string_from_property_api = stringProperty.get_value_as_string() +assert string_from_property_api == string +value_got_from_property = stringProperty.get_value() +assert value_got_from_property.as_ical_string() == string +stringProperty.set_value_from_string(string, ICalGLib.Value.kind_to_string(kind)) +string_from_property_api = stringProperty.get_value_as_string() +assert string_from_property_api == string +value_got_from_property = stringProperty.get_value() +assert value_got_from_property.as_ical_string() == string + +stringProperty.set_x_name("This is an x name!") +assert stringProperty.get_x_name() == "This is an x name!" + +valuekind_from_parametervalue = ICalGLib.Parameter.value_to_value_kind(ICalGLib.ParameterValue.BINARY) +assert valuekind_from_parametervalue == ICalGLib.ValueKind.BINARY_VALUE + +valuekind_from_property_kind = ICalGLib.Property.kind_to_value_kind(ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY) +assert valuekind_from_property_kind == ICalGLib.ValueKind.DATETIME_VALUE +propertyKind = ICalGLib.Value.kind_to_property_kind(valuekind_from_property_kind) +assert propertyKind == ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY +string = ICalGLib.Property.kind_to_string(ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY) +assert string == "ACKNOWLEDGED" +kind = ICalGLib.Property.kind_from_string(string) +assert kind == ICalGLib.PropertyKind.ACKNOWLEDGED_PROPERTY + +string = ICalGLib.Property.method_to_string(ICalGLib.PropertyMethod.PUBLISH) +assert ICalGLib.Property.method_from_string(string) == ICalGLib.PropertyMethod.PUBLISH + +string = ICalGLib.Property.enum_to_string(ICalGLib.PropertyMethod.PUBLISH) +assert string == "PUBLISH" + +# Test i_cal_value_set_parent. No error will be thrown. +propertyString = "SUMMARY:Bastille Day Party" +stringProperty = ICalGLib.Property.new_from_string(propertyString) +kind = ICalGLib.ValueKind.ATTACH_VALUE +string = "This is a link" +value_from_string = ICalGLib.Value.new_from_string(kind, string) +value_from_string.set_parent(stringProperty) value_from_string.set_parent(None) |