Commit Graph
27 Commits
Author SHA1 Message Date
Daijiro Wachi eb0492d51e url: remove javascript URL special case
Fixes: https://github.com/nodejs/node/issues/11485
PR-URL: https://github.com/nodejs/node/pull/12331
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-04-12 20:43:22 +02:00
Daijiro Wachi b470a85f07 url: trim leading slashes of file URL paths
It should trim the slashes after the colon into three for file URL.

PR-URL: https://github.com/nodejs/node/pull/12203
Refs: https://github.com/w3c/web-platform-tests/pull/5195
Fixes: https://github.com/nodejs/node/issues/11188
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-04-10 18:09:06 +02:00
Daijiro Wachi 843b7e68ca test: synchronize WPT url setter test data
Updates:
+ Bring tests url-setter-tests from WPT, and put it as JavaScript
+ Comment out unpassed tests

Refs: https://github.com/w3c/web-platform-tests/pull/5112
Refs: https://github.com/nodejs/node/pull/11887
PR-URL: https://github.com/nodejs/node/pull/12058
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
2017-04-03 18:12:05 +09:00
Daijiro Wachi 50bfef66f0 test: synchronize WPT url test data
Refs: https://github.com/w3c/web-platform-tests/pull/4586
Refs: https://github.com/nodejs/node/pull/11887
PR-URL: https://github.com/nodejs/node/pull/12058
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
2017-04-03 18:11:58 +09:00
Daijiro Wachi f8f46f9917 url: change path parsing for non-special URLs
This changes to the way path parsing for non-special URLs.
It allows paths to be empty for non-special URLs and also
takes that into account when serializing.

Fixes: https://github.com/nodejs/node/issues/11962
Refs: https://github.com/whatwg/url/pull/213
PR-URL: https://github.com/nodejs/node/pull/12058
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
2017-04-03 18:11:51 +09:00
Daijiro Wachi cab58fe5df test: synchronize WPT url setters tests data
Synchronize url-setter-test to upstream.

Refs: https://github.com/w3c/web-platform-tests/pull/5112
PR-URL: https://github.com/nodejs/node/pull/11887
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-03-20 11:43:30 -07:00
Daijiro Wachi 60c8a35744 url: restrict setting protocol to "file"
Since file URLs can not have `username/password/port`,
the specification was updated to restrict setting protocol to "file".

Refs: https://github.com/whatwg/url/pull/269
Fixes: https://github.com/nodejs/node/issues/11785
PR-URL: https://github.com/nodejs/node/pull/11887
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-03-20 11:40:54 -07:00
Daijiro Wachi 92bcc13be0 test: test resolveObject with an empty path
Add a case to test an URL object that has no path at all
for `url.resolveObject`.

PR-URL: https://github.com/nodejs/node/pull/11811
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-03-14 20:43:39 +01:00
Daijiro Wachi 879d6663ea net: remove an unused internal module assertPort
A module `assertPort` in `lib/internal/net.js` is not used anymore.

Refs: https://github.com/nodejs/node/pull/11667
PR-URL: https://github.com/nodejs/node/pull/11812
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-03-14 18:51:36 +01:00
Daijiro Wachi 39f7e72440 test: check the origin of the blob URLs
In the getter of the origin in URL, the URL that has blob protocol
will be parsed in a function called "originFor".
Add test cases into the url-tests-additional fixture to test that.

Refs: https://github.com/w3c/web-platform-tests/pull/4941

PR-URL: https://github.com/nodejs/node/pull/11426
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-05 16:40:23 +01:00
Daijiro Wachi cccc6d8545 url: use hasIntl instead of try-catch
Like the other internal modules, we should use
`process.binding('config').hasIntl` instead of `try-catch`
to make sure `icu` is bonded or not.

PR-URL: https://github.com/nodejs/node/pull/11571
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jackson Tian <shyvo1987@gmail.com>
2017-03-04 08:04:08 -08:00
Daijiro Wachi 4cb9f4fde4 doc: add Daijiro Wachi to collaborators
PR-URL: https://github.com/nodejs/node/pull/11676
Reviewed-By: Evan Lucas <evanlucas@me.com>
2017-03-03 18:17:24 +01:00
Daijiro Wachi acc3a80546 test: add two test cases for querystring
+ Cover untested branch in the state machine with the string
  that its first letter is `+` in the key/value.
+ `qs.unescapeBuffer` shouldn't decode `+` to space.

