Working on the repeating events section now. Inspired by some of the automated testing discussions we’ve been having with Don Levan, I’ve got a table of repeat requests and I loop through those after each tweak of our script to make sure the script is still creating the right repetitions in each case…
Weekly on Tuesday and Thursday for 5 weeks:RRULE:FREQ=WEEKLY;COUNT=10;BYDAY=TU,THEvery other week on Monday, Wednesday and Friday until December 24,1997RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;BYDAY=MO,WE,FREvery other week on Tuesday and Thursday, for 8 occurrences:RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;BYDAY=TU,THMonthly on the 1st Friday for ten occurrences:RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
This is working great for repeating FileMaker events, but the new calendar can also show events from iCal URLs within the same calendar. And currently, it can’t display those events if they are repeating. So, hopefully by teaching the FileMaker side how to read iCal’s repetition grammar we’ll be able to display repeating iCal events beside your FileMaker events in the same calendar.
Now that this script is wired into the actual creation of repeating events, I see the wisdom of having these testing patterns in there. We found some bugs and needed to tweak the script: so having a set of tests to run after tweaking really let us zero in on the problem in a way I don’t think we could have (as quickly) if we’d been just ad hoc testing.
I think it also helped that the test progressed in complexity from simple rules like
to more complicated ones like
With them progressing in complexity this way, when an early test failed we could know it was something in the basic in-and-out of the script, rather than assume, as we often do, that it was some of the more tricky stuff causing the problem.