Skip to content

Commit

Permalink
test: add case for url.parse throwing a URIError
Browse files Browse the repository at this point in the history
The auth property of a URL is decoded via decodeURIComponent,
which can throw a URIError. The test URL here will trigger this.

Adds documentation on the possible errors url.parse can throw.

PR-URL: #12135
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: James M Snell <[email protected]>
  • Loading branch information
lovell authored and jasnell committed Apr 4, 2017
1 parent eefdf45 commit 2ff107d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
4 changes: 4 additions & 0 deletions doc/api/url.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ added: v0.1.25
The `url.parse()` method takes a URL string, parses it, and returns a URL
object.

A `TypeError` is thrown if `urlString` is not a string.

A `URIError` is thrown if the `auth` property is present but cannot be decoded.

## url.resolve(from, to)
<!-- YAML
added: v0.1.25
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-url-parse-invalid-input.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ const url = require('url');
].forEach(function(val) {
assert.throws(function() { url.parse(val); }, TypeError);
});

assert.throws(function() { url.parse('http://%E0%A4%A@fail'); }, /^URIError: URI malformed$/);

0 comments on commit 2ff107d

Please sign in to comment.