summaryrefslogtreecommitdiff
path: root/Tests/AK/TestFormat.cpp
AgeCommit message (Collapse)Author
2023-04-11AK: Add option to the string formatter to use a digit separatorTim Ledbetter
`vformat()` can now accept format specifiers of the form {:'[numeric-type]}. This will output a number with a comma separator every 3 digits. For example: `dbgln("{:'d}", 9999999);` will output 9,999,999. Binary, octal and hexadecimal numbers can also use this feature, for example: `dbgln("{:'x}", 0xffffffff);` will output ff,fff,fff.
2022-12-08AK: Add formatters for Span<T> and Span<T const>Timothy Flynn
This generalizes the formatter currently used for Vector to be usable for any Span.
2022-12-06Everywhere: Rename to_{string => deprecated_string}() where applicableLinus Groh
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-07-12Everywhere: Add sv suffix to strings relying on StringView(char const*)sin-ack
Each of these strings would previously rely on StringView's char const* constructor overload, which would call __builtin_strlen on the string. Since we now have operator ""sv, we can replace these with much simpler versions. This opens the door to being able to remove StringView(char const*). No functional changes.
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-01-14Tests: Remove some temporary files when finished using themAndreas Kling
Leaving files in /tmp uses memory, which accumulates over time if you do something weird like leaving `run-tests` going all day long. :^)
2021-11-17AK: Convert AK::Format formatting helpers to returning ErrorOr<void>Andreas Kling
This isn't a complete conversion to ErrorOr<void>, but a good chunk. The end goal here is to propagate buffer allocation failures to the caller, and allow the use of TRY() with formatting functions.
2021-10-31AK+Tests: Fix formatting of infinity and NaN valuesDaniel Bertalan
When I added this code in 1472f6d, I forgot to add tests for it. That's why I didn't realize that the values were appended to the wrong FormatBuilder object, so an empty string was returned instead of the expected "nan"/"inf". This made debugging some FPU issues with the ScummVM port significantly more difficult.
2021-10-03AK: Add a basic formatter for wchar_tTim Schumacher
2021-07-19AK: Use new Formatter for each element in Formatter<Vector<T>>Andrew Kaster
The state of the formatter for the previous element should be thrown away for each iteration. This showed up when trying to format a Vector<String>, since Formatter<StringView> was unhappy about some state that gets set when it's called. Add a test for Formatter<Vector>.
2021-07-18AK: Allow setting both width and precision when formatting a stringTimothy Flynn
2021-07-04Everywhere: Prefer using "..."sv over StringView { "..." }Gunnar Beutner
2021-06-19AK: Add support for keeping trailing zeros in fixed precision floatsIdan Horowitz
This uses the same syntax as zero padding integers: String::formatted("{:0.5}", 1.234) => "1.23400"
2021-06-17AK: Add some tests for hexdump formattingAli Mohammad Pur
2021-06-01AK+Everywhere: Fix compiletime format parsing of replacement fieldsAli Mohammad Pur
2021-05-06Tests: Move AK tests to Tests/AKBrian Gianforcaro