summaryrefslogtreecommitdiff
path: root/tests/test_dom_modify.cpp
AgeCommit message (Collapse)Author
2017-01-31tests: Add more DOM coverage testsArseny Kapoulkine
Add tests for various corner cases of DOM inspection and modification routines.
2016-04-14Remove extra space in an empty tag for format_rawArseny Kapoulkine
When using format_raw the space in the empty tag (<node />) is the only character that does not have to be there; so format_raw almost results in a minimal XML but not quite. It's pretty unlikely that this is crucial for any users - the formatting change should be benign, and it's better to improve format_raw than to add yet another flag. Fixes #87.
2016-02-02tests: Add tests for long settersArseny Kapoulkine
2016-01-24Fix whitespace issuesStephan Beyer
Git warns when it finds "whitespace errors". This commit gets rid of these whitespace errors for code and adoc files.
2015-10-25tests: Fix Borland C++ 5.4 compilationArseny Kapoulkine
The tests now compile fine but crash on the first floating-point exception despite our attempts to disable them in main()...
2015-05-20tests: Split fp roundtrip test into float and doubleArseny Kapoulkine
2015-04-22Fix node_pi memory leakArseny Kapoulkine
2015-04-12Merge branch 'master' into compactArseny Kapoulkine
2015-04-12Fix unused variable warningArseny Kapoulkine
Also fix test in wchar_t mode.
2015-04-12Fix compilation and tests after merge.Arseny Kapoulkine
2015-04-12Merge branch 'master' into compactArseny Kapoulkine
2015-04-12Implment copyless copy for attributesArseny Kapoulkine
Previously attributes that were copied with their node used string sharing, but standalone attributes that were copied using xml_node::*_copy(xml_attribute) were not.
2015-04-12tests: Fix some Coverity issuesArseny Kapoulkine
2015-04-11tests: Improve out-of-memory testsArseny Kapoulkine
Previously there was no guarantee that the tests that check for out of memory handling behavior are actually correct - e.g. that they correctly simulate out of memory conditions. Now every simulated out of memory condition has to be "guarded" using CHECK_ALLOC_FAIL. It makes sure that every piece of code that is supposed to cause out-of-memory does so, and that no other code runs out of memory unnoticed.
2015-04-11tests: Use char_t instead of wchar_tArseny Kapoulkine
2015-04-11tests: Add more out of memory testsArseny Kapoulkine
This provides more coverage for #17.
2015-04-10Merge branch 'master' into compactArseny Kapoulkine
2015-03-21tests: Final test fix for CWArseny Kapoulkine
2015-03-21tests: Work around fp issues in various runtime librariesArseny Kapoulkine
Disable/change some tests for some compilers; use binary float comparison for early MSVC versions.
2015-03-10Merge branch 'master' into compactArseny Kapoulkine
2015-01-17tests: Fix MSVC 2008 compilation warningArseny Kapoulkine
Also include math.h to fix issues on some compilers.
2015-01-16Merge branch 'master' into compactArseny Kapoulkine
2015-01-16tests: Add tests for fp roundtripArseny Kapoulkine
We test min/max and several different mantissas for the entire exponent range for both float and double. It's not clear whether all supported compilers provide an implementation of sprintf/strtod that supports roundtripping so we may need to disable some of these tests in the future.
2015-01-16tests: Add coverage tests for new float settersArseny Kapoulkine
These only do basic testing to make sure the paths are covered and trivial values work.
2015-01-16Increase precision on large number testSteve Doiel
2014-11-20Merge branch 'master' into compactArseny Kapoulkine
2014-11-20Fix node_declaration copying with empty nameArseny Kapoulkine
node_copy_string relied on the fact that target node had an empty name and value. Normally this is a safe assumption (and a good one to make since it makes copying faster), however it was not checked and there was one case when it did not hold. Since we're reusing the logic for inserting nodes, newly inserted declaration nodes had the name set automatically to xml, which in our case violates the assumption and is counter-productive since we'll override the name right after setting it. For now the best solution is to do the same insertion manually - that results in some code duplication that we can refactor later (same logic is partially shared by _move variants anyway so on a level duplicating is not that bad).
2014-11-17Rename xml_document::load to load_stringArseny Kapoulkine
This should completely eliminate the confusion between load and load_file. Of course, for compatibility reasons we have to preserve the old variant - it will be deprecated in a future version and subsequently removed.
2014-11-06tests: Fix all tests for compact modeArseny Kapoulkine
Memory allocation behavior is different in compact mode so tests that rely on current behavior have to be adjusted.
2014-11-02Fix undefined behavior while calling memcpyArseny Kapoulkine
Calling memcpy(x, 0, 0) is technically undefined (although it should usually be a no-op).
2014-10-25Fix node copying for some out of memory casesArseny Kapoulkine
A page can fail to allocate during attribute creation; this case was not previously handled. git-svn-id: https://pugixml.googlecode.com/svn/trunk@1080 99668b35-9821-0410-8761-19e4c4f06640
2014-10-23tests: Add more tests for better coverageArseny Kapoulkine
More tests for out-of-memory and other edge conditions git-svn-id: https://pugixml.googlecode.com/svn/trunk@1075 99668b35-9821-0410-8761-19e4c4f06640
2014-10-23tests: Improve test coverageArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1074 99668b35-9821-0410-8761-19e4c4f06640
2014-10-03tests: Fix MSVC6 compilationArseny Kapoulkine
Also fixes PUGIXML_NO_STL compilation and makes it possible to build with any version of new Windows SDK. git-svn-id: https://pugixml.googlecode.com/svn/trunk@1044 99668b35-9821-0410-8761-19e4c4f06640
2014-10-02tests: Add a test for out-of-memory during copyArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1040 99668b35-9821-0410-8761-19e4c4f06640
2014-10-02tests: Add missing tests to increase code coverageArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1038 99668b35-9821-0410-8761-19e4c4f06640
2014-10-01tests: Add tests for copyless copy and related potential bugsArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1033 99668b35-9821-0410-8761-19e4c4f06640
2014-09-28tests: Add a test for stackless copyArseny Kapoulkine
This test has previously caused a stack overflow on x86/MSVC. git-svn-id: https://pugixml.googlecode.com/svn/trunk@1028 99668b35-9821-0410-8761-19e4c4f06640
2014-08-10tests: Add tests for node movementArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1003 99668b35-9821-0410-8761-19e4c4f06640
2014-02-11Implement document fragment parsing.Arseny Kapoulkine
Introduce a notable behavior change in default parsing mode: documents without a document element node are now considered invalid. This is technically a breaking change, however the amount of documents it affects is very small, all parsed data still persists, and lack of this check results in very confusing behavior in a number of cases. In order to be able to parse documents without an element node, a fragment parsing flag is introduced. Parsing a buffer in fragment mode treats the buffer as a fragment of a valid XML. As a consequence, top-level PCDATA is added to the tree; additionally, there are no restrictions on the number of nodes -- so documents without a document element are considered valid. Due to the way parsing works internally, load_buffer_inplace occasionally can not preserve the document contents if it's parsed in a fragment mode. While unfortunate, this problem is fundamental; since the use case is relatively obscure, hopefully documenting this shortcoming will be enough. git-svn-id: https://pugixml.googlecode.com/svn/trunk@980 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Implement long long support if PUGIXML_HAS_LONG_LONG is defined ↵Arseny Kapoulkine
(autodetection is not implemented yet) git-svn-id: http://pugixml.googlecode.com/svn/trunk@962 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07Compatibility fixes (fixed warnings in gcc, msvc7, fixed errors in bcc, cw, ↵arseny.kapoulkine@gmail.com
msvc6) git-svn-id: http://pugixml.googlecode.com/svn/trunk@939 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07tests: Added append_buffer testsarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@937 99668b35-9821-0410-8761-19e4c4f06640
2010-12-19Enabled many additional GCC warnings (most notably -Wshadow and ↵arseny.kapoulkine
-Wold-style-cast), fixed the code accordingly git-svn-id: http://pugixml.googlecode.com/svn/trunk@800 99668b35-9821-0410-8761-19e4c4f06640
2010-10-26Added xml_document::reset, added append/prepend/insert child overloads for ↵arseny.kapoulkine
elements (with explicit name) git-svn-id: http://pugixml.googlecode.com/svn/trunk@779 99668b35-9821-0410-8761-19e4c4f06640
2010-10-19Added prepend_attribute, prepend_child and prepend_copy functionsarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@769 99668b35-9821-0410-8761-19e4c4f06640
2010-09-26tests: Added node_doctype and parse_doctype testsarseny.kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@757 99668b35-9821-0410-8761-19e4c4f06640
2010-08-04tests: Fixed tests for wchar_t mode, added dummy std::cout/wcout usage for ↵arseny.kapoulkine
MSVC in order to create locales beforehand (avoids memory leaks during tests), minor additional test fixes git-svn-id: http://pugixml.googlecode.com/svn/trunk@629 99668b35-9821-0410-8761-19e4c4f06640
2010-08-04tests: Added even more tests for better code coveragearseny.kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@627 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03tests: Preparations for custom new/delete (leak detection)arseny.kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@620 99668b35-9821-0410-8761-19e4c4f06640