xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
tests
libxrpl
json
tests/libxrpl/json/Output.cpp
1
#include <xrpl/json/Output.h>
2
3
#include <xrpl/json/json_reader.h>
4
#include <xrpl/json/json_writer.h>
5
6
#include <gtest/gtest.h>
7
8
#include <
string
>
9
10
using namespace
xrpl
;
11
using namespace
json
;
12
13
static
void
14
checkOutput(
std::string
const
& valueDesc)
15
{
16
std::string
output;
17
json::Value
value;
18
ASSERT_TRUE(
json::Reader
().
parse
(valueDesc, value));
19
auto
out =
stringOutput
(output);
20
outputJson
(value, out);
21
22
auto
expected =
json::FastWriter
().
write
(value);
23
EXPECT_EQ(output, expected);
24
EXPECT_EQ(output, valueDesc);
25
EXPECT_EQ(output,
jsonAsString
(value));
26
}
27
28
TEST
(JsonOutput, output_cases)
29
{
30
checkOutput(
"{}"
);
31
checkOutput(
"[]"
);
32
checkOutput(R
"([23,4.25,true,null,"string"])");
33
checkOutput(R
"({"hello":"world"})");
34
checkOutput(
"[{}]"
);
35
checkOutput(
"[[]]"
);
36
checkOutput(R
"({"array":[{"12":23},{},null,false,0.5]})");
37
}
std::string
json::FastWriter
Outputs a Value in JSON format without formatting (not human friendly).
Definition
json_writer.h:37
json::FastWriter::write
std::string write(Value const &root) override
Definition
json_writer.cpp:179
json::Reader
Unserialize a JSON document into a Value.
Definition
json_reader.h:20
json::Value
Represents a JSON value.
Definition
json_value.h:117
json
JSON (JavaScript Object Notation).
Definition
json_errors.h:5
json::outputJson
void outputJson(json::Value const &, Output const &)
Writes a minimal representation of a Json value to an Output in O(n) time.
Definition
libxrpl/json/Output.cpp:75
json::jsonAsString
std::string jsonAsString(json::Value const &)
Return the minimal string representation of a json::Value in O(n) time.
Definition
libxrpl/json/Output.cpp:82
json::stringOutput
Output stringOutput(std::string &s)
Definition
include/xrpl/json/Output.h:14
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::TEST
TEST(FileUtilitiesTest, get_file_contents)
Definition
tests/libxrpl/basics/FileUtilities.cpp:60
std::chrono::parse
T parse(T... args)
string
Generated by
1.17.0