AK: Allow setting both width and precision when formatting a string

This commit is contained in:
Timothy Flynn
2021-07-17 18:04:59 -04:00
committed by Gunnar Beutner
parent df5fa8aa39
commit 06ddfcde89
2 changed files with 3 additions and 2 deletions

View File

@@ -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());

View File

@@ -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)