Core/StringExt: Fix IsNumber returning true for "-"
This commit is contained in:
parent
d3fabf21d6
commit
63c61c0827
|
|
@ -26,12 +26,12 @@ namespace Nz
|
|||
|
||||
inline bool IsNumber(std::string_view str)
|
||||
{
|
||||
if (!str.empty() && str.front() == '-')
|
||||
str.remove_prefix(1);
|
||||
|
||||
if (str.empty())
|
||||
return false;
|
||||
|
||||
if (str.front() == '-')
|
||||
str.remove_prefix(1);
|
||||
|
||||
return std::find_if(str.begin(), str.end(), [](unsigned char c) { return !std::isdigit(c); }) == str.end();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ SCENARIO("String", "[CORE][STRING]")
|
|||
{
|
||||
CHECK(Nz::IsNumber("123456"));
|
||||
CHECK(Nz::IsNumber("-123456"));
|
||||
CHECK_FALSE(Nz::IsNumber(""));
|
||||
CHECK_FALSE(Nz::IsNumber("-"));
|
||||
CHECK_FALSE(Nz::IsNumber("123 "));
|
||||
CHECK_FALSE(Nz::IsNumber("Nazara Engine"));
|
||||
CHECK_FALSE(Nz::IsNumber("12345Nazara Engine"));
|
||||
|
|
|
|||
Loading…
Reference in New Issue