blob: 1b2c043dc60e92d3d22307017dd38e4a510fd3d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <sstream>
#include <string>
using namespace std::string_literals;
namespace pt = boost::property_tree;
TEST(property_tree, put)
{
pt::ptree p;
pt::ptree entry;
entry.put_value("name1.txt");
entry.put("<xmlattr>.type", "file1");
p.push_back(pt::ptree::value_type("listentry", entry));
entry.put_value("name2.txt");
entry.put("<xmlattr>.type", "file2");
p.push_back(pt::ptree::value_type("listentry", entry));
pt::ptree list;
list.push_back(pt::ptree::value_type("list", p));
std::stringstream ss;
pt::xml_parser::write_xml(ss, list /*, pt::xml_parser::xml_writer_make_settings<std::string>(' ', 1)*/);
EXPECT_EQ(ss.str(), "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<list><listentry type=\"file1\">name1.txt</listentry><listentry type=\"file2\">name2.txt</listentry></list>");
}
int main(int argc, char* argv[]) {
::testing::InitGoogleMock(&argc, argv);
return RUN_ALL_TESTS();
}
|