hapijs / hapijs/code

Incorrect prototype check

Abierto
#182 2 comentarios 1 reacción 0 asignados Ver en GitHub
support
Lenguaje dominante
JavaScript
Estrellas
231
Forks
75
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

#### Support plan

* *is this issue currently blocking your project?* yes
* *is this issue affecting a production system?* no

#### Context

* *node version*: 18.x
* *module version with issue*: 9.0.3
* *last module version without issue*: NA
* *environment* (e.g. node, browser, native): node
* *used with* `@hapi/lab@25.1.2`
* *any other relevant information*: NA

#### What are you trying to achieve or the steps to reproduce?

The module does not ignore the prototype during a comparison.

```js
const Code = require('@hapi/code');

const noProto = Object.create(null);
noProto.a = Object.create(null);
noProto.a.b = 1;

Code.settings.comparePrototypes = false;
Code.expect([noProto]).to.once.include({ a: { b: 1 } });
```

** By using simple objects `{}` the comparison works as expected.

#### What was the result you got?

```
/Users/manuel_spigolon/dev/misc/hapi/code/lib/index.js:139
throw error;
^

Error: Expected [ [Object: null prototype] { a: [Object: null prototype] { b: 1 } } ] to include { a: { b: 1 } } once
at internals.Assertion.internals.include (/Users/manuel_spigolon/dev/misc/hapi/code/lib/index.js:239:17)
at Object. (/Users/manuel_spigolon/dev/misc/hapi/code/asd.js:8:32)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
at Module.load (node:internal/modules/cjs/loader:1033:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:22:47 {
actual: undefined,
expected: undefined,
}
```

#### What result did you expect?

No error due to the default `comparePrototypes = false` setting

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.