48 строки
1.6 KiB
JavaScript
48 строки
1.6 KiB
JavaScript
/* 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
|
|
|
|
const 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";
|
|
|
|
const event = createEventFromIcalString(icalString);
|
|
const start = createDate(2009, 0, 1);
|
|
const end = createDate(2009, 11, 31);
|
|
|
|
// the following call caused a never ending loop:
|
|
const occurrenceDates = event.recurrenceInfo.getOccurrenceDates(start, end, 0);
|
|
equal(occurrenceDates.length, 2);
|
|
|
|
// the following call caused a never ending loop:
|
|
const occurrences = event.recurrenceInfo.getOccurrences(start, end, 0);
|
|
equal(occurrences.length, 2);
|
|
}
|