Rhodri James
67f238b794
Refactor context URI reallocation tests
2017-07-22 22:49:15 +02:00
Rhodri James
ae9fe3c614
Test shorter context URI in the face of a failing reallocator
...
Yet another different code path exercised
2017-07-22 22:49:15 +02:00
Rhodri James
1136aceaa3
Test different length context URI with duff reallocator
...
Exercises another different code path
2017-07-22 22:49:15 +02:00
Rhodri James
f4e09d7d5d
Test slightly shorter context URI with duff allocator
...
Exercises a different code path to previous context test
2017-07-22 22:49:15 +02:00
Rhodri James
464aefaccc
Test appropriately long context URI with a failing reallocator
2017-07-22 22:49:15 +02:00
Rhodri James
90f5d5e833
Test not-so-long namespace with failing allocator
2017-07-22 22:49:15 +02:00
Rhodri James
ddd6a15043
Test long namespace with failing allocator
2017-07-22 22:49:15 +02:00
Rhodri James
02a9d765d6
Test long root element name with a failing allocator
2017-07-22 22:49:15 +02:00
Rhodri James
96afb81e9a
Test longer namespace prefix with failing reallocator
2017-07-22 22:49:15 +02:00
Rhodri James
a5e1e0b94b
Test long namespace prefix with a failing reallocator
2017-07-22 22:49:15 +02:00
Rhodri James
e64102e71e
Test handling long attribute list with a failing reallocator
2017-07-22 22:49:15 +02:00
Rhodri James
aa04847906
Test that comments reach the default handler
2017-07-22 22:49:15 +02:00
Rhodri James
a7b6aea376
Test processing instruction with long body and duff allocator
2017-07-22 22:49:15 +02:00
Rhodri James
0a3a399d45
Test processing instruction reaches default handler if no PI handler
2017-07-22 22:49:15 +02:00
Rhodri James
5e4a2d6e6c
Test char entity extending param entity with failing reallocator
2017-07-22 22:49:14 +02:00
Rhodri James
afe4ad3830
Silence overly-pessimistic compiler warning.
...
The parsed_version structure will be fully filled in if parse_version
returns a non-zero value, but initializing the variable to zero is a
trivial cost for the tests.
2017-07-22 22:49:14 +02:00
Rhodri James
5d75b0ae62
Test invalid character reference is faulted
2017-07-22 22:49:14 +02:00
Rhodri James
4792f7af1c
Test expanding a param entity's string pool with a failing allocator
2017-07-22 22:49:14 +02:00
Rhodri James
87967e3623
Test trailing CR in a PE value is interpreted as a newline
2017-07-22 22:49:14 +02:00
Rhodri James
065ade6080
Test error in nested external entity substitution
2017-07-22 22:49:14 +02:00
Rhodri James
cb4f7250ac
Test another different code path for skipped external entity
2017-07-22 22:49:14 +02:00
Rhodri James
49a38e6291
Test different code path for skipping missing external entity
2017-07-22 22:49:14 +02:00
Rhodri James
09aef7e7e3
Test recursive parameter entity
2017-07-22 22:49:14 +02:00
Rhodri James
b641ecffa1
Test missing external entity is skipped
2017-07-22 22:49:14 +02:00
Rhodri James
74a7cdc0ae
Test general entity substitution in standalone internal param entity
2017-07-22 22:49:14 +02:00
Rhodri James
2ad7887d85
Test attribute value of a predefined entity with a duff allocator
2017-07-22 22:49:14 +02:00
Rhodri James
ee46bf0b44
Test whitespace attribute value with dodgy allocator
2017-07-22 22:49:14 +02:00
Rhodri James
a84705afc2
Test attribute value with trailing CR
2017-07-22 22:49:14 +02:00
Rhodri James
52e0daa410
Test long attribute value with failing allocator
2017-07-22 22:49:14 +02:00
Rhodri James
18106f4d58
Test long attribute value with character ref and a failing allocator
...
Tests strictly that a character reference at the end of a long default
value for an attribute will trigger the relevant string pool to grow,
and will recover correctly if there is no memory for growth
2017-07-22 22:49:14 +02:00
Rhodri James
8b5902c886
Test incomplete param ref in attribute default is rejected
2017-07-22 22:49:14 +02:00
Rhodri James
667d9cab63
Test invalid character in default attribute is rejected
2017-07-22 22:49:14 +02:00
Rhodri James
02dfd4b377
Test long attribute with a dodgy reallocator
...
This tests a specific code path through parameter substitution, and
requires the attribute value to come out to 1024 bytes PLUS a terminal
NUL to trigger growth of the string pool in use. The NUL is added
separately, and it is that string append that we are triggering on.
2017-07-22 22:49:14 +02:00
Rhodri James
bf27884912
Test restarting an errored parser returns the same error
2017-07-22 22:49:14 +02:00
Rhodri James
4b9056ae17
Check that resumed general entity parse can be re-suspended
2017-07-22 22:49:14 +02:00
Rhodri James
aae811152f
Test resuming a general entity catches XML errors
2017-07-22 22:49:14 +02:00
Rhodri James
28e9820bcd
Test suspending and resuming parse in parameter entity substitution
2017-07-22 22:49:14 +02:00
Rhodri James
f9c01d3bae
Test suspending and resuming parse during entity substitution
2017-07-22 22:49:14 +02:00
Rhodri James
9edf18d4ef
Add test to ensure a hash collision while expanding hash table
...
This is purely an exercise in code coverage; there is no user-level
way of telling that the hash table has been expanded or that a
collision occurred.
2017-07-22 22:49:14 +02:00
Rhodri James
440df48dc3
Test suspending parse during epilog
2017-07-22 22:49:13 +02:00
Rhodri James
9528e62a1e
Test aborting in the epilog not from a CR character
2017-07-22 22:49:13 +02:00
Rhodri James
ecfd3f15ad
Test handling of partial characters at the end of the epilog
2017-07-22 22:49:13 +02:00
Rhodri James
4bec1abfd4
Test incomplete token in epilog
2017-07-22 22:49:13 +02:00
Rhodri James
1cab6d80f5
Test comment in epilog with failing allocator
2017-07-22 21:57:20 +02:00
Rhodri James
208d652559
Test PI handling in epilog with a failing allocator
2017-07-22 21:57:20 +02:00
Rhodri James
8a8c871723
Extend abort test to cover more epilog code
2017-07-22 21:57:20 +02:00
Rhodri James
eefb733dc7
Test aborting parse during epilog processing
2017-07-22 21:57:20 +02:00
Rhodri James
e8d8c84e3e
Test suspending parse during an XML declaration
2017-07-22 21:57:20 +02:00
Rhodri James
6b2ead89fb
Shuffle code to keep similar things together.
...
No functional changes
2017-07-22 21:56:11 +02:00
Rhodri James
b690ac32c1
Test group with many elements and a failing reallocator
2017-07-22 21:52:47 +02:00