Your patch for {% now %} looks good however I don't understand why you're adding a test for {% ifequal %}. If you've got a good reason to add that test, then please describe it in a new ticket, and also resubmit a new patch for this ticket solely addressing the {% now %} bug.

I'm attaching an updated patch. It breaks one test: 'now02', but I'm not convinced by that test at all, nor by 'now03' and 'now04' that are commented out since they were introduced, at the merge of magic-removal.

I'm suggest to remove these tests and normalize the behavior of {% now ... %} as shown in the attached patch.