developit / developit/undom

Problem with spies

Ouverte
#35 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
690
Forks
25
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par l’implémentation de parent.removeChild et suivez les autres méthodes DOM qui l’appellent en interne. Identifiez les opérations réutilisées en interne qui devraient contourner les méthodes publiques, puis vérifiez que les appels explicites à removeChild restent observables, tandis que les suppressions internes n’augmentent plus le compteur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
web-dev
Type d'issue
Refactorisation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.