diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2017-06-16 00:09:32 -0700 |
---|---|---|
committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2017-06-16 00:09:32 -0700 |
commit | a3664ea971ee2fe0f2ee33a08e451ce4d6cbd2b0 (patch) | |
tree | 910176f53af632f41f431464a6c0a4e2dd8f27d5 /tests/test_write.cpp | |
parent | d2892be902b9cabe6e3f5732b82f6f2bef8e7d2f (diff) |
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 ".
Diffstat (limited to 'tests/test_write.cpp')
-rw-r--r-- | tests/test_write.cpp | 13 |
1 files 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<pugi::char_t> 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); } } |