• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

ClientHeight w testach.

Object Storage Arubacloud
0 głosów
175 wizyt
pytanie zadane 4 marca 2018 w JavaScript przez Filip31411 Dyskutant (8,820 p.)
Cześć. Piszę testy dla klasy javascriptu. Najpierw sztucznie wstrzykuję potrzebne elementy do document.body, pobieram je do obiektu i przekazuję konstruktorowi. Potem event podpięty do jednego z elementów (w konstruktorze) wywołuje metodę klasy, która korzysta z wartości clientHeight.

Problem polega na tym, że cały czas zwraca ona 0, nieważne że przed tym przypiszę jakąś wysokość do elementu za pomocą style.height. Jak obejść takie zachowanie, gdy kod js nie jest odpalany w przeglądarce a w test runnerze (używam Jest)?
komentarz 12 marca 2018 przez Filip31411 Dyskutant (8,820 p.)

Znalazłem narzędzie o nazwie JSDOM, ale nie wiem czy kod ma tak wyglądać, bo dalej zwraca to samo:

import { JSDOM } from 'jsdom';

const dom = new JSDOM('<div class="some-div"></div>');

const window = dom.window;
const document = window.document;

it('Sets height', () => {
  const someDiv = document.querySelector('.some-div');
  someDiv.style.height = "20px";

  expect(someDiv.clientHeight).toBe(20); // Zwraca 0
});

Może niejasno opisałem o co mi chodzi, myślę że w powyższym teście wszystko ładnie widać :)

Trudno znaleźć jakiekolwiek informacje na ten temat.

1 odpowiedź

0 głosów
odpowiedź 4 marca 2018 przez wo997 Nowicjusz (180 p.)
Jeśli możesz to pokaż część skryptów
komentarz 4 marca 2018 przez Filip31411 Dyskutant (8,820 p.)
Po prostu mam element któremu przypisuję style.height na np. "20px". I potem gdy chcę pobrać z niego wysokość za pomocą clientHeight to zwraca 0, gdy pobieram za pomocą style.height działa zwracając "20px".
komentarz 4 marca 2018 przez Filip31411 Dyskutant (8,820 p.)
Nie o to chodzi.

Podobne pytania

0 głosów
0 odpowiedzi 325 wizyt
pytanie zadane 5 marca 2022 w JavaScript przez Us Użytkownik (880 p.)
0 głosów
0 odpowiedzi 363 wizyt
+1 głos
3 odpowiedzi 117 wizyt
pytanie zadane 22 czerwca 2021 w JavaScript przez ITshnyk Obywatel (1,800 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...