PR-URL: https://github.com/nodejs/node/pull/11551
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-03-01 18:06:56 +01:00
Daijiro Wachi dd2e135560 test: add two test cases for querystring
+ Check an empty substring: In `querystring`, if the `maxKeys` is 1
  and the state machine finds an empty substring between separators,
  it should return an empty object.
+ Test invalid encoded strings: If provided string is an invalid
  encoded string in `query.parse`, it will not be encoded.

PR-URL: https://github.com/nodejs/node/pull/11481
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-02-23 17:08:41 -08:00
Daijiro Wachi 1b31ca6cca test: test bottom-up merge sort in URLSearchParams
The bottom-up iterative stable merge sort is called only when
the length of provided value is larger than 100. Added a test for it.

PR-URL: https://github.com/nodejs/node/pull/11399
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-02-19 12:43:03 -08:00
Daijiro Wachi 02acea92d2 test: add cases for unescape & unescapeBuffer
These two functions in the querystring are used as a fallback.
To test them, two test cases were added which make errors that
will be caught.

PR-URL: https://github.com/nodejs/node/pull/11326
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-02-19 12:39:20 -08:00
Daijiro Wachi 8629b3339d test: add test for URLSearchParams inspection
The member methods of URLSearchParams should split across multiple
lines with `util.inspect` depending on an option `breakLength`.

PR-URL: https://github.com/nodejs/node/pull/11428
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-02-18 15:51:04 +01:00
Daijiro Wachi 4577775a06 url, test: synchronize WPT url tests for file URL
Added at the following PR:
* https://github.com/w3c/web-platform-tests/pull/4382
* https://github.com/w3c/web-platform-tests/pull/4700

PR-URL: https://github.com/nodejs/node/pull/11123
Fixes: https://github.com/nodejs/node/issues/10978
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-02-16 16:52:55 -08:00
Daijiro Wachi 97d111d171 url: fix file state clarification in binding
An empty file URL `file:` should be parsed to `file:///` instead of
`file://`. In the `kFile` state, the process was braked immediately
when the ch is EOL, but it should work as `default` in the kFile state
to adjust slashes.

Applicable cases:
* `file:#foo` => `file:///#foo`
* `file:?bar` => `file:///?bar`

PR-URL: https://github.com/nodejs/node/pull/11123
Fixes: https://github.com/nodejs/node/issues/10978
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2017-02-16 16:51:04 -08:00
Daijiro Wachi eec216fb27 test: cases to querystring related to empty string
+ Add cases to `qs.stringify` that return empty string
+ Add cases to `qs.parse` when `sep` or `eq` is empty

PR-URL: https://github.com/nodejs/node/pull/11329
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2017-02-16 14:49:59 -08:00
Daijiro Wachi 81ef56b3df test: querystring.escape with multibyte characters
Add a test case for querystring.parse with multibyte characters
under 0x800.

PR-URL: https://github.com/nodejs/node/pull/11251
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-02-11 10:16:21 -08:00
Daijiro Wachi 4e259b21a3 querystring, url: handle repeated sep in search
* update state machine in parse
  * repeated sep should be adjusted
  * `&=&=` should be `{ '': [ '', '' ] }`
* add test cases for querystring and URLSearchParams

Fixes: https://github.com/nodejs/node/issues/10454
PR-URL: https://github.com/nodejs/node/pull/10967
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
2017-02-02 13:02:44 -08:00
Daijiro Wachi 71650aa8fc test: use common.hasIntl in tests related to ICU
We should use `common.hasIntl` in tests for test cases which are
related to ICU.
This way we can easily find the test cases that are Intl dependent.
Plus, it will be able to make the tests a little faster if we check
hasIntl first.

Also, this tweaks the log messages to unify the message.

Refs: https://github.com/nodejs/node/pull/10707
PR-URL: https://github.com/nodejs/node/pull/10841
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2017-01-19 09:12:22 +01:00
Daijiro Wachi a0e13dae1f test: skip test-icu-transcode if Intl is not present
use common.hasIntl to make sure Intl object is present or not.

PR-URL: https://github.com/nodejs/node/pull/10707
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Italo A. Casas <me@italoacasas.com>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
2017-01-16 09:45:35 -08:00
Daijiro Wachi 23df9d99ac doc: fix typo in api/addons
PR-URL: https://github.com/nodejs/node/pull/5678
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-14 08:48:08 -07:00
Daijiro Wachi b98d53b28b doc: fix typo in api/dgram
PR-URL: https://github.com/nodejs/node/pull/5678
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-14 08:48:03 -07:00
Daijiro Wachi 3cde96e02f doc: fix typo in api/fs
PR-URL: https://github.com/nodejs/node/pull/5678
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-14 08:47:32 -07:00