Files
Gemini-Search/node_modules/postgres-bytea/decoder-test.js
Ammaar Reshi d6025af146 Initial commit
2025-01-04 14:06:53 +00:00

30 lines
818 B
JavaScript

'use strict'
const test = require('tape-promise').default(require('tape'))
const { Readable } = require('stream')
const streamToPromise = require('stream-to-promise')
const Decoder = require('./decoder')
test('decoder', (t) => {
t.test('input cuts at chunk boundary', async (t) => {
const input = [...Buffer.from('\\\\x616263').values()]
for (let i = 1; i < input.length; i++) {
const result = await streamToPromise(Readable.from([input.slice(0, i), input.slice(i)].map(Buffer.from)).pipe(new Decoder()))
t.equal(result.toString(), 'abc', `i=${i}`)
}
})
t.test('fails if not prefixed with \\\\x', async (t) => {
const dest = new Decoder()
const promise = streamToPromise(dest)
dest.write(Buffer.from('616263'))
await t.rejects(promise, /prefix/)
})
t.end()
})