Problem with spies
- Ngôn ngữ chính
- JavaScript
- Star
- 690
- Fork
- 25
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I'm trying to spy on `removeChild` in a test - I have a `parent` node being modified like this:
```
let removals = 0;
let removeChild = parent.removeChild.bind(parent);
parent.removeChild = (child) => {
removals += 1;
return removeChild(child);
};
```
To my surprise, it was counting way too many calls to `removeChild`.
It turns out, several of these methods are being called internally, for brevity.
The real DOM does not call it's own public methods, afaik? If it needs to remove children for other reasons than calls to `removeChild`, it does not internally call the method, it just removed them.
How would you feel about moving the internally reused methods to private methods?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu từ phần triển khai của parent.removeChild và lần theo các phương thức DOM khác gọi nó nội bộ. Xác định các thao tác được tái sử dụng nội bộ cần bỏ qua các phương thức công khai, sau đó kiểm tra rằng các lệnh gọi removeChild tường minh vẫn có thể quan sát được, trong khi các lần xóa nội bộ không còn làm tăng bộ đếm.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript
- Lĩnh vực
- web-dev
- Loại issue
- Tái cấu trúc
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100