pugixml/tests
Arseny Kapoulkine 7c6d0010b3
Merge pull request #170 from zeux/move
This change implements move ctor and assign support for xml_document.

All node handles remain valid after the move and point to the new document; the only exception is the document node itself (that remains unmoved).

Move is O(document size) in theory because it needs to relocate immediate document children (there is just one in conformant documents) and all memory pages; in practice the memory pages only need the header adjusted, which is ~0.1% of the actual data size.

Move requires no allocations in general, except when using compact mode where some moves need to grow the hash table which can fail (throw).

Fixes #104
2017-11-13 13:24:43 -08:00
..
data tests: Fix truncation test 2015-03-13 22:13:10 -07:00
data_fuzz_parse tests: Add support for afl-fuzz 2015-03-13 00:18:30 -07:00
data_fuzz_xpath tests: Add XPath fuzzing 2017-02-09 07:37:38 -08:00
allocator.cpp tests: Fix expansion-to-defined warning 2017-11-10 21:35:59 -08:00
allocator.hpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
autotest-appveyor.ps1 Add VS2017 to AppVeyor test run 2017-06-18 22:20:13 -07:00
fuzz_parse.cpp fuzz: Use libFuzzer instead of afl-fuzz 2017-02-09 07:36:32 -08:00
fuzz_parse.dict tests: Add fuzzing dictionaries 2017-02-11 13:17:02 -08:00
fuzz_setup.sh Move libFuzzer build to Makefile 2017-04-03 21:09:37 -07:00
fuzz_xpath.cpp tests: Add XPath fuzzing 2017-02-09 07:37:38 -08:00
fuzz_xpath.dict tests: Add fuzzing dictionaries 2017-02-11 13:17:02 -08:00
helpers.hpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
main.cpp tests: Add tests for loading special files 2017-06-15 07:23:49 -07:00
test.cpp tests: Fix XPath string comparison 2015-03-04 10:44:08 -08:00
test.hpp Add PUGIXML_OVERRIDE to headers of tests 2016-10-13 01:36:12 +03:00
test_compact.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_deprecated.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_document.cpp tests: Add compact move tests 2017-11-13 08:59:16 -08:00
test_dom_modify.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_dom_text.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_dom_traverse.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_header_guard.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iosfwd_1.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iosfwd_2.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iostream_1.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_iostream_2.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_only_1.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_header_only_2.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_header_string_1.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_string_2.cpp Set svn:eol-style to native for all text files 2010-07-19 09:57:32 +00:00
test_header_string_iostream.cpp tests: Convert several files to Unix line endings 2015-09-19 00:14:18 -07:00
test_memory.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_parse.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_parse_doctype.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_unicode.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_version.cpp Update version to 1.8 everywhere 2016-11-09 09:02:44 -08:00
test_write.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_api.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_functions.cpp tests: Add more XPath out of memory tests 2017-06-22 22:11:43 -07:00
test_xpath_operators.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_parse.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_paths.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_paths_abbrev_w3c.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_paths_w3c.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_variables.cpp tests: Fix PUGIXML_WCHAR_MODE build 2017-06-22 22:18:16 -07:00
test_xpath_xalan_1.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_xalan_2.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_xalan_3.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_xalan_4.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
test_xpath_xalan_5.cpp tests: Make using namespace more explicit 2017-06-22 20:41:08 -07:00
writer_string.cpp Do not emit surrounding whitespace for text nodes 2015-03-18 09:59:17 -07:00
writer_string.hpp Add PUGIXML_OVERRIDE to headers of tests 2016-10-13 01:36:12 +03:00