Files
node/deps/npm/test/lib/utils/replace-info.js
T
npm CLI robot b7c82a3480 deps: upgrade npm to 9.6.6
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>
2023-05-07 10:37:34 +00:00

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'
)