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

ClientHeight w testach.

VPS Starter Arubacloud
0 głosów
172 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 306 wizyt
pytanie zadane 5 marca 2022 w JavaScript przez Us Użytkownik (880 p.)
0 głosów
0 odpowiedzi 337 wizyt
+1 głos
3 odpowiedzi 111 wizyt
pytanie zadane 22 czerwca 2021 w JavaScript przez ITshnyk Obywatel (1,800 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...