First commit

This commit is contained in:
2025-10-08 11:12:59 -04:00
commit b0605a28a9
820 changed files with 100317 additions and 0 deletions

View File

@ -0,0 +1,52 @@
'use strict'
const tap = require('tap')
const readHexString = require('./read-hex-string')
tap.test('throws for invalid hex pair', async t => {
let input = Buffer.from('1z2f')
t.throws(
() => readHexString({ searchBuffer: input, startPos: 0 }),
'invalid hex pair encountered: 0x1z'
)
input = Buffer.from('a0b1g692')
t.throws(
() => readHexString({ searchBuffer: input, startPos: 0 }),
'invalid hex pair encountered: 0xg6'
)
})
tap.test('handles incorrect length string', async t => {
const input = Buffer.from('a1b')
t.throws(
() => readHexString({ searchBuffer: input, startPos: 0 }),
'invalid hex pair encountered: 0xb'
)
})
tap.test('reads hex string', async t => {
let input = Buffer.from('0403666f6f')
let result = readHexString({ searchBuffer: input, startPos: 0 })
t.equal(result.endPos, 10)
t.equal(result.berReader.readString(), 'foo')
input = Buffer.from('uid=#0409746573742E75736572')
result = readHexString({ searchBuffer: input, startPos: 5 })
t.equal(result.endPos, input.byteLength)
t.equal(result.berReader.readString(), 'test.user')
})
tap.test('stops on end chars', async t => {
const inputs = [
Buffer.from('0403666f6f foo'),
Buffer.from('0403666f6f+foo'),
Buffer.from('0403666f6f,foo'),
Buffer.from('0403666f6f;foo')
]
for (const input of inputs) {
const result = readHexString({ searchBuffer: input, startPos: 0 })
t.equal(result.endPos, 10)
t.equal(result.berReader.readString(), 'foo')
}
})