aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest
AgeCommit message (Collapse)Author
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-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-20JSON: detect duplicate dictionary keys while parsingJay Berkenbilt
2022-05-20JSON fix: correctly parse UTF-16 surrogate pairsJay Berkenbilt
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-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-09Rewrite PointerHolder as derived from std::shared_ptrJay 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-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 PDFVersion classJay Berkenbilt
2022-02-08WHITESPACE ONLY -- expand tabs in source codeJay Berkenbilt
This comment expands all tabs using an 8-character tab-width. You should ignore this commit when using git blame or use git blame -w. In the early days, I used to use tabs where possible for indentation, since emacs did this automatically. In recent years, I have switched to only using spaces, which means qpdf source code has been a mixture of spaces and tabs. I have avoided cleaning this up because of not wanting gratuitous whitespaces change to cloud the output of git blame, but I changed my mind after discussing with users who view qpdf source code in editors/IDEs that have other tab widths by default and in light of the fact that I am planning to start applying automatic code formatting soon.
2022-02-05Improve use of std::unique_ptrJay Berkenbilt
* Use unique_ptr in place of shared_ptr in some cases * unique_ptr for arrays does not require a custom deleter * use std::make_unique (c++14) where possible
2022-02-04PointerHolder: add get() and use_count() for forward compatibilityJay Berkenbilt
PointerHolder will be replaced with shared_ptr, so let people start moving.
2022-02-04Add array test to PointerHolderJay Berkenbilt
2022-02-01Make QPDFArgParser accept const argvJay Berkenbilt
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
2022-01-31JSONHandler: pass JSON object to array start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to dict start functionJay Berkenbilt
If some keys depend on others, we have to check up front since there is no control of what order key handlers will be called. Anyway, keys are unordered in json, so we don't want to depend on ordering.
2022-01-30Improve top-level help informationJay Berkenbilt
2022-01-30QPDFArgParser: remove unused copyFromOtherTableJay Berkenbilt
This was used, but it no longer is, so let's not keep the extra complexity around.
2022-01-30Add QUtil::make_shared_cstrJay Berkenbilt
Replace most of the calls to QUtil::copy_string with this instead.
2022-01-30Allow optional fields in json "schema" checksJay Berkenbilt
2022-01-30JSONHandler: rework dictionary and array handlersJay Berkenbilt
2022-01-30Implement JSONHandler for recursively processing JSONJay Berkenbilt
2022-01-30Add JSON::parseJay Berkenbilt
2022-01-30Generate help content from manualJay Berkenbilt
This is a massive rewrite of the help text and cli.rst section of the manual. All command-line flags now have their own help and are specifically index. qpdf --help is completely redone.
2022-01-30QPDFArgParser: support adding/printing help informationJay Berkenbilt
2022-01-30QPDFArgParser: handle optional choices including helpJay Berkenbilt
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices.
2022-01-30Add QPDFArgParser::copyFromOtherTableJay Berkenbilt
2022-01-30Implement QPDFArgParser based on ArgParser from qpdf.ccJay Berkenbilt
2022-01-11Add missing characters from PDF doc encoding (fixes #606)Jay Berkenbilt
2022-01-06Move bash/zsh completion helpers to libtests/arg_parserJay Berkenbilt
2022-01-06Move filter-completion.pl to libtests/arg_parserJay Berkenbilt
2021-12-17Add Pl_Buffer::getMallocBufferJay Berkenbilt
2021-12-10Handle bitstream overflow errors more gracefully (fixes #581)Jay Berkenbilt
* Make it a runtime error, not a logic error * Include additional information * Capture it properly in checkLinearization
2021-11-04Add QIntC::range_check_subtractJay Berkenbilt
2021-02-18Add QUtil::path_basenameJay Berkenbilt
2021-02-13QUtil::double_to_string: trim trailing zeroes with option to disableJay Berkenbilt
2021-02-09Add QUtil methods for dealing with PDF timestamp stringsJay Berkenbilt