From a3664ea971ee2fe0f2ee33a08e451ce4d6cbd2b0 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Fri, 16 Jun 2017 00:09:32 -0700 Subject: tests: Expand write_flush coverage Adjust the buffer size to be right on the edge of the overflow, make sure we actually output " instead of ". --- tests/test_write.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/test_write.cpp b/tests/test_write.cpp index e59b7ab..be77aa8 100644 --- a/tests/test_write.cpp +++ b/tests/test_write.cpp @@ -645,20 +645,23 @@ TEST(write_flush_coverage) // this creates a node that uses short sequences of lengths 1-6 for output xml_node n = doc.append_child(STR("n")); - n.text().set(STR("<&\"")); - n.append_child(node_comment); xml_attribute a = n.append_attribute(STR("a")); - size_t basel = save_narrow(doc, 0, encoding_auto).size(); - size_t bufl = 10240; + xml_attribute b = n.append_attribute(STR("b")); + b.set_value(STR("<&\"")); + + n.append_child(node_comment); + + size_t basel = save_narrow(doc, format_raw, encoding_auto).size(); + size_t bufl = 2048; for (size_t l = 0; l <= basel; ++l) { std::basic_string pad(bufl - l, STR('v')); a.set_value(pad.c_str()); - std::string s = save_narrow(doc, 0, encoding_auto); + std::string s = save_narrow(doc, format_raw, encoding_auto); CHECK(s.size() == basel + bufl - l); } } -- cgit v1.2.3