From 8c4d4072122c0e8f7b26f1599a961a1fbd1bcbf1 Mon Sep 17 00:00:00 2001 From: Abin Simon Date: Sat, 10 Feb 2024 12:24:22 +0530 Subject: [PATCH] Fix flaky tests for ics --- src/internal/converters/ics/ics_test.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/internal/converters/ics/ics_test.go b/src/internal/converters/ics/ics_test.go index 3e14a780d..0ad9a4848 100644 --- a/src/internal/converters/ics/ics_test.go +++ b/src/internal/converters/ics/ics_test.go @@ -1579,8 +1579,27 @@ func (s *ICSUnitSuite) TestAddTime() { addTime(evt, tt.prop, tt.time, tt.allDay, tt.loc) + expSplits := strings.FieldsFunc(tt.exp, func(c rune) bool { + return c == ':' || c == ';' + }) + text := cal.Serialize() - assert.Contains(s.T(), text, tt.exp, "time") + checkLine := "" + + for _, l := range strings.Split(text, "\r\n") { + if strings.HasPrefix(l, string(tt.prop)) { + checkLine = l + break + } + } + + actSplits := strings.FieldsFunc(checkLine, func(c rune) bool { + return c == ':' || c == ';' + }) + + assert.Greater(s.T(), len(checkLine), 0, "line not found") + assert.Equal(s.T(), len(expSplits), len(actSplits), "length of fields") + assert.ElementsMatch(s.T(), expSplits, actSplits, "fields") }) } }