diff options
Diffstat (limited to '')
-rw-r--r-- | comm/calendar/test/unit/test_bug356207.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/comm/calendar/test/unit/test_bug356207.js b/comm/calendar/test/unit/test_bug356207.js new file mode 100644 index 0000000000..1ad23c6acd --- /dev/null +++ b/comm/calendar/test/unit/test_bug356207.js @@ -0,0 +1,47 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +function run_test() { + do_calendar_startup(really_run_test); +} + +function really_run_test() { + // Check that Bug 356207 doesn't regress: + // Freeze (hang) on RRULE which has BYMONTHDAY and BYDAY + + let icalString = + "BEGIN:VCALENDAR\n" + + "PRODID:-//Randy L Pearson//NONSGML Outlook2vCal V1.1//EN\n" + + "VERSION:2.0\n" + + "BEGIN:VEVENT\n" + + "CREATED:20040829T163323\n" + + "UID:00000000EBFAC68C9B92BF119D643623FBD17E1424312000\n" + + "SEQUENCE:1\n" + + "LAST-MODIFIED:20060615T231158\n" + + "DTSTAMP:20040829T163323\n" + + "ORGANIZER:Unknown\n" + + "DTSTART:20040901T141500\n" + + "DESCRIPTION:Contact Mary Tindall for more details.\n" + + "CLASS:PUBLIC\n" + + "LOCATION:Church\n" + + "CATEGORIES:Church Events\n" + + "SUMMARY:Friendship Circle\n" + + "PRIORITY:1\n" + + "DTEND:20040901T141500\n" + + "RRULE:FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=1;BYDAY=WE\n" + + "END:VEVENT\n" + + "END:VCALENDAR"; + + let event = createEventFromIcalString(icalString); + let start = createDate(2009, 0, 1); + let end = createDate(2009, 11, 31); + + // the following call caused a never ending loop: + let occurrenceDates = event.recurrenceInfo.getOccurrenceDates(start, end, 0); + equal(occurrenceDates.length, 2); + + // the following call caused a never ending loop: + let occurrences = event.recurrenceInfo.getOccurrences(start, end, 0); + equal(occurrences.length, 2); +} |