developit / developit/undom

Problem with spies

Aperta
#35 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
690
Fork
25
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dall’implementazione di parent.removeChild e traccia gli altri metodi DOM che lo invocano internamente. Individua le operazioni riutilizzate internamente che dovrebbero bypassare i metodi pubblici, quindi verifica che le chiamate esplicite a removeChild rimangano osservabili, mentre le rimozioni interne non incrementino più il conteggio.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
web-dev
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.