feat: parse bounded FSSHTTPB packages

This commit is contained in:
2026-07-22 19:15:51 +02:00
parent c99615f5e6
commit 30b0357530
10 changed files with 1795 additions and 0 deletions

View File

@@ -38,6 +38,27 @@ and does not change the underlying file's licence.
Tests verify the package hash, all seven paths, the native `.one` magic for
every section, section parse statuses, and representative title/text output.
## `joplin-quick-notes-fsshttp.one.b64`
- Immediate reviewed source: `onenote.rs`
[`crates/parser/tests/samples/joplin/Simple notebook/Quick Notes.one`](https://github.com/msiemens/onenote.rs/blob/5138a39a3f4e72b840932f9872fecde52fa9da60/crates/parser/tests/samples/joplin/Simple%20notebook/Quick%20Notes.one)
at the parser reference revision
`5138a39a3f4e72b840932f9872fecde52fa9da60`; introduced there by commit
`3011a1f0f2a13288aa8ac366f783adc0673e4989` as test data from Joplin.
- Upstream attribution recorded alongside the source fixture: Joplin,
copyright Laurent Cozic, AGPL-3.0-or-later. The full licence is retained in
`LICENSES/AGPL-3.0.txt`.
- Decoded size: 17,197 bytes.
- Decoded SHA-256:
`5e501ef5f539cd2f149786f57659be9d0762913d863a69867deb9c8e8c43efe2`.
- Golden package expectation: FSSHTTPB package-store section with one Storage
Index, one Storage Manifest, four Cell Manifests, nine Revision Manifests,
and nine Object Groups. This fixture contains no Data Element Fragments or
Object Data BLOB elements.
Tests retain the exact hash, validate the package envelope and element counts,
and exercise truncated, malformed, padding, and configured-limit failures.
## Inline rust-cab CAB fixtures
`src/onenote/onepkg/cabinet.test.ts` contains byte-for-byte test arrays copied

View File

@@ -0,0 +1,302 @@
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
AQAAALAOAAAJCwAGALIAhAIbZKENJlHyi/hNkYTusdymUy1soQ0mUfKL+E2RhO6x3KZTLXShDSZR
8ov4TZGE7rHcplMtfKENJlHyi/hNkYTusdymUy2EoQ0mUfKL+E2RhO6x3KZTLYyhDSZR8ov4TZGE
7rHcplMtlKENJlHyi/hNkYTusdymUy2coQ0mUfKL+E2RhO6x3KZTLaShDSZR8ov4TZGE7rHcplMt
rKENJlHyi/hNkYTusdymUy20oQ0mUfKL+E2RhO6x3KZTLbyhDSZR8ov4TZGE7rHcplMtRKENJlHy
i/hNkYTusdymUy0AxQ0AAIAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAA
FgAAABcAAAAIAAAABgCSHAAI3BwAiA8dABQQHQAU2DQAJF8dACQAAIA/zczMPgwAAAABAAAAsA4A
AAksAAYAsMYFTKENJlHyi/hNkYTusdymUy3UoQ0mUfKL+E2RhO6x3KZTLQB9AgAAgAkAAAAaAAAA
BgAUHAAUFRwAFD4cABSEHAAUIBwAJHodABQAAAAAAAAAAAwACQAAAAAAAgAAAFyxZlOwDgAACQwA
BgCyAAgBA1ShDSZR8ov4TZGE7rHcplMtAOEBAACACgAAAA4AAxwADBMcAAwbHAAUEhwAHIQcABSy
HACI4BwAiPkcAIiRHACI/xwAiOwcABS0HACIIBwAJHodABQBAAAAUEEUAAAABPX19QAAAD8AAAAA
AABAPwAAQD8MAAAAAACQQAEAAABcsWZTsA4AAAkNAAYAsPIHxKENJlHyi/hNkYTusdymUy3EoQ0m
UfKL+E2RhO6x3KZTLVyhDSZR8ov4TZGE7rHcplMtAIcDAACAGAAAABgAAAALAAAACQADHAAMCR0A
FHodABR5HQAgeB0AILIcAIjgHACItBwAiB8cACQBXLFmU1yxZlMBAAAAsA4AAAkOAAYAsLYFnKEN
JlHyi/hNkYTusdymUy3MoQ0mUfKL+E2RhO6x3KZTLQBtAgAAgBMAAAAZAAAABgAiHAAc/hwAECw0
ACC0HACIEx4AJHodABQCAAAAAAAAAAEAAABcsWZTsA4AAAlNABIAsPAAAOsAAACACABaNAAc2jQA
DAscABAMHAAUijQAHC80ABQuNAAUChwAHBQAAABQAGEAZwBlAFQAaQB0AGwAZQAAAAIoAAAAAP8E
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
Gk64guHj3tTFWAkJAADAKoT5pCo/dOwaTriC4ePe1MVYA60FAMAq/KENJlHyi/hNkYTusdymUy0J
CQAAwCz8oQ0mUfKL+E2RhO6x3KZTLQMaAgAAdfQAsA4AAAlEAAIAsFwDnPmkKj907BpOuILh497U
xVgANQEAAIATAQAAAgB3HQAYeR0AIABVgMihndoBsA4AAAkNAAYAsNoHxKENJlHyi/hNkYTusdym
Uy3EoQ0mUfKL+E2RhO6x3KZTLez5pCo/dOwaTriC4ePe1MVYAG8DAACAGAIAABgCAAAdAQAABgAD
HAAMCR0AFHodABR4HQAgeR0AIB8cACQBjrJmU5KyZlMBAAAAsA4AAAkOAAYAsPYFZKENJlHyi/hN
kYTusdymUy3MoQ0mUfKL+E2RhO6x3KZTLQCtAgAAgAwCAAAZAgAABgD+HAAQeh0AFCIcABxbHgAc
LDQAIBMeACQJBJKyZlMaAAAAUABhAGcAZQAgAGMAbwBuAHQAZQBuAHQAAAAEAAAAMQAAAAEAAACw
DgAACQwABgCw6AP0+aQqP3TsGk64guHj3tTFWADBAQAAgB4BAAAJAAMcAAwTHAAMFBwAFBUcABQb
HAAUhBwAFHodABQSHAAcIBwAJAEAAACAP5qZGUAAAFBBCQAAAI6yZlMUAAAABPX19QAAAD8AAAAA
AABAPwAAQD8BAAAAsA4AAAkLAAYAsgC+Ah3M+aQqP3TsGk64guHj3tTFWEShDSZR8ov4TZGE7rHc
plMtZKENJlHyi/hNkYTusdymUy1soQ0mUfKL+E2RhO6x3KZTLXShDSZR8ov4TZGE7rHcplMtfKEN
JlHyi/hNkYTusdymUy2EoQ0mUfKL+E2RhO6x3KZTLYyhDSZR8ov4TZGE7rHcplMtlKENJlHyi/hN
kYTusdymUy2coQ0mUfKL+E2RhO6x3KZTLaShDSZR8ov4TZGE7rHcplMtrKENJlHyi/hNkYTusdym
Uy20oQ0mUfKL+E2RhO6x3KZTLbyhDSZR8ov4TZGE7rHcplMtAN0OAACAGQEAAAgCAAAMAgAADQIA
AA4CAAAPAgAAEAIAABECAAASAgAAEwIAABQCAAAVAgAAFgIAABcCAAAHAJIcAAjcHACIDx0AFBAd
ABQgHAAkXx0AJNg0ACQAAIA/zczMPgEAAAABAAAADAAAALAOAAAJDQAGALDyB8ShDSZR8ov4TZGE
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==