test(extract): an exact invariant does not get to be 0.999998
RED. Measured on R761 after the reader landed: non-whitespace preservation was 1 283 393 characters against the source's 1 283 395. Two characters, and a percentage would have let them pass -- a ratio of 0.999998 reads like rounding. Located by a prefix/suffix scan rather than a diff: the whole loss is one `x)` marking a `<sec>` that carries a label and nothing else. The mechanism is this reader's own. A label-only section holds its label as a PREFIX for the body line beneath it, the way `li` is handled in the HTML reader; when no body line follows -- the next thing emitted is the following section's heading -- the pending prefix is overwritten by the next one and the label never reaches the text. `sts-empty-label.xml` is the case, hand-written and small: a lettered point with a body, then one with none, then the next titled section. pytest -q: 1 failed, 1566 passed, 1 skipped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
567a63d455
commit
fc238440d7
3 changed files with 44 additions and 0 deletions
20
tests/fixtures/sts-empty-label.xml
vendored
Normal file
20
tests/fixtures/sts-empty-label.xml
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<standard>
|
||||
<body>
|
||||
<sec id="s-1">
|
||||
<label>84.61</label>
|
||||
<title>Beskyttelse av betong</title>
|
||||
<sec id="s-1-a" sec-type="spec">
|
||||
<label>a)</label>
|
||||
<p>Omfatter beskyttelse mot kjemikalier.</p>
|
||||
</sec>
|
||||
<sec id="s-1-x" sec-type="spec">
|
||||
<label>x)</label>
|
||||
</sec>
|
||||
</sec>
|
||||
<sec id="s-2">
|
||||
<label>84.62</label>
|
||||
<title>Rengjoering av betongoverflate</title>
|
||||
<p>Overflaten rengjoeres foer behandling.</p>
|
||||
</sec>
|
||||
</body>
|
||||
</standard>
|
||||
Loading…
Add table
Add a link
Reference in a new issue