Forty original fixtures. Y means the declared adapter returned fields; it is not a URL verdict.
40 of 40 rows
| ID | Purpose | Node accepted | Python accepted | Ruby accepted | Equal serialization |
|---|---|---|---|---|---|
| P01 | Userinfo and destination host | Y | Y | Y | N |
| P02 | Unicode and encoded path separator | Y | Y | N | – |
| P03 | IPv6, explicit port and dot segments | Y | Y | Y | N |
| P04 | Scheme-relative URL resolution | Y | Y | Y | N |
| P05 | Host case, default port and dot segments | Y | Y | Y | N |
| P06 | Parent-relative reference | Y | Y | Y | Y |
| P07 | Root-relative reference | Y | Y | Y | Y |
| P08 | Query-only reference | Y | Y | Y | Y |
| P09 | Fragment-only reference | Y | Y | Y | Y |
| P10 | Empty relative reference | Y | Y | Y | Y |
| P11 | Bare hostname-looking relative path | Y | Y | Y | Y |
| P12 | HTTPS scheme without slashes | Y | Y | Y | N |
| P13 | Backslash path separators | Y | Y | N | – |
| P14 | Encoded single-dot segment | Y | Y | Y | N |
| P15 | Encoded parent-dot segment | Y | Y | Y | N |
| P16 | Double-encoded dot text | Y | Y | Y | Y |
| P17 | Literal spaces in path and query | Y | Y | N | – |
| P18 | Leading and trailing ASCII spaces | Y | Y | N | – |
| P19 | Embedded newline in hostname | Y | Y | N | – |
| P20 | Embedded tab in hostname | Y | Y | N | – |
| P21 | Encoded user-info delimiter | Y | Y | Y | Y |
| P22 | Synthetic username and password | Y | Y | Y | Y |
| P23 | Multiple at signs | Y | Y | N | – |
| P24 | Empty user information | Y | Y | Y | N |
| P25 | Default HTTP port | Y | Y | Y | N |
| P26 | Nondefault HTTP port | Y | Y | Y | Y |
| P27 | Trailing-dot hostname and default port | Y | Y | Y | N |
| P28 | ASCII punycode label | Y | Y | Y | Y |
| P29 | Mixed-script subdomain; Cyrillic a | Y | Y | N | – |
| P30 | RFC5737 documentation IPv4 | Y | Y | Y | Y |
| P31 | Integer spelling of documentation IPv4 192.0.2.1 | Y | Y | Y | N |
| P32 | Port zero | Y | Y | Y | Y |
| P33 | Maximum unsigned 16-bit port | Y | Y | Y | Y |
| P34 | Out-of-range port | N | N | Y | – |
| P35 | Negative port text | N | N | N | – |
| P36 | Invalid documentation IPv6 spelling | N | N | N | – |
| P37 | Empty explicit port | Y | Y | Y | N |
| P38 | Repeated and empty query values | Y | Y | Y | Y |
| P39 | Percent-encoded ASCII host label | Y | Y | Y | N |
| P40 | Malformed percent escapes | Y | Y | N | – |
CC BY 4.0 original compilation. No input is sent and no fixture is requested.