tballison commented on PR #3277:
URL: https://github.com/apache/tika/pull/3277#issuecomment-6079064057
Just some :robot: nits. Some look reasonable.
```
Edge cases
1. No real file pins the new output. All 14 new tests are hand-built
object graphs. Of the 16 .one fixtures only
testOneNote2007OrEarlier.one changes (two <ul>, six <li>, verified by
diffing main vs PR), and nothing asserts it. No
fixture has a table or a numbered list. Ask the author to contribute
the Section-1.one from the PR description (their
own content, 86 KB, covers table, nested bullets, 1/a/i, restart) with
an OneNoteParserTest asserting the shape, plus
one assertion on the 2007 fixture.
2. Fallback pass order. walkObjectGroupRoots walks deferred tables before
deferred list containers. A table nested in an
unreached outline element is emitted as a bare root, then the element
finds it visited and loses it. One pass over
deferredObjects in group order gives the same completeness and keeps
nesting; only true cycles stay order-arbitrary.
Degraded path only, low.
Hygiene
- OneNoteStructureJcid duplicates OneNoteJcid down to the javadoc line.
Move the six constants there.
- listStyleComparisonCache memoizes Arrays.equals on 4–6-byte arrays via
nested IdentityHashMap; costs more than it saves.
Delete it and the reflection test on the private field; ListStyle
becomes static.
- indent from RgOutlineIndentDistance on outline elements: the spec puts
that property on jcidOutlineNode; elements carry
OutlineElementChildLevel. I probed the fixture: null on every item. Drop
the field.
- testFallbackRecoversDepthSkippedTableDescendants reflects into two
private methods; a 999-object chain reaches the depth
cap through the public walk.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]