[whatwg/url] Named validation errors (#502)

This addresses #406. 

By my count, there are 54 different places where a `validation error` can occur with the majority of them being unique. This adds a table with descriptive error codes for each unique validation error, which also has an associated description of the error. 

- Would there by value in adding a column indicating whether the validation error can cause the parser to fail?
- I am considering adding example input that would trigger each validation error. Is this something you think would have value?
- The `unexpected-windows-drive-letter-host` needs an error description still.
- I wasn't sure how best to link the validation errors in each spot, so I just ended up doing `<a><unique error name></a> <a>validation error</a>` everywhere. I had considered a prefix or suffix of `validation-error` to every code, but felt it was overly verbose, though I'm not opposed to it if someone feels its more appropriate.
- "Error Message" should probably be renamed to "Error Description".
- Some of the error descriptions could probably use a little more detail, but I wanted to get this initial draft posted.
You can view, comment on, or merge this pull request online at:

  https://github.com/whatwg/url/pull/502

-- Commit Summary --

  * unexpected-c0-control-or-space validation error
  * unexpected-ascii-tab-or-newline
  * Add validation error "invalid-scheme-start-code-point"
  * Add validation error "file-scheme-missing-following-solidus"
  * Add validation error "invalid-scheme"
  * Add validation error "missing-scheme-non-relative-url"
  * Fix bikeshed syntax error
  * Add validation error "relative-url-missing-beginning-solidus"
  * Add validation error "wrong-solidus-special-scheme"
  * Add validation error "missing-solidus-before-authority"
  * Add validation error "unexpected-@-code-point"
  * Add validation error "missing-credentials"
  * Add validation error "unexpected-port-without-host"
  * Add validation error "empty-host-special-scheme"
  * Add validation error "invalid-host"
  * Add validation error "port-out-of-range"
  * Add validation error "invalid-port"
  * Add validation error "unexpected-windows-drive-letter"
  * Add validation error "unexpected-windows-drive-letter-host"
  * Add validation error "unexpected-host-file-scheme"
  * Add validation error "unexpected-empty-path"
  * Add validation error "invalid-url-code-point"
  * Add validation error "unescaped-percent-sign"
  * Add validation error "unclosed-ipv6-address"
  * Add validation error "ascii-idn-failure"
  * Add validation error "forbidden-host-code-point"
  * Add validation error "unexpected-non-decimal-number"
  * Fix definition name clash
  * Add validation error "ipv4-octet-out-of-range"
  * Add validation error "invalid-compressed-ipv6-address"
  * Add validation error "ipv6-too-many-pieces"
  * Add validation error "ipv6-multiple-compression"
  * Add validation error "ipv4-in-ipv6-empty-octet"
  * Add validation error "ipv6-unexpected-eof"
  * Add validation error "ipv6-unexpected-delimiter"
  * Add validation error "ipv6-too-few-pieces"
  * Add validation error "opaque-host-forbidden-code-point"
  * Add validation error "ipv4-in-ipv6-too-many-octets"
  * Add validation error "ipv4-in-ipv6-unexpected-code-point"
  * Add validation error "ipv4-in-ipv6-invalid-first-octet"
  * Add validation error "ipv4-in-ipv6-octet-out-of-range"
  * Add validation error "ipv4-in-ipv6-too-few-octets"
  * Remove redundant ids
  * Some minor cleanup

-- File Changes --

    M url.bs (314)

-- Patch Links --

https://github.com/whatwg/url/pull/502.patch
https://github.com/whatwg/url/pull/502.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/url/pull/502

Received on Friday, 8 May 2020 19:26:42 UTC