summaryrefslogtreecommitdiff
path: root/tests/writer_string.hpp
blob: 539377c939e22ee05a7a80314a33dd5c0b7e1a93 (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
#ifndef HEADER_TEST_WRITER_STRING_HPP
#define HEADER_TEST_WRITER_STRING_HPP

#include "../src/pugixml.hpp"

#include <string>

struct xml_writer_string: public pugi::xml_writer
{
	std::string contents;

	virtual void write(const void* data, size_t size) PUGIXML_OVERRIDE;

	std::string as_narrow() const;
	std::basic_string<wchar_t> as_wide() const;
	std::basic_string<pugi::char_t> as_string() const;
};

std::string save_narrow(const pugi::xml_document& doc, unsigned int flags, pugi::xml_encoding encoding);
bool test_save_narrow(const pugi::xml_document& doc, unsigned int flags, pugi::xml_encoding encoding, const char* expected, size_t length);

std::string write_narrow(pugi::xml_node node, unsigned int flags, pugi::xml_encoding encoding);
bool test_write_narrow(pugi::xml_node node, unsigned int flags, pugi::xml_encoding encoding, const char* expected, size_t length);

std::basic_string<wchar_t> write_wide(pugi::xml_node node, unsigned int flags, pugi::xml_encoding encoding);

#endif