mirror of
https://github.com/musix-org/musix-oss
synced 2025-06-17 04:26:00 +00:00
opus
This commit is contained in:
37
node_modules/npm-normalize-package-bin/test/array.js
generated
vendored
Normal file
37
node_modules/npm-normalize-package-bin/test/array.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
const normalize = require('../')
|
||||
const t = require('tap')
|
||||
|
||||
t.test('benign array', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: ['./x/y', 'y/z', './a'] }
|
||||
const expect = { name: 'hello', version: 'world', bin: {
|
||||
y: 'x/y',
|
||||
z: 'y/z',
|
||||
a: 'a',
|
||||
} }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('conflicting array', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: ['./x/y', 'z/y', './a'] }
|
||||
const expect = { name: 'hello', version: 'world', bin: {
|
||||
y: 'z/y',
|
||||
a: 'a',
|
||||
} }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('slashy array', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: [ '/etc/passwd' ] }
|
||||
const expect = { name: 'hello', version: 'world', bin: { passwd: 'etc/passwd' } }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('dotty array', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: ['../../../../etc/passwd'] }
|
||||
const expect = { name: 'hello', version: 'world', bin: { passwd: 'etc/passwd' } }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
35
node_modules/npm-normalize-package-bin/test/nobin.js
generated
vendored
Normal file
35
node_modules/npm-normalize-package-bin/test/nobin.js
generated
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
const normalize = require('../')
|
||||
const t = require('tap')
|
||||
|
||||
// all of these just delete the bins, so expect the same value
|
||||
const expect = { name: 'hello', version: 'world' }
|
||||
|
||||
t.test('no bin in object', async t => {
|
||||
const pkg = { name: 'hello', version: 'world' }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('empty string bin in object', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: '' }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('false bin in object', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: false }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('null bin in object', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: null }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('number bin', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: 42069 }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
141
node_modules/npm-normalize-package-bin/test/object.js
generated
vendored
Normal file
141
node_modules/npm-normalize-package-bin/test/object.js
generated
vendored
Normal file
@ -0,0 +1,141 @@
|
||||
const normalize = require('../')
|
||||
const t = require('tap')
|
||||
|
||||
t.test('benign object', async t => {
|
||||
// just clean up the ./ in the targets and remove anything weird
|
||||
const pkg = { name: 'hello', version: 'world', bin: {
|
||||
y: './x/y',
|
||||
z: './y/z',
|
||||
a: './a',
|
||||
} }
|
||||
const expect = { name: 'hello', version: 'world', bin: {
|
||||
y: 'x/y',
|
||||
z: 'y/z',
|
||||
a: 'a',
|
||||
} }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('empty and non-string targets', async t => {
|
||||
// just clean up the ./ in the targets and remove anything weird
|
||||
const pkg = { name: 'hello', version: 'world', bin: {
|
||||
z: './././',
|
||||
y: '',
|
||||
'./x': 'x.js',
|
||||
re: /asdf/,
|
||||
foo: { bar: 'baz' },
|
||||
false: false,
|
||||
null: null,
|
||||
array: [1,2,3],
|
||||
func: function () {},
|
||||
} }
|
||||
const expect = { name: 'hello', version: 'world', bin: {
|
||||
x: 'x.js',
|
||||
} }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('slashy object', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: {
|
||||
'/path/foo': '/etc/passwd',
|
||||
'bar': '/etc/passwd',
|
||||
'/etc/glorb/baz': '/etc/passwd',
|
||||
'/etc/passwd:/bin/usr/exec': '/etc/passwd',
|
||||
} }
|
||||
const expect = {
|
||||
name: 'hello',
|
||||
version: 'world',
|
||||
bin: {
|
||||
foo: 'etc/passwd',
|
||||
bar: 'etc/passwd',
|
||||
baz: 'etc/passwd',
|
||||
exec: 'etc/passwd',
|
||||
}
|
||||
}
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('dotty object', async t => {
|
||||
const pkg = {
|
||||
name: 'hello',
|
||||
version: 'world',
|
||||
bin: {
|
||||
'nodots': '../../../../etc/passwd',
|
||||
'../../../../../../dots': '../../../../etc/passwd',
|
||||
'.././../\\./..//C:\\./': 'this is removed',
|
||||
'.././../\\./..//C:\\/': 'super safe programming language',
|
||||
'.././../\\./..//C:\\x\\y\\z/': 'xyz',
|
||||
} }
|
||||
const expect = { name: 'hello', version: 'world', bin: {
|
||||
nodots: 'etc/passwd',
|
||||
dots: 'etc/passwd',
|
||||
C: 'super safe programming language',
|
||||
z: 'xyz',
|
||||
} }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('weird object', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: /asdf/ }
|
||||
const expect = { name: 'hello', version: 'world' }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('oddball keys', async t => {
|
||||
const pkg = {
|
||||
bin: {
|
||||
'~': 'target',
|
||||
'£': 'target',
|
||||
'ζ': 'target',
|
||||
'ぎ': 'target',
|
||||
'操': 'target',
|
||||
'🎱': 'target',
|
||||
'💎': 'target',
|
||||
'💸': 'target',
|
||||
'🦉': 'target',
|
||||
'сheck-dom': 'target',
|
||||
'Ωpm': 'target',
|
||||
'ζλ': 'target',
|
||||
'мга': 'target',
|
||||
'пше': 'target',
|
||||
'тзч': 'target',
|
||||
'тзь': 'target',
|
||||
'нфкт': 'target',
|
||||
'ссср': 'target',
|
||||
'君の名は': 'target',
|
||||
'君の名は': 'target',
|
||||
}
|
||||
}
|
||||
|
||||
const expect = {
|
||||
bin: {
|
||||
'~': 'target',
|
||||
'£': 'target',
|
||||
'ζ': 'target',
|
||||
'ぎ': 'target',
|
||||
'操': 'target',
|
||||
'🎱': 'target',
|
||||
'💎': 'target',
|
||||
'💸': 'target',
|
||||
'🦉': 'target',
|
||||
'сheck-dom': 'target',
|
||||
'Ωpm': 'target',
|
||||
'ζλ': 'target',
|
||||
'мга': 'target',
|
||||
'пше': 'target',
|
||||
'тзч': 'target',
|
||||
'тзь': 'target',
|
||||
'нфкт': 'target',
|
||||
'ссср': 'target',
|
||||
'君の名は': 'target',
|
||||
},
|
||||
}
|
||||
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
37
node_modules/npm-normalize-package-bin/test/string.js
generated
vendored
Normal file
37
node_modules/npm-normalize-package-bin/test/string.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
const normalize = require('../')
|
||||
const t = require('tap')
|
||||
|
||||
t.test('benign string', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: 'hello.js' }
|
||||
const expect = { name: 'hello', version: 'world', bin: { hello: 'hello.js' } }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('slashy string', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: '/etc/passwd' }
|
||||
const expect = { name: 'hello', version: 'world', bin: { hello: 'etc/passwd' } }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('dotty string', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: '../../../../etc/passwd' }
|
||||
const expect = { name: 'hello', version: 'world', bin: { hello: 'etc/passwd' } }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('double path', async t => {
|
||||
const pkg = { name: 'hello', version: 'world', bin: '/etc/passwd:/bin/usr/exec' }
|
||||
const expect = { name: 'hello', version: 'world', bin: { hello: 'etc/passwd:/bin/usr/exec' } }
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
||||
|
||||
t.test('string with no name', async t => {
|
||||
const pkg = { bin: 'foobar.js' }
|
||||
const expect = {}
|
||||
t.strictSame(normalize(pkg), expect)
|
||||
t.strictSame(normalize(normalize(pkg)), expect, 'double sanitize ok')
|
||||
})
|
Reference in New Issue
Block a user