private static void SetPropertyParameters(CalendarProperty property, CaptureCollection paramNames, CaptureCollection paramValues) { var paramValueIndex = 0; for (var paramNameIndex = 0; paramNameIndex < paramNames.Count; paramNameIndex++) { var paramName = paramNames[paramNameIndex].Value; var parameter = new CalendarParameter(paramName); var nextParamIndex = paramNameIndex + 1 < paramNames.Count ? paramNames[paramNameIndex + 1].Index : int.MaxValue; while (paramValueIndex < paramValues.Count && paramValues[paramValueIndex].Index < nextParamIndex) { var paramValue = paramValues[paramValueIndex].Value; parameter.AddValue(paramValue); paramValueIndex++; } property.AddParameter(parameter); } }
public void AddParameter(string name, string value) { m_calendarProperty.AddParameter(name, value); }
public void BugFromForumTopic3355446() { var ical = new iCalendar(); var evt = ical.Create<Event>(); var altDescProp = new CalendarProperty("X-ALT-DESC"); altDescProp.AddParameter("FMTTYPE", "text/html"); altDescProp.Value = "<a href=\"http://test.com\">some html</a>"; evt.AddProperty(altDescProp); evt.Summary = "Test"; evt.Description = "Test"; evt.Start = new iCalDateTime(2012, 7, 30, 8, 0, 0); evt.Duration = TimeSpan.FromHours(1); var serializer = new iCalendarSerializer(); var serializedString = serializer.SerializeToString(ical); Assert.IsTrue(serializedString.Contains("FMTTYPE=text/html")); }