HomePhabricator

Fix a TERRIBLE RRULE issue with INTERVAL interacting with ALL OTHER RULES and…

Description

Fix a TERRIBLE RRULE issue with INTERVAL interacting with ALL OTHER RULES and also MANY INTERESTING SPELLINGS OF THE WORD DYNAMIC

Summary:
Ref T10747. When an RRULE is something like "every 233rd hour on thursdays that are the 7th of the month in odd months", we must iterate.

Specifically, the hours that aren't included in the rest of the set still count: this rule does not mean "every 223rd hour on (...)", it means "every 223rd hour, if that hour also satisifies all the rest of the conditions".

This is exceptionally rare/bizarre/useless, but make the tests pass.

Normally, (with INTERVAL=1) we know we'll hit every value and can just skip this.

Test Plan: Unit tests now pass.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10747

Differential Revision: https://secure.phabricator.com/D16628