After CheckBidi, decoded-A-label re-validation, and the Unicode 17.0 bump, IdnaConformanceKnownFailures.kt still tracks four cases:
- the empty domain,
- a host containing U+001F (a C0 control),
- a host containing U+00A0 (maps to a space),
- a host containing U+2A74 (expands to
::=).
These are not UTS-46 ToASCII defects, and they are not product bugs. In real URL parsing the WHATWG host parser applies the forbidden-host-code-point check and the empty-host rule on top of "domain to ASCII", and UrlConformanceTest / UrlHrefConformanceTest already pass at full conformance. The residual exists only because the IDNA conformance harness invokes Idna.domainToAscii in isolation, without those host-layer checks.
Decide and implement one of:
- (a) route these corpus inputs through the host-layer checks in the harness so the tracked set reaches zero, or
- (b) document the four as permanently out of scope for the IDNA-engine harness (host parsing owns them) and assert that scope explicitly in the test.
Follow-up to #17.
After CheckBidi, decoded-A-label re-validation, and the Unicode 17.0 bump,
IdnaConformanceKnownFailures.ktstill tracks four cases:::=).These are not UTS-46 ToASCII defects, and they are not product bugs. In real URL parsing the WHATWG host parser applies the forbidden-host-code-point check and the empty-host rule on top of "domain to ASCII", and
UrlConformanceTest/UrlHrefConformanceTestalready pass at full conformance. The residual exists only because the IDNA conformance harness invokesIdna.domainToAsciiin isolation, without those host-layer checks.Decide and implement one of:
Follow-up to #17.