Est-ce que je fais quelque chose de mal ou est-ce que JSDOM manque complètement de support pour les styles en ligne en cascade?
Un exemple simple :
var doc = jsdom.jsdom('<html><body><div style="color: red;"><div id="nested"></div></div></body></html>');
var win = doc.defaultView;
var el = doc.getElementById('nested');
console.log(win.getComputedStyle(el, ''));
Sortir:
CSSStyleDeclaration {
'0': 'display',
_values: { display: 'block' },
_importants: { display: '' },
_length: 1,
_onChange: [Function] }
A titre de référence, voici le comportement du navigateur pour le même exemple :
JSDOM manque-t-il complètement de support pour les styles en ligne en cascade ?
C'est vrai autant que je sache. Personne n'a encore écrit quoi que ce soit pour traiter correctement la cascade.
Aïe... Cela ressemble à une tâche colossale ? En ce qui concerne la gestion des styles, il semble également qu'il n'y ait aucun type d'analyse de style en place dans getComputedStyle()
? Par exemple, le navigateur renvoie rgb(255, 0, 0)
pour la couleur dans l'exemple ci-dessus, tandis que jsdom renvoie red
.
Avez-vous une idée de quand/si cela sera corrigé ? Mes tests échouent car getComputedStyle renvoie la mauvaise valeur en raison du manque de cascade dans JSDOM.