23 行
652 B
TypeScript
23 行
652 B
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import { resolveLinkPolicy } from '../src/linkPolicy'
|
|
|
|
test('link policy keeps web links inside and routes only safe system schemes outside', () => {
|
|
assert.deepEqual(resolveLinkPolicy('https://example.test'), {
|
|
action: 'allow',
|
|
})
|
|
assert.deepEqual(resolveLinkPolicy('tel:10086'), {
|
|
action: 'external',
|
|
})
|
|
assert.deepEqual(resolveLinkPolicy('javascript:alert(1)'), {
|
|
action: 'deny',
|
|
})
|
|
assert.deepEqual(resolveLinkPolicy('intent://unsafe'), {
|
|
action: 'deny',
|
|
})
|
|
assert.deepEqual(resolveLinkPolicy('custom://unknown'), {
|
|
action: 'deny',
|
|
})
|
|
})
|