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: nodejs#40516
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Qingyu Deng <i@ayase-lab.com>
  • Loading branch information
Hirotaka Tagawa / wafuwafu13 authored and Linkgoron committed Jan 31, 2022
1 parent c047be8 commit 77b7521
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:pass@xn--lck1c3crb1723bpq4a.com/a?a=b#c'
);

assert.strictEqual(
url.format(myURL, { auth: {} }),
'http://user:pass@xn--lck1c3crb1723bpq4a.com/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 77b7521

Please sign in to comment.