🔨 fixed some warnings
This commit is contained in:
parent
c7a69ae03e
commit
d53ef95067
2 changed files with 11 additions and 12 deletions
|
@ -6644,7 +6644,7 @@ class serializer
|
||||||
{
|
{
|
||||||
if (ensure_ascii and (s[i] & 0x80 or s[i] == 0x7F))
|
if (ensure_ascii and (s[i] & 0x80 or s[i] == 0x7F))
|
||||||
{
|
{
|
||||||
const auto bytes = bytes_following(s[i] & 0xFF);
|
const auto bytes = bytes_following(static_cast<uint8_t>(s[i]));
|
||||||
if (bytes == std::string::npos)
|
if (bytes == std::string::npos)
|
||||||
{
|
{
|
||||||
// invalid characters are treated as is, so no
|
// invalid characters are treated as is, so no
|
||||||
|
@ -6821,7 +6821,7 @@ class serializer
|
||||||
if ((0x00 <= s[i] and s[i] <= 0x1F) or
|
if ((0x00 <= s[i] and s[i] <= 0x1F) or
|
||||||
(ensure_ascii and (s[i] & 0x80 or s[i] == 0x7F)))
|
(ensure_ascii and (s[i] & 0x80 or s[i] == 0x7F)))
|
||||||
{
|
{
|
||||||
const auto bytes = bytes_following(s[i] & 0xFF);
|
const auto bytes = bytes_following(static_cast<uint8_t>(s[i]));
|
||||||
if (bytes == std::string::npos)
|
if (bytes == std::string::npos)
|
||||||
{
|
{
|
||||||
// copy invalid character as is
|
// copy invalid character as is
|
||||||
|
|
|
@ -32,6 +32,15 @@ SOFTWARE.
|
||||||
#include "json.hpp"
|
#include "json.hpp"
|
||||||
using nlohmann::json;
|
using nlohmann::json;
|
||||||
|
|
||||||
|
void check_escaped(const char* original, const char* escaped, const bool ensure_ascii = false);
|
||||||
|
void check_escaped(const char* original, const char* escaped, const bool ensure_ascii)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
json::serializer s(nlohmann::detail::output_adapter_factory<char>::create(ss), ' ');
|
||||||
|
s.dump_escaped(original, ensure_ascii);
|
||||||
|
CHECK(ss.str() == escaped);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("convenience functions")
|
TEST_CASE("convenience functions")
|
||||||
{
|
{
|
||||||
SECTION("type name as string")
|
SECTION("type name as string")
|
||||||
|
@ -49,16 +58,6 @@ TEST_CASE("convenience functions")
|
||||||
|
|
||||||
SECTION("string escape")
|
SECTION("string escape")
|
||||||
{
|
{
|
||||||
const auto check_escaped = [](const char* original,
|
|
||||||
const char* escaped,
|
|
||||||
const bool ensure_ascii = false)
|
|
||||||
{
|
|
||||||
std::stringstream ss;
|
|
||||||
json::serializer s(nlohmann::detail::output_adapter_factory<char>::create(ss), ' ');
|
|
||||||
s.dump_escaped(original, ensure_ascii);
|
|
||||||
CHECK(ss.str() == escaped);
|
|
||||||
};
|
|
||||||
|
|
||||||
check_escaped("\"", "\\\"");
|
check_escaped("\"", "\\\"");
|
||||||
check_escaped("\\", "\\\\");
|
check_escaped("\\", "\\\\");
|
||||||
check_escaped("\b", "\\b");
|
check_escaped("\b", "\\b");
|
||||||
|
|
Loading…
Reference in a new issue