Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Functions that use Buffer will have TypeError in jest unit testing

Abierto
#289 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
web-dev

Línea de trabajo

Reproduce la función reportada en Jest con testEnvironment configurado como jsdom, usando buffer ^6.0.3 y una entrada ArrayBuffer. Inspecciona cómo fromObject de buffer-es6 gestiona ese valor y compara los entornos jsdom y Node; se considera terminado cuando la función basada en Buffer ya no lanza el TypeError reportado bajo jsdom.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

My function contains the following code :

// data here is a Buffer obj  example: data = Buffer('xxxx', 'base64')
var isBuffer = typeof data.readUInt32BE === 'function' && typeof data.slice === 'function';
if (isBuffer) {
    this.highStart = data.readUInt32BE(0);
    this.errorValue = data.readUInt32BE(4);
    uncompressedLength = data.readUInt32BE(8);
    data = data.slice(12);
  } else {
    var view = new DataView(data.buffer);
    this.highStart = view.getUint32(0);
    this.errorValue = view.getUint32(4);
    uncompressedLength = view.getUint32(8);
    data = data.subarray(12);
  } // double inflate the actual trie data

I use "buffer": "^6.0.3"

I wrote a jest unit test for my function. It can pass when I run in the node environment, but if I set testEnvironment to jsdom, an error will appear as shown in the figure below.

image

Debug found that it seems that fromObject in buffer-es6 cannot handle this ArrayBuffer object. Is there any good way to circumvent this problem?

image

I don’t know if this is a jsdom problem or a Buffer problem?

Lenguaje dominante
JavaScript
Estrellas
1.9k
Forks
260
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de feross/buffer

Todos los issues de feross/buffer

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.