Keď hovoríme o “skrytých bielych znakoch” (medzery, tabulátory, nezlomiteľné medzery a pod.), ide o vstupy, ktoré sú vizuálne prázdne, no môžu obchádzať validačné pravidlá (napr. keď používateľ zadá do povinného poľa iba pár medzier). Tu je, ako ich otestovať:
- Jednoduché medzery
- Do každého textového poľa vložte napr. “ “ (4 obyčajné medzery).
- Očakávanie: pole by sa malo považovať za “prázdne” a hlásiť chybu „Pole je povinné“.
- Tabulátory
- Skopírujte znak tabulátora (↹) viackrát a vložte ho do poľa.
- Očakávanie: rovnako ako medzery, validátor by mal trimovať alebo považovať vstup za neplatný.
- Nezlomiteľné medzery ( )
- Vložte do poľa znak (HTML nezlomiteľná medzera) alebo jeho Unicode ekvivalent U+00A0.
- Očakávanie: aplikácia musí tieto znaky trimovať rovnako ako bežné medzery, resp. považovať za prázdne.
- Kombinácie bielych znakov
- Skombinujte medzery, taby a nové riadky (\n, \r\n) do jedného reťazca a vložte ho.
- Očakávanie: ak je pole povinné, musí hlásiť chybu; ak sú vstupy nepovinné, trimované hodnoty sa odosielajú ako prázdne.
- Neviditeľné Unicode znaky
- Vyskúšajte “zero-width space” (U+200B) alebo „zero-width no-break space“ (U+FEFF).
- Očakávanie: systém by mal tieto znaky odstrániť počas sanitizácie, aby sa predišlo zneužitiu (napr. v XSS útokoch) a zároveň neumožili vytvoriť “neviditeľný” vstup.
- Automatizované testy
- V skriptoch (Selenium, Cypress) naprogramujte testy, ktoré do polí pošlú rôzne biele znaky a potom overia chybové hlásenia.
- Overte, že API (ak existuje) tiež trimuje alebo validuje tieto znaky na serverovej strane.
- Edge-case scenáre
- Vloženie bielych znakov okolo platných údajov: “ John Doe “ – malo by sa trimovať na „John Doe“.
- Vstupy pozostávajúce výhradne z bielych znakov a diakritiky (napr. č ) – validátor by mal najprv trimovať a potom kontrolovať, či zostáva nejaký platný text.
Tým, že tieto scenáre otestujete, zabezpečíte, že formulár neakceptuje “prázdne” ale technicky ne-null vstupy, a zároveň správne spracuje legitímne údaje s okrajovými znakmi.
