mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
PR-URL: https://github.com/nodejs/node/pull/47862 Reviewed-By: Debadree Chatterjee <debadree333@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luke Karrys <luke@lukekarrys.com>
117 lines
2.7 KiB
JavaScript
117 lines
2.7 KiB
JavaScript
const t = require('tap')
|
|
const replaceInfo = require('../../../lib/utils/replace-info.js')
|
|
|
|
t.equal(
|
|
replaceInfo(),
|
|
undefined,
|
|
'should return undefined item'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo(null),
|
|
null,
|
|
'should return null'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo(1234),
|
|
1234,
|
|
'should return numbers'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo(' == = = '),
|
|
' == = = ',
|
|
'should return same string with only separators'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo(''),
|
|
'',
|
|
'should return empty string'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo('https://user:pass@registry.npmjs.org/'),
|
|
'https://user:***@registry.npmjs.org/',
|
|
'should replace single item'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo(`https://registry.npmjs.org/path/npm_${'a'.repeat('36')}`),
|
|
'https://registry.npmjs.org/path/npm_***',
|
|
'should replace single item token'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo('https://example.npmjs.org'),
|
|
'https://example.npmjs.org',
|
|
'should not replace single item with no password'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo('foo bar https://example.npmjs.org lorem ipsum'),
|
|
'foo bar https://example.npmjs.org lorem ipsum',
|
|
'should not replace single item with no password with multiple items'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo('https://user:pass@registry.npmjs.org/ http://a:b@reg.github.com'),
|
|
'https://user:***@registry.npmjs.org/ http://a:***@reg.github.com/',
|
|
'should replace multiple items on a string'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo('Something https://user:pass@registry.npmjs.org/ foo bar'),
|
|
'Something https://user:***@registry.npmjs.org/ foo bar',
|
|
'should replace single item within a phrase'
|
|
)
|
|
|
|
t.equal(
|
|
replaceInfo('Something --x=https://user:pass@registry.npmjs.org/ foo bar'),
|
|
'Something --x=https://user:***@registry.npmjs.org/ foo bar',
|
|
'should replace single item within a phrase separated by ='
|
|
)
|
|
|
|
t.same(
|
|
replaceInfo([
|
|
'Something https://user:pass@registry.npmjs.org/ foo bar',
|
|
'http://foo:bar@registry.npmjs.org',
|
|
'http://example.npmjs.org',
|
|
]),
|
|
[
|
|
'Something https://user:***@registry.npmjs.org/ foo bar',
|
|
'http://foo:***@registry.npmjs.org/',
|
|
'http://example.npmjs.org',
|
|
],
|
|
'should replace items in an array'
|
|
)
|
|
|
|
t.same(
|
|
replaceInfo([
|
|
'Something --x=https://user:pass@registry.npmjs.org/ foo bar',
|
|
'--url=http://foo:bar@registry.npmjs.org',
|
|
'--url=http://example.npmjs.org',
|
|
]),
|
|
[
|
|
'Something --x=https://user:***@registry.npmjs.org/ foo bar',
|
|
'--url=http://foo:***@registry.npmjs.org/',
|
|
'--url=http://example.npmjs.org',
|
|
],
|
|
'should replace items in an array with equals'
|
|
)
|
|
|
|
t.same(
|
|
replaceInfo([
|
|
'Something https://user:pass@registry.npmjs.org/ foo bar',
|
|
null,
|
|
[],
|
|
]),
|
|
[
|
|
'Something https://user:***@registry.npmjs.org/ foo bar',
|
|
null,
|
|
[],
|
|
],
|
|
'should ignore invalid items of array'
|
|
)
|