Page MenuHomePhabricator

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

Authored by epriestley on Sep 29 2016, 6:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 11:14 AM
Unknown Object (File)
Sat, Dec 21, 10:49 AM
Unknown Object (File)
Mon, Dec 9, 2:53 AM
Unknown Object (File)
Thu, Dec 5, 3:27 AM
Unknown Object (File)
Wed, Nov 27, 4:18 AM
Unknown Object (File)
Wed, Nov 27, 3:09 AM
Unknown Object (File)
Sat, Nov 23, 10:49 AM
Unknown Object (File)
Nov 18 2024, 8:30 PM
Subscribers
None

Details

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.

Diff Detail

Repository
rPHU libphutil
Branch
cal3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 13924
Build 18029: Run Core Tests
Build 18028: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Fix a TERRIBLE RRULE issue with INTERVAL interacting with ALL OTHER RULES and also MANY INTERESTING SPELLINGS OF THE WORD DYNAMIC.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Sep 29 2016, 6:26 PM
This revision was automatically updated to reflect the committed changes.