aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest
AgeCommit message (Collapse)Author
2023-03-08Add new procedure QUtil::read_file_into_stringm-holger
2023-02-04In JSONParser::getToken handle structural and space chars earlym-holger
2023-02-04In JSONParser::getToken handle legal control chars earlym-holger
Also, reject them in strings.
2023-02-04In JSONParser::getToken reject illegal control charactersm-holger
2023-02-04In JSONParser::handleToken simplify setting of start and endm-holger
2023-02-01Refactor end of input handling in JSONParserm-holger
2023-02-01In JSONParser add lex_state ls_number_e_signm-holger
2023-02-01In JSONParser add lex_state ls_number_pointm-holger
Also. remove '.' as starting char in lsTop.
2023-02-01In JSONParser add lex_state ls_number_leading_zerom-holger
2023-02-01In JSONParser add lex_state ls_number_minusm-holger
2022-09-08Add ability to initialize Pl_Function with a C-style functionJay Berkenbilt
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.