url: support LF, CR and TAB in pathToFileURL#23720
url: support LF, CR and TAB in pathToFileURL#23720demurgos wants to merge 1 commit intonodejs:masterfrom
Conversation
|
this should wait on the resolution of the whatwg issue right? |
|
@devsnek Resolving the WHATWG issue would allow to have the fix out-of-the box, but I am not sure how long it will take to fix this issue and have it land on Node. Once resolved, my changes wouldn't be necessary anymore and can be reverted in a future commit to simplify the code. |
guybedford
left a comment
There was a problem hiding this comment.
Ideally we could tackle the root cause here, so please lets continue to track that, but the temporary fix looks good.
|
CI is failing on windows because it internally uses Is there a way to get the drive letter for the tests? I think it depends on cwd. |
Something like this maybe? path.parse(process.cwd()).rootIf you find you actually want path.parse(__dirname).rootThat will return process.cwd().split(path.sep)[0]
// ...or..
__dirname.split(path.sep)[0] |
|
Old CI results have been wiped, so a new CI although I still expect Windows to fail: https://ci.nodejs.org/job/node-test-pull-request/18797/ @demurgos Are you still intending to finish this up? Or would you prefer someone else take on the test adjustments? |
|
No surprise, but still failing on Windows: 23:57:43 not ok 487 parallel/test-url-pathtofileurl
23:57:43 ---
23:57:43 duration_ms: 0.221
23:57:43 severity: fail
23:57:43 exitcode: 1
23:57:43 stack: |-
23:57:43 assert.js:86
23:57:43 throw new AssertionError(obj);
23:57:43 ^
23:57:43
23:57:43 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
23:57:43 + actual - expected
23:57:43
23:57:43 + 'file:///c:/foobar.mjs'
23:57:43 - 'file:///foobar.mjs'
23:57:43 ^
23:57:43 at Object.<anonymous> (c:\workspace\node-test-binary-windows\test\parallel\test-url-pathtofileurl.js:68:12)
23:57:43 at Module._compile (internal/modules/cjs/loader.js:722:30)
23:57:43 at Object.Module._extensions..js (internal/modules/cjs/loader.js:733:10)
23:57:43 at Module.load (internal/modules/cjs/loader.js:620:32)
23:57:43 at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
23:57:43 at Function.Module._load (internal/modules/cjs/loader.js:552:3)
23:57:43 at Function.Module.runMain (internal/modules/cjs/loader.js:775:12)
23:57:43 at startup (internal/bootstrap/node.js:300:19)
23:57:43 at bootstrapNodeJSCore (internal/bootstrap/node.js:826:3)
23:57:43 ... |
|
Agreed it would be good to get this in regardless of which way the WhatWG decision goes. |
|
I was away for some time. I'll rebase the PR and fix the Windows issue. I'll use separate test-cases for windows because the resolution logic differs a lot. |
cd33cec to
98c141f
Compare
98c141f to
ce6a0e0
Compare
|
@Trott The following error is thrown: Could you also start a full CI? |
|
CI: https://ci.nodejs.org/job/node-test-pull-request/18993/ (Currently backlogged so if you get a 404 and it's been less than an hour since I posted this here, please be patient. It should appear once another job somewhere finishes.) |
|
CI is green and all other requirements are met, but there were some changes pushed (to accommodate Windows) since the last review. Can one or two folks re-review/reaffirm that this still looks good to them? @BridgeAR @guybedford @TimothyGu @jasnell |
|
@Trott |
Fixes: nodejs#23696 PR-URL: nodejs#23720 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
|
Landed in ef0c178. Thanks for the contribution! 🎉 |
|
added the semver-minor label. Feel free to remove if inaccurate |
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
#23708
* The inspection `depth` default is now back at 2.
#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
#24739
* readline:
* The `readline` module now supports async iterators.
#23916
* repl:
* The multiline history feature is removed.
#24804
* tls:
* Added min/max protocol version options.
#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. #24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
#24677
* The install-tools scripts or now included in the dist.
#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
#24655
PR-URL: #24854
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
#23708
* The inspection `depth` default is now back at 2.
#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
#24739
* readline:
* The `readline` module now supports async iterators.
#23916
* repl:
* The multiline history feature is removed.
#24804
* tls:
* Added min/max protocol version options.
#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. #24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
#24677
* The install-tools scripts or now included in the dist.
#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
#24655
PR-URL: #24854
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
#23708
* The inspection `depth` default is now back at 2.
#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
#24739
* readline:
* The `readline` module now supports async iterators.
#23916
* repl:
* The multiline history feature is removed.
#24804
* tls:
* Added min/max protocol version options.
#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. #24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
#24677
* The install-tools scripts or now included in the dist.
#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
#24655
PR-URL: #24854
Fixes: nodejs#23696 PR-URL: nodejs#23720 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
nodejs#23708
* The inspection `depth` default is now back at 2.
nodejs#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
nodejs#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
nodejs#24739
* readline:
* The `readline` module now supports async iterators.
nodejs#23916
* repl:
* The multiline history feature is removed.
nodejs#24804
* tls:
* Added min/max protocol version options.
nodejs#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. nodejs#24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
nodejs#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
nodejs#24677
* The install-tools scripts or now included in the dist.
nodejs#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
nodejs#24655
PR-URL: nodejs#24854
Fixes: #23696
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes