Skip to content

Commit

Permalink
AK: Allow setting both width and precision when formatting a string
Browse files Browse the repository at this point in the history
  • Loading branch information
trflynn89 authored and gunnarbeutner committed Jul 18, 2021
1 parent df5fa8a commit 06ddfcd
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
2 changes: 0 additions & 2 deletions AK/Format.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -550,8 +550,6 @@ void Formatter<StringView>::format(FormatBuilder& builder, StringView value)
VERIFY_NOT_REACHED();
if (m_mode != Mode::Default && m_mode != Mode::String && m_mode != Mode::Character && m_mode != Mode::HexDump)
VERIFY_NOT_REACHED();
if (m_width.has_value() && m_precision.has_value())
VERIFY_NOT_REACHED();

m_width = m_width.value_or(0);
m_precision = m_precision.value_or(NumericLimits<size_t>::max());
Expand Down
3 changes: 3 additions & 0 deletions Tests/AK/TestFormat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,9 @@ TEST_CASE(complex_string_specifiers)
EXPECT_EQ(String::formatted("{:9}", "abcd"), "abcd ");
EXPECT_EQ(String::formatted("{:>9}", "abcd"), " abcd");
EXPECT_EQ(String::formatted("{:^9}", "abcd"), " abcd ");
EXPECT_EQ(String::formatted("{:4.6}", "a"), "a ");
EXPECT_EQ(String::formatted("{:4.6}", "abcdef"), "abcdef");
EXPECT_EQ(String::formatted("{:4.6}", "abcdefghi"), "abcdef");
}

TEST_CASE(cast_integer_to_character)
Expand Down

0 comments on commit 06ddfcd

Please sign in to comment.