denoland / denoland/std

`assertEquals` throws when comparing unique symbols without showing the difference

Open
#3,370 2 comments 0 reactions 0 assignees View on GitHub
bug needs triage
Dominant language
TypeScript
Stars
3.6k
Forks
681
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**

When two objects contain two unique symbols, `assertEquals` throws without any meaningful explanation.

**Steps to Reproduce**

```js
import {assertEquals} from "https://deno.land/std@0.186.0/testing/asserts.ts";
assertEquals(Symbol(), Symbol());
```

results in the following error:

```
[Diff] Actual / Expected

Symbol()
```

**Expected behavior**

Whether the function should throw is up for debate I think. But the current error message is rather unclear.
This is just a simple example comparing two symbols, but the way I found out about this was because I was comparing two large structures where only a single symbol property was different.

**Environment**

- OS: 22.10
- deno version: `1.32.1`
- std version: `0.186.0`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.