Skip to content

Commit 9aae767

Browse files
anonrigtargos
authored andcommittedMay 2, 2023
url: handle URL.canParse without base parameter
PR-URL: #47547 Reviewed-By: Debadree Chatterjee <[email protected]> Reviewed-By: Matthew Aitken <[email protected]> Reviewed-By: Robert Nagy <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
1 parent e8bc03b commit 9aae767

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed
 

‎src/node_url.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ void BindingData::DomainToUnicode(const FunctionCallbackInfo<Value>& args) {
115115

116116
// TODO(@anonrig): Add V8 Fast API for CanParse method
117117
void BindingData::CanParse(const FunctionCallbackInfo<Value>& args) {
118-
CHECK_GE(args.Length(), 2);
118+
CHECK_GE(args.Length(), 1);
119119
CHECK(args[0]->IsString()); // input
120120
// args[1] // base url
121121

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Flags: --expose-internals
2+
'use strict';
3+
4+
require('../common');
5+
6+
const { URL } = require('url');
7+
const assert = require('assert');
8+
9+
let internalBinding;
10+
try {
11+
internalBinding = require('internal/test/binding').internalBinding;
12+
} catch (e) {
13+
console.log('using `test/parallel/test-whatwg-url-canparse` requires `--expose-internals`');
14+
throw e;
15+
}
16+
17+
const { canParse } = internalBinding('url');
18+
19+
// It should not throw when called without a base string
20+
assert.strictEqual(URL.canParse('https://example.org'), true);
21+
assert.strictEqual(canParse('https://example.org'), true);

0 commit comments

Comments
 (0)
Please sign in to comment.