Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion error does not state problematic parts for Maps #1228

Closed
pcorpet opened this issue Jan 22, 2019 · 10 comments · Fixed by #1401
Closed

Assertion error does not state problematic parts for Maps #1228

pcorpet opened this issue Jan 22, 2019 · 10 comments · Fixed by #1401

Comments

@pcorpet
Copy link
Contributor

pcorpet commented Jan 22, 2019

chai.expect(new Map([['a','a']])).to.deep.equal(new Map([['a','b']]))
// AssertionError: expected {} to deeply equal {}

As you can see it is not clear why it fails from the error message.

@keithamus
Copy link
Member

Thanks for this @pcorpet but we're very close to releasing a new version of the inspection engine: chaijs/loupe#14.

Once we get loupe@2 out we'll be updating Chai to use it, and it will replace all inspect code.

We really appreciate the work you've done here! I hope in closing this PR we don't dissuade you from making further contributions!

@pcorpet
Copy link
Contributor Author

pcorpet commented Jan 22, 2019

Hi @keithamus thanks for the update. As the bug is still there, can you keep the issue open, and close the PR instead?

@keithamus
Copy link
Member

Oops I thought I did that, sorry!

@keithamus keithamus reopened this Jan 22, 2019
@Hocdoc
Copy link

Hocdoc commented Jan 20, 2020

Will there be a solution for this issue in the next months?

@keithamus
Copy link
Member

chaijs/loupe#14 was merged, but the build is failing and needs some general maintainence to get it ready for a proper 2.0. I'm very short on free time so unable to pick this up right now, but perhaps I might find time in the next few months. Once loupe@2 is released it can be upgraded in chai and we can release a new version of that.

If anyone wants to help out, investigating build failures in loupe and submitting a PR to fix them would be a great start!

@pcorpet
Copy link
Contributor Author

pcorpet commented May 28, 2021

It seems that Loupe v2 is out, what's the next step @keithamus ?

@keithamus
Copy link
Member

The next step would be to somehow integrate it into the 4.x branch. It might be worth first adding it to the main branch - which will allow for breaking changes - then we can assess what breakages need to be smoothed over for 4.x

@flaambe
Copy link
Contributor

flaambe commented May 28, 2021

I tried to integrate the loup into chai, but unfortunately now I do not have enough time for this

pcorpet added a commit to pcorpet/chai that referenced this issue Jun 7, 2021
@pcorpet
Copy link
Contributor Author

pcorpet commented Jun 7, 2021

I've created a PR, please help me there to understand which changes are OK, and which ones are not

pcorpet added a commit to pcorpet/chai that referenced this issue Jun 7, 2021
pcorpet added a commit to pcorpet/chai that referenced this issue Jun 9, 2021
pcorpet added a commit to pcorpet/chai that referenced this issue Jun 10, 2021
pcorpet added a commit to pcorpet/chai that referenced this issue Jun 25, 2021
keithamus pushed a commit that referenced this issue Jun 27, 2021
pcorpet added a commit to pcorpet/chai that referenced this issue Jul 5, 2021
@pcorpet
Copy link
Contributor Author

pcorpet commented Jan 27, 2022

This is not way better now, if I introduce only one change in one value:

AssertionError: expected Map{ …(17) } to deeply equal Map{ …(17) }

Any idea how to fix?

keithamus added a commit that referenced this issue Feb 7, 2023
* Fixed a regression that caused SyntaxErrors on IE 11

The changes made in #1334 incorrectly used an arrow function and as this isn't supported on IE 11 it causes a SyntaxError to be thrown when loading chai.

* [email protected]

* export chai.Assertion (#1378)

* [email protected]

* fix: support inspecting bigints (#1321) (#1383)

* 4.3.4

* feat: use chaijs/loupe for inspection (#1401) (#1407)

Fix #1228

* fix: package.json - deprecation warning on exports field (#1400)

* fix package.json exports

* build(deps-dev): bump codecov from 3.1.0 to 3.7.1 (#1446)

Bumps [codecov](https://github.com/codecov/codecov-node) from 3.1.0 to 3.7.1.
- [Release notes](https://github.com/codecov/codecov-node/releases)
- [Changelog](https://github.com/codecov/codecov-node/blob/master/CHANGELOG.md)
- [Commits](codecov/codecov-node@v3.1.0...v3.7.1)

---
updated-dependencies:
- dependency-name: codecov
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build chaijs

* 4.3.5

* fix: use loupe@^2.3.1

* build chaijs

* 4.3.6

* fix: deep-eql bump package to support symbols comparison (#1483)

* 4.3.7

* build

* chore: 4.x.x: Fix link to commit logs on GitHub (#1487)

* 4.x.x: Fix link to commit logs on GitHub

As there is no `master` branch, the link returned a 404.

* Update History.md

Co-authored-by: Andre Meyering <[email protected]>

Co-authored-by: Keith Cirkel <[email protected]>

* build(deps): bump socket.io-parser from 4.0.4 to 4.0.5 (#1488)

Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](socketio/socket.io-parser@4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test: fix typo in test.js (#1459)

* docs: specify return type of objDisplay (#1490)

previously it was incorrectly labeled as `objDisplay(obj: object): void` in `@types/chai`.

* feat: rework into ES modules

This moves all of the sources to be ES modules rather than CommonJS.

In order to produce the entrypoints, we use esbuild as a bundler (and as
a transpiler in a way).

Due to the fact that some dependencies are written in CommonJS, we
actually use esbuild to create _two_ bundles: a CommonJS bundle, and an
ES module bundle.

Otherwise, someone importing the raw source would inevitably end up
trying to import a CommonJS module somewhere down the tree, which would
not work in browsers natively.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Lee Newson <[email protected]>
Co-authored-by: Keith Cirkel <[email protected]>
Co-authored-by: rbruckheimer <[email protected]>
Co-authored-by: Mike Frysinger <[email protected]>
Co-authored-by: Pascal Corpet <[email protected]>
Co-authored-by: Mimi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Scott Newcomer <[email protected]>
Co-authored-by: Andre Meyering <[email protected]>
Co-authored-by: Mavaddat Javid <[email protected]>
Co-authored-by: scarf <[email protected]>
Co-authored-by: James Garbutt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants