Estou fazendo algo errado ou o JSDOM está completamente sem suporte para estilos inline em cascata?
Um exemplo simples:
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, ''));
Saída:
CSSStyleDeclaration {
'0': 'display',
_values: { display: 'block' },
_importants: { display: '' },
_length: 1,
_onChange: [Function] }
Como referência, aqui o comportamento do navegador para o mesmo exemplo:
o JSDOM está completamente sem suporte para estilos inline em cascata?
Isso é verdade afaik. Ninguém escreveu nada para lidar adequadamente com a cascata ainda.
Ai... Isso soa como uma tarefa enorme? No que diz respeito à manipulação de estilo, também parece que não há nenhum tipo de análise de estilo em getComputedStyle()
? Por exemplo, o navegador retorna rgb(255, 0, 0)
para a cor no exemplo acima, enquanto jsdom retorna red
.
Alguma ideia de quando/se isso será corrigido? Meus testes estão falhando devido ao getComputedStyle retornar o valor errado devido à falta de cascata no JSDOM.