DataView instances with different contents compare as equal
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript, node.js
- Lĩnh vực
- backend, testing-qa
Hướng nghiên cứu
Đọc cách xử lý deepEqual cho ArrayBuffer và fallback so sánh các khóa enumerable riêng; issue cho biết hiện tại DataView đi đến fallback đó. Thêm một trường hợp tái hiện dựa trên ví dụ DataView được cung cấp và chạy các bài kiểm thử liên quan ở cả chế độ loose lẫn strict. Công việc hoàn tất khi các nội dung byte khác nhau được so sánh là không bằng nhau, đúng với hành vi assert.deepEqual của Node.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
deepEqual returns true for any two DataView instances regardless of their byte length, offset, or contents, in both loose and strict mode. Node's assert.deepEqual (which this package mirrors) compares DataView contents and fails when they differ. ArrayBuffer had the same issue in #94 before explicit support was added, while DataView still falls through to comparing own enumerable keys (of which it has none).
Reproduction (node repro.js):
const deepEqual = require("deep-equal");
const assert = require("assert");
const a = new DataView(new Uint8Array([1, 2, 3]).buffer);
const b = new DataView(new Uint8Array([4, 5, 6]).buffer);
console.log(deepEqual(a, b), deepEqual(a, b, { strict: true }));
try { assert.deepEqual(a, b); console.log("assert: equal"); } catch { console.log("assert: not equal"); }
Actual:
true true
assert: not equal
Expected:
false false
assert: not equal
Tested with deep-equal 2.2.3 (npm) and main (83701ada), Node v26.13.0.
Credit: https://ucsbplse.github.io/
- Ngôn ngữ chính
- JavaScript
- Star
- 792
- Fork
- 107
- Merge trung bình
- 9 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của inspect-js/node-deep-equal
-
breaking change in node 23Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
inspect-js/node-deep-equal#110 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
inspect-js/node-deep-equal#109 · 1 bình luận ·
-
Some unit tests don't make senseĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 25/100
inspect-js/node-deep-equal#108 · 5 bình luận ·
-
Dependency DashboardĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 15/100
Tất cả issue của inspect-js/node-deep-equal
Issue tương tự
-
ai core enhancement good first issue testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
cli: `studio --request <missing file>` answers with a raw ENOENT/EISDIR instead of a clear errorCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
laaielichter/Ai-edit-studio#81 ·
Maintainer thường phản hồi trong vòng 1 ngày