UDADuration: add age and countdown format styles#4014
Open
apoelstra wants to merge 5 commits intoGothenburgBitFactory:developfrom
Open
UDADuration: add age and countdown format styles#4014apoelstra wants to merge 5 commits intoGothenburgBitFactory:developfrom
age and countdown format styles#4014apoelstra wants to merge 5 commits intoGothenburgBitFactory:developfrom
Conversation
Copy the unit test from "relative" for the positive case of "countdown", since the code as implemented for "countdown" is identical to the code for "relative". I am including this commit, even though the next commit will override it, to confirm my understanding of how the existing datetime styles work. Initially I had gotten myself turned in circles because I misread the "if now < date then add a - sign" logic as an absolute-value calculation and badly misunderstood the behavior of "age" and "relative". See GothenburgBitFactory#4013
The "countdown" format has been the same as the "relative" format, except that negative durations are not rendered, for about a decade. (There was a minor fix in GothenburgBitFactory#1840.) However, the example text shows something that looks like 00:00:00. This is how "countdown" was originally rendered but this was changed as part of the "isodate" branch in 995de68. See GothenburgBitFactory#4013 for more information. Fixes GothenburgBitFactory#4013
For compatibility reasons I couldn't simply rename "default", so I just added a new "iso" as a synonym. While I was in there I added some example output. There are currently no tests for UDA durations so I added one.
…format I just copied the logic for this from ColumnTypeDate. I also grepped around for other instances of `formatVague`. I don't know what the argument means but in this project it's set to `true` 100% of the time so I kept it that way. I am using the name "age" as suggested in GothenburgBitFactory#3738
In the same format as ColTypeDatetime. Fixes GothenburgBitFactory#3738
211666e to
0f18031
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As we do for datetimes, allow duration UDAs in reports to be formatted in the "vague" human-readable format or as a second-resolution countdown, instead of only the ISO format. I also added tests for the UDA duration output.
Along the way I attempted to support negative durations but was not able to -- see GothenburgBitFactory/libshared#110 for more information. I will open a followup if that PR (or its sister PR 111) gets into libshared.
Because the countdown format for datetime seemed wrong, I fixed it before implementing the same format for duration. Maybe I should have done this in a separate PR? Let me know and I will split it up.
Fixes #3738
Fixes #4013