Include field name when diagnosing field not found:

Closes #3263
This commit is contained in:
John Freeman
2020-02-19 15:30:27 -06:00
committed by Carl Hua
parent f76a5a3183
commit 053b6d9fd3
3 changed files with 30 additions and 15 deletions

View File

@@ -29,9 +29,22 @@
#include <ripple/protocol/messages.h>
#include <memory>
#include <regex>
namespace ripple {
/**
* Return true if the string loosely matches the regex.
*
* Meant for testing human-readable strings that may change over time.
*/
inline bool
matches(char const* string, char const* regex)
{
return std::regex_search(
string, std::basic_regex<char>(regex, std::regex_constants::icase));
}
class STTx_test : public beast::unit_test::suite
{
public:
@@ -1283,8 +1296,7 @@ public:
}
catch (std::runtime_error const& ex)
{
BEAST_EXPECT (
std::strcmp (ex.what(), "Field not found") == 0);
BEAST_EXPECT(matches(ex.what(), "field not found"));
}
}
@@ -1348,8 +1360,7 @@ public:
}
catch (std::runtime_error const& ex)
{
BEAST_EXPECT (
std::strcmp (ex.what(), "Field not found") == 0);
BEAST_EXPECT(matches(ex.what(), "field not found"));
}
}