pdftract/crates/pdftract-core/src/parser
jedarden 60ae7ea561 test(pdftract-5upi): add acceptance criteria tests for structural token lexer
Add comprehensive tests for array/dict delimiters, keywords, indirect
references, stream header validation, and edge cases like case-mismatched
keywords.

All tests verify the existing lexer implementation handles:
- [1 2 3] -> ArrayStart, Integer(1), Integer(2), Integer(3), ArrayEnd
- << /A 1 >> -> DictStart, Name(b"A"), Integer(1), DictEnd
- <48> -> String(b"\x48") (NOT dict - < vs << distinction)
- <<<48>>> -> DictStart, String(b"\x48"), DictEnd
- true false null -> Bool(true), Bool(false), Null
- 12 0 obj null endobj -> Integer(12), Integer(0), Obj, Null, EndObj
- 5 0 R -> Integer(5), Integer(0), IndirectRef
- stream\n vs stream\r -> StructInvalidStreamHeader for lone CR
- True (case-mismatched) -> Token::Keyword(b"True")
- proptest: random bytes never panic, always terminate with Eof

Addresses pdftract-5upi acceptance criteria.
2026-05-20 18:52:35 -04:00
..
lexer test(pdftract-5upi): add acceptance criteria tests for structural token lexer 2026-05-20 18:52:35 -04:00
object feat(pdftract-59zz): implement MCP bearer token ingress channels and TH-03 enforcement 2026-05-18 02:47:54 -04:00
catalog.rs docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
diagnostic.rs docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
mod.rs docs(pdftract-46lw): add forward_scan_xref verification note 2026-05-20 18:52:07 -04:00
objstm.rs fix(pdftract-2hm4): fix keyword lexer to use Vec<u8> and improve diagnostics 2026-05-18 02:11:40 -04:00
ocg.rs docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
outline.rs feat(pdftract-5calf): implement outline traversal with UTF-16BE BOM detection 2026-05-20 18:49:52 -04:00
pages.rs docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
resources.rs docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
secrets.rs feat(pdftract-59zz): implement MCP bearer token ingress channels and TH-03 enforcement 2026-05-18 02:47:54 -04:00
stream.rs docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
xref.rs fix(pdftract-5upi): add parse_obj_header_at_memory for xref forward scan 2026-05-18 02:54:35 -04:00