From 831a9e6eabff337961882437c13d0f283b3bbc32 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Wed, 31 Dec 2025 20:09:58 +0300 Subject: [PATCH] Added more tests for from_chars verifying unexpected end of input. The added tests check unexpected end of input on even and odd character positions, since these are handled separately in SIMD. --- test/test_from_chars_2.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/test_from_chars_2.cpp b/test/test_from_chars_2.cpp index d07d7a4..4fb5313 100644 --- a/test/test_from_chars_2.cpp +++ b/test/test_from_chars_2.cpp @@ -33,6 +33,30 @@ int main() test( U"", 0, from_chars_error::unexpected_end_of_input ); test( u8"", 0, from_chars_error::unexpected_end_of_input ); + test( "0", 1, from_chars_error::unexpected_end_of_input ); + test( L"0", 1, from_chars_error::unexpected_end_of_input ); + test( u"0", 1, from_chars_error::unexpected_end_of_input ); + test( U"0", 1, from_chars_error::unexpected_end_of_input ); + test( u8"0", 1, from_chars_error::unexpected_end_of_input ); + + test( "01", 2, from_chars_error::unexpected_end_of_input ); + test( L"01", 2, from_chars_error::unexpected_end_of_input ); + test( u"01", 2, from_chars_error::unexpected_end_of_input ); + test( U"01", 2, from_chars_error::unexpected_end_of_input ); + test( u8"01", 2, from_chars_error::unexpected_end_of_input ); + + test( "01234567-89aB-cDeF-0123-456789AbCd", 34, from_chars_error::unexpected_end_of_input ); + test( L"01234567-89aB-cDeF-0123-456789AbCd", 34, from_chars_error::unexpected_end_of_input ); + test( u"01234567-89aB-cDeF-0123-456789AbCd", 34, from_chars_error::unexpected_end_of_input ); + test( U"01234567-89aB-cDeF-0123-456789AbCd", 34, from_chars_error::unexpected_end_of_input ); + test( u8"01234567-89aB-cDeF-0123-456789AbCd", 34, from_chars_error::unexpected_end_of_input ); + + test( "01234567-89aB-cDeF-0123-456789AbCdE", 35, from_chars_error::unexpected_end_of_input ); + test( L"01234567-89aB-cDeF-0123-456789AbCdE", 35, from_chars_error::unexpected_end_of_input ); + test( u"01234567-89aB-cDeF-0123-456789AbCdE", 35, from_chars_error::unexpected_end_of_input ); + test( U"01234567-89aB-cDeF-0123-456789AbCdE", 35, from_chars_error::unexpected_end_of_input ); + test( u8"01234567-89aB-cDeF-0123-456789AbCdE", 35, from_chars_error::unexpected_end_of_input ); + test( "@", 0, from_chars_error::hex_digit_expected ); test( L"@", 0, from_chars_error::hex_digit_expected ); test( u"@", 0, from_chars_error::hex_digit_expected );