mirror of
https://github.com/boostorg/beast.git
synced 2025-07-31 21:34:46 +02:00
Add parse_dec tests
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
Version 181:
|
Version 181:
|
||||||
|
|
||||||
* Fix parse_dec algorithm
|
* Fix parse_dec algorithm
|
||||||
|
* Add parse_dec tests
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -1213,6 +1213,42 @@ public:
|
|||||||
BEAST_EXPECT(ec);
|
BEAST_EXPECT(ec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
testIssue1211()
|
||||||
|
{
|
||||||
|
using base = detail::basic_parser_base;
|
||||||
|
auto const good =
|
||||||
|
[&](string_view s, std::uint32_t v0)
|
||||||
|
{
|
||||||
|
std::uint32_t v;
|
||||||
|
auto const result =
|
||||||
|
base::parse_dec(s.begin(), s.end(), v);
|
||||||
|
if(BEAST_EXPECTS(result, s))
|
||||||
|
BEAST_EXPECTS(v == v0, s);
|
||||||
|
};
|
||||||
|
auto const bad =
|
||||||
|
[&](string_view s)
|
||||||
|
{
|
||||||
|
std::uint32_t v;
|
||||||
|
auto const result =
|
||||||
|
base::parse_dec(s.begin(), s.end(), v);
|
||||||
|
BEAST_EXPECTS(! result, s);
|
||||||
|
};
|
||||||
|
good("0", 0);
|
||||||
|
good("00", 0);
|
||||||
|
good("001", 1);
|
||||||
|
good("255", 255);
|
||||||
|
good("65535", 65535);
|
||||||
|
good("65536", 65536);
|
||||||
|
good("4294967295", 4294967295);
|
||||||
|
bad ("");
|
||||||
|
bad (" ");
|
||||||
|
bad (" 0");
|
||||||
|
bad ("0 ");
|
||||||
|
bad ("-1");
|
||||||
|
bad ("4294967296");
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -1237,6 +1273,7 @@ public:
|
|||||||
testIssue692();
|
testIssue692();
|
||||||
testFuzz();
|
testFuzz();
|
||||||
testRegression1();
|
testRegression1();
|
||||||
|
testIssue1211();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user