Files
SnowLuma/.pnpm-store/v11/files/62/83cd205bc888d561dca5f8b1b47a74935ebe2fc10f9dbacd2b04fc5a7730463fdb6d9ed8738e24ed1aaf91fc263b107c5e7d10fa6e18a1da3d87ad9133d046
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

25 lines
903 B
Plaintext

'use strict'
const test = require('tape')
const fastURI = require('..')
test('WebSocket queries preserve additional question marks', (t) => {
for (const scheme of ['ws', 'wss']) {
const uri = `${scheme}://example.com/chat?a?b`
const truncatedURI = `${scheme}://example.com/chat?a`
const parsed = fastURI.parse(uri)
t.equal(parsed.resourceName, '/chat?a?b', `${scheme} parse preserves the resource name`)
t.equal(fastURI.serialize(parsed), uri, `${scheme} parsed components round-trip`)
t.equal(
fastURI.serialize({ scheme, host: 'example.com', resourceName: '/chat?a?b' }),
uri,
`${scheme} resource name serializes without truncation`
)
t.equal(fastURI.normalize(uri), uri, `${scheme} normalization preserves the full query`)
t.equal(fastURI.equal(uri, truncatedURI), false, `${scheme} equality distinguishes the full query`)
}
t.end()
})