Skip to content

Commit

Permalink
test: add auth option case for url.format
Browse files Browse the repository at this point in the history
PR-URL: #40516
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Qingyu Deng <[email protected]>
  • Loading branch information
Hirotaka Tagawa / wafuwafu13 authored and danielleadams committed Dec 13, 2021
1 parent f18aa14 commit de1748a
Showing 1 changed file with 45 additions and 20 deletions.
65 changes: 45 additions & 20 deletions test/parallel/test-url-format-whatwg.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ if (!common.hasIntl)
const assert = require('assert');
const url = require('url');

const myURL = new URL('http://xn--lck1c3crb1723bpq4a.com/a?a=b#c');
const myURL = new URL('http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c');

assert.strictEqual(
url.format(myURL),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, {}),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

{
Expand All @@ -36,82 +36,107 @@ assert.strictEqual(
// Any falsy value other than undefined will be treated as false.
// Any truthy value will be treated as true.

assert.strictEqual(
url.format(myURL, { auth: false }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { auth: '' }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { auth: 0 }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { auth: 1 }),
'http://user:[email protected]/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { auth: {} }),
'http://user:[email protected]/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { fragment: false }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b'
);

assert.strictEqual(
url.format(myURL, { fragment: '' }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b'
);

assert.strictEqual(
url.format(myURL, { fragment: 0 }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b'
);

assert.strictEqual(
url.format(myURL, { fragment: 1 }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { fragment: {} }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { search: false }),
'http://xn--lck1c3crb1723bpq4a.com/a#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a#c'
);

assert.strictEqual(
url.format(myURL, { search: '' }),
'http://xn--lck1c3crb1723bpq4a.com/a#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a#c'
);

assert.strictEqual(
url.format(myURL, { search: 0 }),
'http://xn--lck1c3crb1723bpq4a.com/a#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a#c'
);

assert.strictEqual(
url.format(myURL, { search: 1 }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { search: {} }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { unicode: true }),
'http://理容ナカムラ.com/a?a=b#c'
'http://user:pass@理容ナカムラ.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { unicode: 1 }),
'http://理容ナカムラ.com/a?a=b#c'
'http://user:pass@理容ナカムラ.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { unicode: {} }),
'http://理容ナカムラ.com/a?a=b#c'
'http://user:pass@理容ナカムラ.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { unicode: false }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { unicode: 0 }),
'http://xn--lck1c3crb1723bpq4a.com/a?a=b#c'
'http://user:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(new URL('http://xn--0zwm56d.com:8080/path'), { unicode: true }),
'http://测试.com:8080/path'
url.format(new URL('http://user:pass@xn--0zwm56d.com:8080/path'), { unicode: true }),
'http://user:pass@测试.com:8080/path'
);

0 comments on commit de1748a

Please sign in to comment.