Apakah saya melakukan sesuatu yang salah, atau apakah JSDOM benar-benar kekurangan dukungan untuk gaya sebaris berjenjang?
Contoh sederhana:
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, ''));
Keluaran:
CSSStyleDeclaration {
'0': 'display',
_values: { display: 'block' },
_importants: { display: '' },
_length: 1,
_onChange: [Function] }
Sebagai referensi, berikut perilaku browser untuk contoh yang sama:
apakah JSDOM benar-benar kekurangan dukungan untuk gaya sebaris berjenjang?
Itu benar afaik. Belum ada yang menulis apa pun untuk menangani cascading dengan benar.
Aduh... Kedengarannya seperti tugas besar? Sejauh penanganan gaya berjalan, sepertinya tidak ada penguraian gaya apa pun di getComputedStyle()
? Misalnya, browser mengembalikan rgb(255, 0, 0)
untuk warna dalam contoh di atas, sementara jsdom mengembalikan red
.
Adakah ide kapan/jika ini akan diperbaiki? Pengujian saya gagal karena getComputedStyle mengembalikan nilai yang salah karena kurangnya cascading di JSDOM.