aboutsummaryrefslogtreecommitdiffstats
path: root/libtests
AgeCommit message (Collapse)Author
2022-09-05Take advantage of unique_ptr and move construction for BufferJames R. Barlow
Since Buffer has always implemented its copy constructor with a deep copy, its Members object will never have multiple owners. Change to unique_ptr. Also implement move constructors for Buffer, since there may be cases where a deep copy is not needed.
2022-08-31Add QUtil::get_max_memory_usage for testingJay Berkenbilt
2022-07-24JSON schema: support multi-element array validationJay Berkenbilt
2022-07-24JSON schema -- accept single item in place of arrayJay Berkenbilt
When the schema wants a variable-length array, allow a single item as well as allowing an array.
2022-06-25Reformat codeJay Berkenbilt
2022-06-19Add Pl_Function -- a generic function pipelineJay Berkenbilt
2022-06-19Add C API to QPDFLoggerJay Berkenbilt
2022-06-18Add and test QPDFLogger classJay Berkenbilt
2022-05-31Add conversions to ISO-8601 date formatJay Berkenbilt
2022-05-21Format codeJay Berkenbilt
2022-05-21Replace std::regex with validators for better performanceJay Berkenbilt
2022-05-20JSON: detect duplicate dictionary keys while parsingJay Berkenbilt
2022-05-20JSON fix: correctly parse UTF-16 surrogate pairsJay Berkenbilt
2022-05-20Back out fluent QPDFObjectHandle methods. Keep the andGet methods.Jay Berkenbilt
I decided these were confusing and inconsistent with how JSON works. They muddle the API rather than improving it.
2022-05-16Add QUtil::is_long_longJay Berkenbilt
2022-05-14JSON reactor: improve handling of nested containersJay Berkenbilt
Call the parent container's item method before calling the child item's start method so we can easily know the current nesting level when nested items are added.
2022-05-07Prepare code for JSON v2Jay Berkenbilt
Update getJSON() methods and calls to them
2022-05-07JSON: add blob type that generates base64-encoded binary dataJay Berkenbilt
2022-05-04Change JSON parser to parse from an InputSourceJay Berkenbilt
2022-05-04Add new FileInputSource constructorsJay Berkenbilt
2022-05-04Add new Pl_OStream PipelineJay Berkenbilt
2022-05-04Make Pipeline::write take an unsigned char const* (API change)Jay Berkenbilt
2022-05-04Spell check with newer cSpellJay Berkenbilt
2022-05-04Make assert handling less error-proneJay Berkenbilt
Prevent my future self or other contributors from using assert in tests and then having that assert not do anything because of the NDEBUG macro.
2022-05-04Add internal Pl_Base64Jay Berkenbilt
Bidirectional base64; will be used by JSON v2.
2022-05-02Add reactors to the JSON parserJay Berkenbilt
2022-05-02Windows perl workaroundJay Berkenbilt
2022-05-01Limit parser depth for json parserJay Berkenbilt
2022-04-30Code clean up: use range-style for loops wherever possibleJay Berkenbilt
Where not possible, use "auto" to get the iterator type. Editorial note: I have avoid this change for a long time because of not wanting to make gratuitous changes to version history, which can obscure when certain changes were made, but with having recently touched every single file to apply automatic code formatting and with making several broad changes to the API, I decided it was time to take the plunge and get rid of the older (pre-C++11) verbose iterator syntax. The new code is just easier to read and understand, and in many cases, it will be more effecient as fewer temporary copies are being made. m-holger, if you're reading, you can see that I've finally come around. :-)
2022-04-30Formatting: remove space in range-style for loopsJay Berkenbilt
Change .clang-format and commit automated changes from a fresh run of format-code
2022-04-30Use fluent appendItemJay Berkenbilt
2022-04-30Use fluent replaceKeyJay Berkenbilt
2022-04-24Expose QUtil::get_next_utf8_codepointJay Berkenbilt
2022-04-16Use = default and = delete where possible in classesJay Berkenbilt
2022-04-09Remove PointerHolder.hh from other than public header filesJay Berkenbilt
Increase to POINTERHOLDER_TRANSITION=4
2022-04-09Replace PointerHolder with std::shared_ptr in the rest of the codeJay Berkenbilt
Increase to POINTERHOLDER_TRANSITION=3 patrepl s/PointerHolder/std::shared_ptr/g **/*.cc **/*.hh patrepl s/make_pointer_holder/std::make_shared/g **/*.cc patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g **/*.cc patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh git restore include/qpdf/PointerHolder.hh git restore libtests/pointer_holder.cc cleanpatch ./format-code
2022-04-09Rewrite PointerHolder as derived from std::shared_ptrJay Berkenbilt
2022-04-04Programmatically apply new formatting to codeJay Berkenbilt
Run this: for i in **/*.cc **/*.c **/*.h **/*.hh; do clang-format < $i >| $i.new && mv $i.new $i done
2022-03-19Remove old build filesJay Berkenbilt
2022-03-19Add cmake configuration filesJay Berkenbilt
2022-03-08Rename bits_include.cc to qpdf/bits_functions.hhJay Berkenbilt
It's better to just make it a .hh file to reduce confusion.
2022-03-07Force assert to be defined in test codeJay Berkenbilt
2022-02-26Rename bits.icc to bits_include.ccJay Berkenbilt
2022-02-25Allow \/ in a json stringJay Berkenbilt
2022-02-16Remove special case for 0xad for 10.6.2.release-qpdf-10.6.2Jay Berkenbilt
2022-02-16Spell checkJay Berkenbilt
2022-02-15Silently/transparently recognize UTF-16LE as UTF-16 (fixes #649)Jay Berkenbilt
The PDF spec only allows UTF-16BE, but most readers seem to accept UTF-16LE as well, so now qpdf does too.
2022-02-15Handle odd PDFDoc codepoints in UTF-8 during transcoding (fixes #650)Jay Berkenbilt
There are codepoints in PDFDoc that are not valid UTF-8 but map to valid UTF-8. We were handling those correctly with bidirectional mapping. However, if those same code points appeared in UTF-8, where they have no meaning, they were left as fixed points when converting to PDFDoc, where they do have meaning. This change recognizes them as errors.
2022-02-09Fix one more PDF doc encoding error for 10.6 release (fixes #637)release-qpdf-10.6.0Jay Berkenbilt
2022-02-08Add QPDF::getVersionAsPDFVersionJay Berkenbilt