hapijs / hapijs/code

Incorrect prototype check

Đang mở
#182 2 bình luận 1 reaction 0 người được giao Xem trên GitHub
support
Ngôn ngữ chính
JavaScript
Star
231
Fork
75
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

#### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.