Create test fixture directories and integration tests for Phase 7 profile validation exit gate: Invalid profiles (tests/fixtures/profiles/invalid/): - unknown-key.yaml: unrecognized extraction tuning key - bad-combinator.yaml: malformed match combinators (scalar not list) - secret-key.yaml: forbidden api_key (PROFILE_SECRETS_FORBIDDEN) - malformed.yaml: unclosed bracket (YAML syntax error) Valid profiles (tests/fixtures/profiles/valid/): - minimal.yaml: smallest valid profile (name, description, priority only) - invoice-minimal.yaml: simplified invoice with match and extraction Resolution fixtures (tests/fixtures/profiles/resolution/): - custom-invoice.yaml: priority 100 overrides built-in (priority 50) - README.md: documents resolution priority order Integration tests (tests/integration/advanced/profiles.rs): - test_invalid_profiles_rejected: validates all 4 invalid profiles fail - test_valid_profiles_accepted: validates all 2 valid profiles pass - test_profile_resolution_order: tests --profile-dir override behavior - test_invalid_fixture_error_types: validates specific error messages Acceptance criteria: ✓ pdftract profiles validate rejects all 4 invalid files ✓ pdftract profiles validate accepts all 2 valid files ✓ Profile resolution order test passes Closes bf-2ypn2
18 lines
331 B
Text
18 lines
331 B
Text
# Ground truth for unmapped glyph fixture
|
||
# 10 character codes mapped
|
||
|
||
# Code 0 → /g001
|
||
# Code 1 → /g002
|
||
# Code 2 → /g003
|
||
# Code 3 → /CustomA
|
||
# Code 4 → /CustomB
|
||
# Code 5 → /NotAGlyph
|
||
# Code 6 → /glyph_0041
|
||
# Code 7 → /A
|
||
# Code 8 → /B
|
||
# Code 9 → /space
|
||
|
||
# Expected extraction output:
|
||
<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
AB
|